dt-bindings: clock: Add documentation for X1830 bindings.
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / rockchip-i2s.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/rockchip-i2s.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Rockchip I2S controller
8
9 description:
10   The I2S bus (Inter-IC sound bus) is a serial link for digital
11   audio data transfer between devices in the system.
12
13 maintainers:
14   - Heiko Stuebner <heiko@sntech.de>
15
16 properties:
17   compatible:
18     oneOf:
19       - const: rockchip,rk3066-i2s
20       - items:
21           - enum:
22             - rockchip,px30-i2s
23             - rockchip,rk3036-i2s
24             - rockchip,rk3188-i2s
25             - rockchip,rk3228-i2s
26             - rockchip,rk3288-i2s
27             - rockchip,rk3328-i2s
28             - rockchip,rk3366-i2s
29             - rockchip,rk3368-i2s
30             - rockchip,rk3399-i2s
31           - const: rockchip,rk3066-i2s
32
33   reg:
34     maxItems: 1
35
36   interrupts:
37     maxItems: 1
38
39   clocks:
40     items:
41       - description: clock for I2S controller
42       - description: clock for I2S BUS
43
44   clock-names:
45     items:
46       - const: i2s_clk
47       - const: i2s_hclk
48
49   dmas:
50     items:
51       - description: TX DMA Channel
52       - description: RX DMA Channel
53
54   dma-names:
55     items:
56       - const: tx
57       - const: rx
58
59   rockchip,capture-channels:
60     $ref: /schemas/types.yaml#/definitions/uint32
61     default: 2
62     description:
63       Max capture channels, if not set, 2 channels default.
64
65   rockchip,playback-channels:
66     $ref: /schemas/types.yaml#/definitions/uint32
67     default: 8
68     description:
69       Max playback channels, if not set, 8 channels default.
70
71   rockchip,grf:
72     $ref: /schemas/types.yaml#/definitions/phandle
73     description:
74       The phandle of the syscon node for the GRF register.
75       Required property for controllers which support multi channel
76       playback/capture.
77
78   "#sound-dai-cells":
79     const: 0
80
81 required:
82   - compatible
83   - reg
84   - interrupts
85   - clocks
86   - clock-names
87   - dmas
88   - dma-names
89   - "#sound-dai-cells"
90
91 additionalProperties: false
92
93 examples:
94   - |
95     #include <dt-bindings/clock/rk3288-cru.h>
96     #include <dt-bindings/interrupt-controller/arm-gic.h>
97     #include <dt-bindings/interrupt-controller/irq.h>
98     i2s@ff890000 {
99       compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
100       reg = <0xff890000 0x10000>;
101       interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
102       clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
103       clock-names = "i2s_clk", "i2s_hclk";
104       dmas = <&pdma1 0>, <&pdma1 1>;
105       dma-names = "tx", "rx";
106       rockchip,capture-channels = <2>;
107       rockchip,playback-channels = <8>;
108       #sound-dai-cells = <0>;
109     };