xref: /openbmc/linux/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml (revision 506c7f9b0612c46732aa74317f59a28d9477905b)
1*506c7f9bSMaxime Ripard# SPDX-License-Identifier: GPL-2.0
2*506c7f9bSMaxime Ripard%YAML 1.2
3*506c7f9bSMaxime Ripard---
4*506c7f9bSMaxime Ripard$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-spdif.yaml#
5*506c7f9bSMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
6*506c7f9bSMaxime Ripard
7*506c7f9bSMaxime Ripardtitle: Allwinner A10 S/PDIF Controller Device Tree Bindings
8*506c7f9bSMaxime Ripard
9*506c7f9bSMaxime Ripardmaintainers:
10*506c7f9bSMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
11*506c7f9bSMaxime Ripard  - Liam Girdwood <lgirdwood@gmail.com>
12*506c7f9bSMaxime Ripard  - Mark Brown <broonie@kernel.org>
13*506c7f9bSMaxime Ripard  - Maxime Ripard <maxime.ripard@bootlin.com>
14*506c7f9bSMaxime Ripard
15*506c7f9bSMaxime Ripardproperties:
16*506c7f9bSMaxime Ripard  "#sound-dai-cells":
17*506c7f9bSMaxime Ripard    const: 0
18*506c7f9bSMaxime Ripard
19*506c7f9bSMaxime Ripard  compatible:
20*506c7f9bSMaxime Ripard    oneOf:
21*506c7f9bSMaxime Ripard      - const: allwinner,sun4i-a10-spdif
22*506c7f9bSMaxime Ripard      - const: allwinner,sun6i-a31-spdif
23*506c7f9bSMaxime Ripard      - const: allwinner,sun8i-h3-spdif
24*506c7f9bSMaxime Ripard      - items:
25*506c7f9bSMaxime Ripard          - const: allwinner,sun8i-a83t-spdif
26*506c7f9bSMaxime Ripard          - const: allwinner,sun8i-h3-spdif
27*506c7f9bSMaxime Ripard      - items:
28*506c7f9bSMaxime Ripard          - const: allwinner,sun50i-a64-spdif
29*506c7f9bSMaxime Ripard          - const: allwinner,sun8i-h3-spdif
30*506c7f9bSMaxime Ripard
31*506c7f9bSMaxime Ripard  reg:
32*506c7f9bSMaxime Ripard    maxItems: 1
33*506c7f9bSMaxime Ripard
34*506c7f9bSMaxime Ripard  interrupts:
35*506c7f9bSMaxime Ripard    maxItems: 1
36*506c7f9bSMaxime Ripard
37*506c7f9bSMaxime Ripard  clocks:
38*506c7f9bSMaxime Ripard    items:
39*506c7f9bSMaxime Ripard      - description: Bus Clock
40*506c7f9bSMaxime Ripard      - description: Module Clock
41*506c7f9bSMaxime Ripard
42*506c7f9bSMaxime Ripard  clock-names:
43*506c7f9bSMaxime Ripard    items:
44*506c7f9bSMaxime Ripard      - const: apb
45*506c7f9bSMaxime Ripard      - const: spdif
46*506c7f9bSMaxime Ripard
47*506c7f9bSMaxime Ripard  dmas:
48*506c7f9bSMaxime Ripard    items:
49*506c7f9bSMaxime Ripard      - description: RX DMA Channel
50*506c7f9bSMaxime Ripard      - description: TX DMA Channel
51*506c7f9bSMaxime Ripard
52*506c7f9bSMaxime Ripard  dma-names:
53*506c7f9bSMaxime Ripard    items:
54*506c7f9bSMaxime Ripard      - const: rx
55*506c7f9bSMaxime Ripard      - const: tx
56*506c7f9bSMaxime Ripard
57*506c7f9bSMaxime Ripard  # Even though it only applies to subschemas under the conditionals,
58*506c7f9bSMaxime Ripard  # not listing them here will trigger a warning because of the
59*506c7f9bSMaxime Ripard  # additionalsProperties set to false.
60*506c7f9bSMaxime Ripard  resets:
61*506c7f9bSMaxime Ripard    maxItems: 1
62*506c7f9bSMaxime Ripard
63*506c7f9bSMaxime RipardallOf:
64*506c7f9bSMaxime Ripard  - if:
65*506c7f9bSMaxime Ripard      properties:
66*506c7f9bSMaxime Ripard        compatible:
67*506c7f9bSMaxime Ripard          contains:
68*506c7f9bSMaxime Ripard            enum:
69*506c7f9bSMaxime Ripard              - allwinner,sun6i-a31-spdif
70*506c7f9bSMaxime Ripard              - allwinner,sun8i-h3-spdif
71*506c7f9bSMaxime Ripard
72*506c7f9bSMaxime Ripard    then:
73*506c7f9bSMaxime Ripard      required:
74*506c7f9bSMaxime Ripard        - resets
75*506c7f9bSMaxime Ripard
76*506c7f9bSMaxime Ripardrequired:
77*506c7f9bSMaxime Ripard  - "#sound-dai-cells"
78*506c7f9bSMaxime Ripard  - compatible
79*506c7f9bSMaxime Ripard  - reg
80*506c7f9bSMaxime Ripard  - interrupts
81*506c7f9bSMaxime Ripard  - clocks
82*506c7f9bSMaxime Ripard  - clock-names
83*506c7f9bSMaxime Ripard  - dmas
84*506c7f9bSMaxime Ripard  - dma-names
85*506c7f9bSMaxime Ripard
86*506c7f9bSMaxime RipardadditionalProperties: false
87*506c7f9bSMaxime Ripard
88*506c7f9bSMaxime Ripardexamples:
89*506c7f9bSMaxime Ripard  - |
90*506c7f9bSMaxime Ripard    spdif: spdif@1c21000 {
91*506c7f9bSMaxime Ripard        #sound-dai-cells = <0>;
92*506c7f9bSMaxime Ripard        compatible = "allwinner,sun4i-a10-spdif";
93*506c7f9bSMaxime Ripard        reg = <0x01c21000 0x40>;
94*506c7f9bSMaxime Ripard        interrupts = <13>;
95*506c7f9bSMaxime Ripard        clocks = <&apb0_gates 1>, <&spdif_clk>;
96*506c7f9bSMaxime Ripard        clock-names = "apb", "spdif";
97*506c7f9bSMaxime Ripard        dmas = <&dma 0 2>, <&dma 0 2>;
98*506c7f9bSMaxime Ripard        dma-names = "rx", "tx";
99*506c7f9bSMaxime Ripard    };
100*506c7f9bSMaxime Ripard
101*506c7f9bSMaxime Ripard...
102