Merge tag 'ieee802154-for-davem-2020-09-08' of git://git.kernel.org/pub/scm/linux...
[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,rk3308-i2s
28               - rockchip,rk3328-i2s
29               - rockchip,rk3366-i2s
30               - rockchip,rk3368-i2s
31               - rockchip,rk3399-i2s
32           - const: rockchip,rk3066-i2s
33
34   reg:
35     maxItems: 1
36
37   interrupts:
38     maxItems: 1
39
40   clocks:
41     items:
42       - description: clock for I2S controller
43       - description: clock for I2S BUS
44
45   clock-names:
46     items:
47       - const: i2s_clk
48       - const: i2s_hclk
49
50   dmas:
51     minItems: 1
52     maxItems: 2
53
54   dma-names:
55     oneOf:
56       - const: rx
57       - items:
58           - const: tx
59           - const: rx
60
61   power-domains:
62     maxItems: 1
63
64   rockchip,capture-channels:
65     $ref: /schemas/types.yaml#/definitions/uint32
66     default: 2
67     description:
68       Max capture channels, if not set, 2 channels default.
69
70   rockchip,playback-channels:
71     $ref: /schemas/types.yaml#/definitions/uint32
72     default: 8
73     description:
74       Max playback channels, if not set, 8 channels default.
75
76   rockchip,grf:
77     $ref: /schemas/types.yaml#/definitions/phandle
78     description:
79       The phandle of the syscon node for the GRF register.
80       Required property for controllers which support multi channel
81       playback/capture.
82
83   "#sound-dai-cells":
84     const: 0
85
86 required:
87   - compatible
88   - reg
89   - interrupts
90   - clocks
91   - clock-names
92   - dmas
93   - dma-names
94   - "#sound-dai-cells"
95
96 additionalProperties: false
97
98 examples:
99   - |
100     #include <dt-bindings/clock/rk3288-cru.h>
101     #include <dt-bindings/interrupt-controller/arm-gic.h>
102     #include <dt-bindings/interrupt-controller/irq.h>
103     i2s@ff890000 {
104       compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
105       reg = <0xff890000 0x10000>;
106       interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
107       clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
108       clock-names = "i2s_clk", "i2s_hclk";
109       dmas = <&pdma1 0>, <&pdma1 1>;
110       dma-names = "tx", "rx";
111       rockchip,capture-channels = <2>;
112       rockchip,playback-channels = <8>;
113       #sound-dai-cells = <0>;
114     };