Hi Tony > > And, your [2/2] patch, > > I guess you are misunderstanding about "port" vs "endpoint", > > or omap-mcbsp driver side need to update ? > > Yes omap-mcbsp driver needs to be updated for multiple endpoints. > > Adding Jarkko and Peter also to Cc, below is the WIP patch that I'm > currently using for omap-mcbsp to add more DAIs. > > So far nothing else to do in the omap-mcbsp as it's the cpcap hardware > that configures the TDM timeslots. And I'm currently assuming the > first instance is the master, I guess that should be parsed from the > the frame-master dts property instead. (snip) > + if (np) > + mcbsp->dai_count = of_graph_get_endpoint_count(np); OK, you have multi DAI. Then, you need to count is "port", not "endpoint". So, your DT will be below. You want to have is *1 for asoc_simple_card_get_dai_id(). You want to double check is *2 (maybe). ports { mcbsp3_port0: port@0 { *1 reg = <0>; cpu_dai3: endpoint { dai-format = "dsp_a"; frame-master = <&cpcap_audio_codec1>; bitclock-master = <&cpcap_audio_codec1>; remote-endpoint = <&cpcap_audio_codec1>; }; }; mcbsp3_port1: port@1 { *1 reg = <1>; cpu_dai_mdm: endpoint { dai-format = "dsp_a"; *2 frame-master = <&cpcap_audio_codec1>; *2 bitclock-master = <&cpcap_audio_codec1>; remote-endpoint = <&mot_mdm6600_audio_codec0>; }; }; }; Best regards --- Kuninori Morimoto