q6afe_slim_port_prepare(dai_data->port[dai->id],
                                        &dai_data->port_config[dai->id].slim);
                break;
+       case QUINARY_MI2S_RX ... QUINARY_MI2S_TX:
        case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX:
                rc = q6afe_i2s_port_prepare(dai_data->port[dai->id],
                               &dai_data->port_config[dai->id].i2s_cfg);
        {"Secondary MI2S Playback", NULL, "SEC_MI2S_RX"},
        {"Tertiary MI2S Playback", NULL, "TERT_MI2S_RX"},
        {"Quaternary MI2S Playback", NULL, "QUAT_MI2S_RX"},
+       {"Quinary MI2S Playback", NULL, "QUIN_MI2S_RX"},
 
        {"Primary TDM0 Playback", NULL, "PRIMARY_TDM_RX_0"},
        {"Primary TDM1 Playback", NULL, "PRIMARY_TDM_RX_1"},
        {"PRI_MI2S_TX", NULL, "Primary MI2S Capture"},
        {"SEC_MI2S_TX", NULL, "Secondary MI2S Capture"},
        {"QUAT_MI2S_TX", NULL, "Quaternary MI2S Capture"},
+       {"QUIN_MI2S_TX", NULL, "Quinary MI2S Capture"},
 
        {"WSA_CODEC_DMA_RX_0 Playback", NULL, "WSA_CODEC_DMA_RX_0"},
        {"WSA_CODEC_DMA_TX_0", NULL, "WSA_CODEC_DMA_TX_0 Capture"},
                .ops = &q6i2s_ops,
                .probe = msm_dai_q6_dai_probe,
                .remove = msm_dai_q6_dai_remove,
+       }, {
+               .playback = {
+                       .stream_name = "Quinary MI2S Playback",
+                       .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
+                       SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_96000 |
+                       SNDRV_PCM_RATE_192000,
+                       .formats = SNDRV_PCM_FMTBIT_S16_LE,
+                       .channels_min = 1,
+                       .channels_max = 8,
+                       .rate_min =     8000,
+                       .rate_max =     192000,
+               },
+               .id = QUINARY_MI2S_RX,
+               .name = "QUIN_MI2S_RX",
+               .ops = &q6i2s_ops,
+               .probe = msm_dai_q6_dai_probe,
+               .remove = msm_dai_q6_dai_remove,
+       }, {
+               .capture = {
+                       .stream_name = "Quinary MI2S Capture",
+                       .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
+                                SNDRV_PCM_RATE_16000,
+                       .formats = SNDRV_PCM_FMTBIT_S16_LE,
+                       .channels_min = 1,
+                       .channels_max = 8,
+                       .rate_min =     8000,
+                       .rate_max =     48000,
+               },
+               .id = QUINARY_MI2S_TX,
+               .name = "QUIN_MI2S_TX",
+               .ops = &q6i2s_ops,
+               .probe = msm_dai_q6_dai_probe,
+               .remove = msm_dai_q6_dai_remove,
        },
        Q6AFE_TDM_PB_DAI("Primary", 0, PRIMARY_TDM_RX_0),
        Q6AFE_TDM_PB_DAI("Primary", 1, PRIMARY_TDM_RX_1),
        SND_SOC_DAPM_AIF_OUT("SLIMBUS_4_TX", NULL, 0, SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_OUT("SLIMBUS_5_TX", NULL, 0, SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_OUT("SLIMBUS_6_TX", NULL, 0, SND_SOC_NOPM, 0, 0),
+       SND_SOC_DAPM_AIF_IN("QUIN_MI2S_RX", NULL,
+                                               0, SND_SOC_NOPM, 0, 0),
+       SND_SOC_DAPM_AIF_OUT("QUIN_MI2S_TX", NULL,
+                                               0, SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_IN("QUAT_MI2S_RX", NULL,
                                                0, SND_SOC_NOPM, 0, 0),
        SND_SOC_DAPM_AIF_OUT("QUAT_MI2S_TX", NULL,
 
                switch (id) {
                /* MI2S specific properties */
+               case QUINARY_MI2S_RX ... QUINARY_MI2S_TX:
                case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX:
                        priv = &data->priv[id];
                        ret = of_property_read_variable_u32_array(node,