Hi Russell, thanks for the clarification. Am Dienstag, den 13.01.2015, 19:54 +0000 schrieb Russell King - ARM Linux: [...] > To represent that in DT, I would imagine we'd need something like this: > > #address-cells = <1>; > #size-cells = <0>; > ... > port@1 { /* AP1,2 = I2S */ > #address-cells = <1>; > #size-cells = <0>; > port-type = "i2s"; > reg = <0x01>; /* WS */ > tda998x_i2s1: endpoint@2 { > reg = <0x02>; /* AP1 */ > remote-endpoint = <&audio1_i2s>; > }; > tda998x_i2s2: endpoint@4 { > reg = <0x04>; /* AP2 */ > remote-endpoint = <&audio2_i2s>; > }; > }; > > where audio1_i2s is operating in master mode, and audio2_i2s is > operating in slave mode for both WS and SCLK. > > If we can agree on that, then I'm happy with the proposed binding. > (Remember that #address-cells and #size-cells are required in the > parent where we have reg= in the child.) So the question is mostly whether four I2S data pins with a single shared WS/SCK input should be called "four I2S ports with shared clocks" or "one I2S port with up to four data lanes". I'd lean towards the latter. How audio2_i2s is forced to synchronize its clock output to audio1_i2s is a problem their bindings will have to handle. regards Philipp -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html