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