Am Montag, den 12.01.2015, 12:25 +0000 schrieb Russell King - ARM Linux:
> On Mon, Jan 12, 2015 at 10:25:28AM +0100, Philipp Zabel wrote:
> > Jean-Francois' reply already reflects this, but the 'port' nodes should
> > correspond to physical ports of the device if possible. If you can
> > configure the device to have dedicated input pins for I2S, SPDIF0, and
> > SPDIF1 at the same time, they should appear in the device tree as
> > separate ports:
> >
> > tda998x: hdmi-encoder {
> > port at 0 { /* pixel data according to video-ports */
> > reg = <0x00>;
> > };
> > port at 1 { /* AP1: SPDIF0 */
> > reg = <0x01>;
> > };
> > port at 2 { /* AP2: SPDIF1 */
> > reg = <0x02>;
> > };
> > port at 3 { /* AP3: I2S */
> > reg = <0x03>;
> > };
> > };
> >
> > The tda998x binding would define how the ports are numbered, some
> > correspondence to the AP pin numbers would be good.
>
> It's not quite that simple, because the SPDIF AP pins are multiplexed
> with the I2S pins - and there is variation between chip models and
> packages.
>
> So, it's probably best if port at 0 is the video port, and then port at 1..n
> can describe the audio inputs, including a property which specifies
> whether they are I2S or SPDIF, and the value to be programmed into
> the AP enable register (which is a bit field of the AP pins which
> should be unmasked.) I guess we can re-use the reg= property for that
> value, since video will always be zero.
Note that of_graph_parse_endpoint interprets the port node's reg
property as port id. And the unit address part of the node name should
match the first address in the reg property.
regards
Philipp