On Tue, 13 Jan 2015 12:27:15 +0000
Russell King - ARM Linux <linux at arm.linux.org.uk> wrote:

> On Tue, Jan 13, 2015 at 01:21:58PM +0100, Philipp Zabel wrote:
> > I wonder if it wouldn't be nicer to have the AP# and type in the device
> > tree and then calculate the register value from that in the driver.
> > 
> >     port at 1 {
> >             reg = <1>; /* AP1 */
> >             nxp,audio-port = "i2s";
> >             tda998x_i2s: endpoint {
> >                     remote-endpoint = <&audio1_i2s>;
> >             };
> >     };
> 
> What about the case where we have 4 I2S streams being supplied to the
> device on four separate AP inputs?

4 streams on 4 different APs (sources) should work, but 4 streams from
a same source should be detailed.

In an other way, the unit address (== first reg) does not need to be a
sequence number. It is the I/O base in most DTs.
So, it could be the port value: 

        port at 230145 {
                port-type = "rgb";
                reg = <0x230145>;
                hdmi_0: endpoint {
                        remote-endpoint = <&lcd0_0>;
                };
        };
        port at 3 {                     /* AP1 = I2S */
                port-type = "i2s";
                reg = <0x03>;
                tda998x_i2s: endpoint {
                        remote-endpoint = <&audio1_i2s>;
                };
        };
        port at 4 {                      /* AP2 = S/PDIF */
                port-type = "spdif";
                reg = <0x04>;
                tda998x_spdif: endpoint {
                        remote-endpoint = <&audio1_spdif1>;
                };
        };

-- 
Ken ar c'hentañ        |             ** Breizh ha Linux atav! **
Jef             |               http://moinejf.free.fr/

Reply via email to