#include <linux/kref.h>
 #include <linux/of.h>
 #include <uapi/sound/asound.h>
+#include <uapi/sound/compress_params.h>
 #include <linux/delay.h>
 #include <linux/slab.h>
 #include <linux/mm.h>
 #define ASM_PARAM_ID_ENCDEC_ENC_CFG_BLK_V2     0x00010DA3
 #define ASM_SESSION_CMD_RUN_V2                 0x00010DAA
 #define ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V2     0x00010DA5
+#define ASM_MEDIA_FMT_MP3                      0x00010BE9
 #define ASM_DATA_CMD_WRITE_V2                  0x00010DAB
 #define ASM_DATA_CMD_READ_V2                   0x00010DAC
 #define ASM_SESSION_CMD_SUSPEND                        0x00010DEC
        open->postprocopo_id = ASM_NULL_POPP_TOPOLOGY;
 
        switch (format) {
+       case SND_AUDIOCODEC_MP3:
+               open->dec_fmt_id = ASM_MEDIA_FMT_MP3;
+               break;
        case FORMAT_LINEAR_PCM:
                open->dec_fmt_id = ASM_MEDIA_FMT_MULTI_CHANNEL_PCM_V2;
                break;