Hi Tony > > This looks a little bit strange for me. > > Can you show me your DT for it ? > > Sure, adding also Sebastian to Cc. Here's what I currently have for droid 4 > dts with two codecs on I2S. Please just ignore the GNSS parts there.. > > The TDM configuration is all done in the cpcap_audio_codec via set_tdm_slot(). > The modem voice call codec is a serdev driver :) I'll need some more time to > be able to post patches but it's basically working for voice calls. Hmm... it seems strange... I guess you are using "ti,omap4-mcbsp" driver (= linux/sound/soc/omap/omap-mcbsp.c) Is this correct ? If so, your driver is registering component as ret = devm_snd_soc_register_component(&pdev->dev, &omap_mcbsp_component, &omap_mcbsp_dai, 1); Your driver has only 1 DAI. > mcbsp3_port: port { > - cpu_dai3: endpoint { > + cpu_dai3: endpoint@0 { > dai-format = "dsp_a"; > frame-master = <&cpcap_audio_codec1>; > bitclock-master = <&cpcap_audio_codec1>; > remote-endpoint = <&cpcap_audio_codec1>; > }; > + cpu_dai_mdm: endpoint@1 { > + dai-format = "dsp_a"; > + frame-master = <&cpcap_audio_codec1>; > + bitclock-master = <&cpcap_audio_codec1>; > + remote-endpoint = <&mot_mdm6600_audio_codec0>; > + }; And here, you have 1 port, 2 endpoint. Then, asoc_simple_card_get_dai_id() should return 1. And, your [2/2] patch, I guess you are misunderstanding about "port" vs "endpoint", or omap-mcbsp driver side need to update ? Best regards --- Kuninori Morimoto