The R329 variant of the sun4i I2S controller supports multiple data input pins (din pins) for receiving data. Each channel can have its data input pin configured. Allow this to be configured using a new channel-dins property. Signed-off-by: John Watts <contact@xxxxxxxxxx> --- .../sound/allwinner,sun4i-a10-i2s.yaml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml index 739114fb6549..402549f9941c 100644 --- a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml +++ b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-i2s.yaml @@ -52,6 +52,13 @@ properties: - const: apb - const: mod + channel-dins: + $ref: /schemas/types.yaml#/definitions/uint8-array + description: + This is a list of DIN pin numbers, each used for a receiving I2S + channel. Pins are mapped to channels based on array index. + Channel 0 is the first number, then channel 1, and so on. + # Even though it only applies to subschemas under the conditionals, # not listing them here will trigger a warning because of the # additionalsProperties set to false. @@ -144,4 +151,19 @@ examples: dma-names = "rx", "tx"; }; + - | + i2s0_d1: i2s@2032000 { + #sound-dai-cells = <0>; + compatible = "allwinner,sun20i-d1-i2s", + "allwinner,sun50i-r329-i2s"; + reg = <0x2032000 0x1000>; + interrupts = <0 26 0>; + clocks = <&ccu 86>, <&ccu 82>; + clock-names = "apb", "mod"; + resets = <&ccu 34>; + dmas = <&dma 3>, <&dma 3>; + dma-names = "rx", "tx"; + channel-dins = /bits/ 8 <0 0 1 1 2 2>; + }; + ... -- 2.41.0