85b2d6d84055e11d6a6d0a8d8228a8e4d1f45f54
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / sound / allwinner,sun4i-a10-i2s.yaml
1 # SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-i2s.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A10 I2S Controller Device Tree Bindings
8
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Maxime Ripard <maxime.ripard@bootlin.com>
12
13 properties:
14   "#sound-dai-cells":
15     const: 0
16
17   compatible:
18     oneOf:
19       - const: allwinner,sun4i-a10-i2s
20       - const: allwinner,sun6i-a31-i2s
21       - const: allwinner,sun8i-a83t-i2s
22       - const: allwinner,sun8i-h3-i2s
23       - const: allwinner,sun50i-a64-codec-i2s
24       - items:
25           - const: allwinner,sun50i-a64-i2s
26           - const: allwinner,sun8i-h3-i2s
27
28   reg:
29     maxItems: 1
30
31   interrupts:
32     maxItems: 1
33
34   clocks:
35     items:
36       - description: Bus Clock
37       - description: Module Clock
38
39   clock-names:
40     items:
41       - const: apb
42       - const: mod
43
44   dmas:
45     items:
46       - description: RX DMA Channel
47       - description: TX DMA Channel
48
49   dma-names:
50     items:
51       - const: rx
52       - const: tx
53
54   # Even though it only applies to subschemas under the conditionals,
55   # not listing them here will trigger a warning because of the
56   # additionalsProperties set to false.
57   resets:
58     maxItems: 1
59
60 allOf:
61   - if:
62       properties:
63         compatible:
64           contains:
65             enum:
66               - allwinner,sun6i-a31-i2s
67               - allwinner,sun8i-a83t-i2s
68               - allwinner,sun8i-h3-i2s
69               - allwinner,sun50i-a64-codec-i2s
70
71     then:
72       required:
73         - resets
74
75 required:
76   - "#sound-dai-cells"
77   - compatible
78   - reg
79   - interrupts
80   - clocks
81   - clock-names
82   - dmas
83   - dma-names
84
85 additionalProperties: false
86
87 examples:
88   - |
89     i2s0: i2s@1c22400 {
90         #sound-dai-cells = <0>;
91         compatible = "allwinner,sun4i-a10-i2s";
92         reg = <0x01c22400 0x400>;
93         interrupts = <0 16 4>;
94         clocks = <&apb0_gates 3>, <&i2s0_clk>;
95         clock-names = "apb", "mod";
96         dmas = <&dma 0 3>, <&dma 0 3>;
97         dma-names = "rx", "tx";
98     };
99
100 ...