[alsa-devel] Question about OF-graph ports

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Fri Jan 20 02:46:46 CET 2017


Hi Rob

Thank you for your feedback

> >         SoC.0              Codec0
> >         SoC.1 <-> Card <-> Codec1
> >         SoC.2              Codec2
(snip)
> The card should only have the entry (or exit) points of the graph.
> That may not even need to be graph nodes. It could just be a list of
> CPU DAI phandles (which then have graph nodes).
> 
> Look at the display side use of OF graph. We have display subsystem
> nodes (like a card) with a poorly named ports property (nothing to do
> with OF graph) listing display channels. Each phandle there is the
> entry point to the graph and is typically the front end display
> controller (perhaps a CSC and scaling unit). The graph then goes to a
> backend controller (for display timing), then to interface PHY
> (DSI/HDMI), then possibly and external bridge chip, then to a
> connector or panel node. That's a complex example. In simple cases, we
> just have a display controller connected to a panel.

If my understanding here was correct, do you mean like this ?

	sound_dai0 {
		ports {
			port { /* Card.0  */ }
			port { /* SoC.0  */ }
			port { /* Codec0 */ }
		};
	};

	sound_dai1 {
		ports {
			port { /* Card.1  */ }
			port { /* SoC.1  */ }
			port { /* Codec1 */ }
		};
	};

	sound_dai2 {
		ports {
			port { /* Card.2  */ }
			port { /* SoC.2  */ }
			port { /* Codec2 */ }
		};
	};

	card {
		ports {
			port { /* sound_dai0 */ }
			port { /* sound_dai1 */ }
			port { /* sound_dai2 */ }
		};
	};


Or this ?

	sound_dai0 {
		ports {
			port { /* SoC.0  */ }
			port { /* Codec0 */ }
		};
	};

	sound_dai1 {
		ports {
			port { /* SoC.1  */ }
			port { /* Codec1 */ }
		};
	};

	sound_dai2 {
		ports {
			port { /* SoC.2  */ }
			port { /* Codec2 */ }
		};
	};

	card {
		dais = <&sound_dai0
			&sound_dai1
			&sound_dai2>;
	};


Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list