Unverified Commit eb5b1284 authored by Maxime Ripard's avatar Maxime Ripard Committed by Mark Brown
Browse files

dt-bindings: sound: sun4i-i2s: Document that the RX channel can be missing



The A83t and compatibles controllers don't have any reception capabilities
on some instances of the controllers, even though it was never documented
as such in the binding before.

Therefore, on those controllers, we don't have the option to set an RX DMA
channel.

This was already done in the DTSI, but the binding itself was never
updated. Let's add a special case in the schemas.

Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 0a0ca8e9
Loading
Loading
Loading
Loading
+42 −10
Original line number Diff line number Diff line
@@ -41,19 +41,11 @@ properties:
      - const: apb
      - const: mod

  dmas:
    items:
      - description: RX DMA Channel
      - description: TX DMA Channel

  dma-names:
    items:
      - const: rx
      - const: tx

  # 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.
  dmas: true
  dma-names: true
  resets:
    maxItems: 1

@@ -72,6 +64,46 @@ allOf:
      required:
        - resets

  - if:
      properties:
        compatible:
          contains:
            const: allwinner,sun8i-a83t-i2s

    then:
      properties:
        dmas:
          minItems: 1
          maxItems: 2
          items:
            - description: RX DMA Channel
            - description: TX DMA Channel
          description:
            Some controllers cannot receive but can only transmit
            data. In such a case, the RX DMA channel is to be omitted.

        dma-names:
          oneOf:
            - items:
                - const: rx
                - const: tx
            - const: tx
          description:
            Some controllers cannot receive but can only transmit
            data. In such a case, the RX name is to be omitted.

    else:
      properties:
        dmas:
          items:
            - description: RX DMA Channel
            - description: TX DMA Channel

        dma-names:
          items:
            - const: rx
            - const: tx

required:
  - "#sound-dai-cells"
  - compatible