Re: [PATCH 0/2] Graph fixes for using multiple endpoints per port

From: Kuninori Morimoto
Date: Tue Dec 11 2018 - 01:14:31 EST



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