Merge series "ASoC: rt5682: Use clk APIs better" from Stephen Boyd <swboyd@chromium...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / rockchip-spdif.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/rockchip-spdif.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Rockchip SPDIF transceiver
8
9 description:
10   The S/PDIF audio block is a stereo transceiver that allows the
11   processor to receive and transmit digital audio via a coaxial or
12   fibre cable.
13
14 maintainers:
15   - Heiko Stuebner <heiko@sntech.de>
16
17 properties:
18   compatible:
19     oneOf:
20       - const: rockchip,rk3066-spdif
21       - const: rockchip,rk3228-spdif
22       - const: rockchip,rk3328-spdif
23       - const: rockchip,rk3366-spdif
24       - const: rockchip,rk3368-spdif
25       - const: rockchip,rk3399-spdif
26       - items:
27           - enum:
28               - rockchip,rk3188-spdif
29               - rockchip,rk3288-spdif
30           - const: rockchip,rk3066-spdif
31
32   reg:
33     maxItems: 1
34
35   interrupts:
36     maxItems: 1
37
38   clocks:
39     items:
40       - description: clock for SPDIF bus
41       - description: clock for SPDIF controller
42
43   clock-names:
44     items:
45       - const: mclk
46       - const: hclk
47
48   dmas:
49     maxItems: 1
50
51   dma-names:
52     const: tx
53
54   power-domains:
55     maxItems: 1
56
57   rockchip,grf:
58     $ref: /schemas/types.yaml#/definitions/phandle
59     description:
60       The phandle of the syscon node for the GRF register.
61       Required property on RK3288.
62
63   "#sound-dai-cells":
64     const: 0
65
66 required:
67   - compatible
68   - reg
69   - interrupts
70   - clocks
71   - clock-names
72   - dmas
73   - dma-names
74   - "#sound-dai-cells"
75
76 if:
77   properties:
78     compatible:
79       contains:
80         const: rockchip,rk3288-spdif
81
82 then:
83   required:
84     - rockchip,grf
85
86 additionalProperties: false
87
88 examples:
89   - |
90     #include <dt-bindings/clock/rk3188-cru.h>
91     #include <dt-bindings/interrupt-controller/arm-gic.h>
92     spdif: spdif@1011e000 {
93       compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
94       reg = <0x1011e000 0x2000>;
95       interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
96       clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
97       clock-names = "mclk", "hclk";
98       dmas = <&dmac1_s 8>;
99       dma-names = "tx";
100       #sound-dai-cells = <0>;
101     };