blob: fcb01abffa9750336c7d881713625f03aa1ff080 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Rockchip I2S controller
8
9description:
10 The I2S bus (Inter-IC sound bus) is a serial link for digital
11 audio data transfer between devices in the system.
12
13maintainers:
14 - Heiko Stuebner <heiko@sntech.de>
15
16allOf:
17 - $ref: dai-common.yaml#
18
19properties:
20 compatible:
21 oneOf:
22 - const: rockchip,rk3066-i2s
23 - items:
24 - enum:
25 - rockchip,px30-i2s
26 - rockchip,rk1808-i2s
27 - rockchip,rk3036-i2s
28 - rockchip,rk3128-i2s
29 - rockchip,rk3188-i2s
30 - rockchip,rk3228-i2s
31 - rockchip,rk3288-i2s
32 - rockchip,rk3308-i2s
33 - rockchip,rk3328-i2s
34 - rockchip,rk3366-i2s
35 - rockchip,rk3368-i2s
36 - rockchip,rk3399-i2s
37 - rockchip,rk3588-i2s
38 - rockchip,rv1126-i2s
39 - const: rockchip,rk3066-i2s
40
41 reg:
42 maxItems: 1
43
44 interrupts:
45 maxItems: 1
46
47 clocks:
48 items:
49 - description: clock for I2S controller
50 - description: clock for I2S BUS
51
52 clock-names:
53 items:
54 - const: i2s_clk
55 - const: i2s_hclk
56
57 dmas:
58 minItems: 1
59 maxItems: 2
60
61 dma-names:
62 oneOf:
63 - const: rx
64 - items:
65 - const: tx
66 - const: rx
67
68 pinctrl-names:
69 oneOf:
70 - const: default
71 - items:
72 - const: bclk_on
73 - const: bclk_off
74
75 power-domains:
76 maxItems: 1
77
78 reset-names:
79 items:
80 - const: reset-m
81 - const: reset-h
82
83 resets:
84 maxItems: 2
85
86 port:
87 $ref: audio-graph-port.yaml#
88 unevaluatedProperties: false
89
90 rockchip,capture-channels:
91 $ref: /schemas/types.yaml#/definitions/uint32
92 default: 2
93 description:
94 Max capture channels, if not set, 2 channels default.
95
96 rockchip,playback-channels:
97 $ref: /schemas/types.yaml#/definitions/uint32
98 default: 8
99 description:
100 Max playback channels, if not set, 8 channels default.
101
102 rockchip,grf:
103 $ref: /schemas/types.yaml#/definitions/phandle
104 description:
105 The phandle of the syscon node for the GRF register.
106 Required property for controllers which support multi channel
107 playback/capture.
108
109 "#sound-dai-cells":
110 const: 0
111
112required:
113 - compatible
114 - reg
115 - interrupts
116 - clocks
117 - clock-names
118 - dmas
119 - dma-names
120 - "#sound-dai-cells"
121
122unevaluatedProperties: false
123
124examples:
125 - |
126 #include <dt-bindings/clock/rk3288-cru.h>
127 #include <dt-bindings/interrupt-controller/arm-gic.h>
128 #include <dt-bindings/interrupt-controller/irq.h>
129 i2s@ff890000 {
130 compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
131 reg = <0xff890000 0x10000>;
132 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
133 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
134 clock-names = "i2s_clk", "i2s_hclk";
135 dmas = <&pdma1 0>, <&pdma1 1>;
136 dma-names = "tx", "rx";
137 rockchip,capture-channels = <2>;
138 rockchip,playback-channels = <8>;
139 #sound-dai-cells = <0>;
140 };