# 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
      - items:
          - const: allwinner,sun8i-v3-i2s
          - const: allwinner,sun8i-h3-i2s
      - const: allwinner,sun50i-a64-codec-i2s
      - items:
          - const: allwinner,sun50i-a64-i2s
          - const: allwinner,sun8i-h3-i2s
      - const: allwinner,sun50i-h6-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
              - allwinner,sun50i-h6-i2s

    then:
      required:
        - resets

  - if:
      properties:
        compatible:
          contains:
            enum:
              - allwinner,sun8i-a83t-i2s
              - allwinner,sun8i-h3-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";
    };

...
