blob: aa32dc950e72ccdaf7fb1ac7f759d57a855fc9b6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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#
6
7title: Allwinner A10 S/PDIF Controller
8
9maintainers:
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>
14
15properties:
16 "#sound-dai-cells":
17 const: 0
18
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
Tom Rini93743d22024-04-01 09:08:13 -040025 - const: allwinner,sun50i-h616-spdif
Tom Rini53633a82024-02-29 12:33:36 -050026 - 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
32
33 reg:
34 maxItems: 1
35
36 interrupts:
37 maxItems: 1
38
39 clocks:
40 items:
41 - description: Bus Clock
42 - description: Module Clock
43
44 clock-names:
45 items:
46 - const: apb
47 - const: spdif
48
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
56
57allOf:
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
Tom Rini93743d22024-04-01 09:08:13 -040066 - allwinner,sun50i-h6-spdif
67 - allwinner,sun50i-h616-spdif
Tom Rini53633a82024-02-29 12:33:36 -050068
69 then:
70 required:
71 - resets
72
73 - if:
74 properties:
75 compatible:
76 contains:
77 enum:
78 - allwinner,sun8i-h3-spdif
Tom Rini93743d22024-04-01 09:08:13 -040079 - allwinner,sun50i-h616-spdif
Tom Rini53633a82024-02-29 12:33:36 -050080
81 then:
82 properties:
83 dmas:
84 description: TX DMA Channel
85
86 dma-names:
87 const: tx
88
89 else:
90 properties:
91 dmas:
92 items:
93 - description: RX DMA Channel
94 - description: TX DMA Channel
95
96 dma-names:
97 items:
98 - const: rx
99 - const: tx
100
101required:
102 - "#sound-dai-cells"
103 - compatible
104 - reg
105 - interrupts
106 - clocks
107 - clock-names
108 - dmas
109 - dma-names
110
111unevaluatedProperties: false
112
113examples:
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 };
125
126...