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