[alsa-devel] [PATCH 0/2] Graph fixes for using multiple endpoints per port

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Tue Dec 11 07:14:23 CET 2018


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 at 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 at 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


More information about the Alsa-devel mailing list