Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / sound / allwinner,sun4i-a10-spdif.yaml
blobaa32dc950e72ccdaf7fb1ac7f759d57a855fc9b6
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-spdif.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Allwinner A10 S/PDIF Controller
9 maintainers:
10   - Chen-Yu Tsai <wens@csie.org>
11   - Liam Girdwood <lgirdwood@gmail.com>
12   - Mark Brown <broonie@kernel.org>
13   - Maxime Ripard <mripard@kernel.org>
15 properties:
16   "#sound-dai-cells":
17     const: 0
19   compatible:
20     oneOf:
21       - const: allwinner,sun4i-a10-spdif
22       - const: allwinner,sun6i-a31-spdif
23       - const: allwinner,sun8i-h3-spdif
24       - const: allwinner,sun50i-h6-spdif
25       - const: allwinner,sun50i-h616-spdif
26       - items:
27           - const: allwinner,sun8i-a83t-spdif
28           - const: allwinner,sun8i-h3-spdif
29       - items:
30           - const: allwinner,sun50i-a64-spdif
31           - const: allwinner,sun8i-h3-spdif
33   reg:
34     maxItems: 1
36   interrupts:
37     maxItems: 1
39   clocks:
40     items:
41       - description: Bus Clock
42       - description: Module Clock
44   clock-names:
45     items:
46       - const: apb
47       - const: spdif
49   # Even though it only applies to subschemas under the conditionals,
50   # not listing them here will trigger a warning because of the
51   # additionalsProperties set to false.
52   dmas: true
53   dma-names: true
54   resets:
55     maxItems: 1
57 allOf:
58   - $ref: dai-common.yaml#
59   - if:
60       properties:
61         compatible:
62           contains:
63             enum:
64               - allwinner,sun6i-a31-spdif
65               - allwinner,sun8i-h3-spdif
66               - allwinner,sun50i-h6-spdif
67               - allwinner,sun50i-h616-spdif
69     then:
70       required:
71         - resets
73   - if:
74       properties:
75         compatible:
76           contains:
77             enum:
78               - allwinner,sun8i-h3-spdif
79               - allwinner,sun50i-h616-spdif
81     then:
82       properties:
83         dmas:
84           description: TX DMA Channel
86         dma-names:
87           const: tx
89     else:
90       properties:
91         dmas:
92           items:
93             - description: RX DMA Channel
94             - description: TX DMA Channel
96         dma-names:
97           items:
98             - const: rx
99             - const: tx
101 required:
102   - "#sound-dai-cells"
103   - compatible
104   - reg
105   - interrupts
106   - clocks
107   - clock-names
108   - dmas
109   - dma-names
111 unevaluatedProperties: false
113 examples:
114   - |
115     spdif: spdif@1c21000 {
116         #sound-dai-cells = <0>;
117         compatible = "allwinner,sun4i-a10-spdif";
118         reg = <0x01c21000 0x40>;
119         interrupts = <13>;
120         clocks = <&apb0_gates 1>, <&spdif_clk>;
121         clock-names = "apb", "spdif";
122         dmas = <&dma 0 2>, <&dma 0 2>;
123         dma-names = "rx", "tx";
124     };