# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-i2s.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 I2S Controller Device Tree Bindings

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <mripard@kernel.org>

properties:
  "#sound-dai-cells":
    const: 0

  compatible:
    oneOf:
      - const: allwinner,sun4i-a10-i2s
      - const: allwinner,sun6i-a31-i2s
      - const: allwinner,sun8i-a83t-i2s
      - const: allwinner,sun8i-h3-i2s
      - const: allwinner,sun50i-a64-codec-i2s
      - items:
          - const: allwinner,sun50i-a64-i2s
          - const: allwinner,sun8i-h3-i2s

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Bus Clock
      - description: Module Clock

  clock-names:
    items:
      - const: apb
      - const: mod

  # 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

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - allwinner,sun6i-a31-i2s
              - allwinner,sun8i-a83t-i2s
              - allwinner,sun8i-h3-i2s
              - allwinner,sun50i-a64-codec-i2s

    then:
      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
  - reg
  - interrupts
  - clocks
  - clock-names
  - dmas
  - dma-names

additionalProperties: false

examples:
  - |
    i2s0: i2s@1c22400 {
        #sound-dai-cells = <0>;
        compatible = "allwinner,sun4i-a10-i2s";
        reg = <0x01c22400 0x400>;
        interrupts = <0 16 4>;
        clocks = <&apb0_gates 3>, <&i2s0_clk>;
        clock-names = "apb", "mod";
        dmas = <&dma 0 3>, <&dma 0 3>;
        dma-names = "rx", "tx";
    };

...
