1472abb80SJohan Jonker# SPDX-License-Identifier: GPL-2.0
2472abb80SJohan Jonker%YAML 1.2
3472abb80SJohan Jonker---
4472abb80SJohan Jonker$id: http://devicetree.org/schemas/sound/rockchip-i2s.yaml#
5472abb80SJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
6472abb80SJohan Jonker
7472abb80SJohan Jonkertitle: Rockchip I2S controller
8472abb80SJohan Jonker
9472abb80SJohan Jonkerdescription:
10472abb80SJohan Jonker  The I2S bus (Inter-IC sound bus) is a serial link for digital
11472abb80SJohan Jonker  audio data transfer between devices in the system.
12472abb80SJohan Jonker
13472abb80SJohan Jonkermaintainers:
14472abb80SJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
15472abb80SJohan Jonker
1658ae9a2aSKrzysztof KozlowskiallOf:
1758ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
1858ae9a2aSKrzysztof Kozlowski
19472abb80SJohan Jonkerproperties:
20472abb80SJohan Jonker  compatible:
21472abb80SJohan Jonker    oneOf:
22472abb80SJohan Jonker      - const: rockchip,rk3066-i2s
23472abb80SJohan Jonker      - items:
24472abb80SJohan Jonker          - enum:
25472abb80SJohan Jonker              - rockchip,px30-i2s
26d5ceed03SSugar Zhang              - rockchip,rk1808-i2s
27472abb80SJohan Jonker              - rockchip,rk3036-i2s
28d5ceed03SSugar Zhang              - rockchip,rk3128-i2s
29472abb80SJohan Jonker              - rockchip,rk3188-i2s
30472abb80SJohan Jonker              - rockchip,rk3228-i2s
31472abb80SJohan Jonker              - rockchip,rk3288-i2s
32ab436c97SJohan Jonker              - rockchip,rk3308-i2s
33472abb80SJohan Jonker              - rockchip,rk3328-i2s
34472abb80SJohan Jonker              - rockchip,rk3366-i2s
35472abb80SJohan Jonker              - rockchip,rk3368-i2s
36472abb80SJohan Jonker              - rockchip,rk3399-i2s
37*b0fe6a91SCristian Ciocaltea              - rockchip,rk3588-i2s
38d5ceed03SSugar Zhang              - rockchip,rv1126-i2s
39472abb80SJohan Jonker          - const: rockchip,rk3066-i2s
40472abb80SJohan Jonker
41472abb80SJohan Jonker  reg:
42472abb80SJohan Jonker    maxItems: 1
43472abb80SJohan Jonker
44472abb80SJohan Jonker  interrupts:
45472abb80SJohan Jonker    maxItems: 1
46472abb80SJohan Jonker
47472abb80SJohan Jonker  clocks:
48472abb80SJohan Jonker    items:
49472abb80SJohan Jonker      - description: clock for I2S controller
50472abb80SJohan Jonker      - description: clock for I2S BUS
51472abb80SJohan Jonker
52472abb80SJohan Jonker  clock-names:
53472abb80SJohan Jonker    items:
54472abb80SJohan Jonker      - const: i2s_clk
55472abb80SJohan Jonker      - const: i2s_hclk
56472abb80SJohan Jonker
57472abb80SJohan Jonker  dmas:
58ab436c97SJohan Jonker    minItems: 1
59ab436c97SJohan Jonker    maxItems: 2
60472abb80SJohan Jonker
61472abb80SJohan Jonker  dma-names:
62ab436c97SJohan Jonker    oneOf:
63ab436c97SJohan Jonker      - const: rx
64ab436c97SJohan Jonker      - items:
65472abb80SJohan Jonker          - const: tx
66472abb80SJohan Jonker          - const: rx
67472abb80SJohan Jonker
68d92c3d13SJudy Hsiao  pinctrl-names:
69d92c3d13SJudy Hsiao    oneOf:
70d92c3d13SJudy Hsiao      - const: default
71d92c3d13SJudy Hsiao      - items:
72d92c3d13SJudy Hsiao          - const: bclk_on
73d92c3d13SJudy Hsiao          - const: bclk_off
74d92c3d13SJudy Hsiao
752a79c31aSJohan Jonker  power-domains:
762a79c31aSJohan Jonker    maxItems: 1
772a79c31aSJohan Jonker
78296713a3SSugar Zhang  reset-names:
79296713a3SSugar Zhang    items:
80296713a3SSugar Zhang      - const: reset-m
81296713a3SSugar Zhang      - const: reset-h
82296713a3SSugar Zhang
83296713a3SSugar Zhang  resets:
84296713a3SSugar Zhang    maxItems: 2
85296713a3SSugar Zhang
86bf4062b7SCristian Ciocaltea  port:
87bf4062b7SCristian Ciocaltea    $ref: audio-graph-port.yaml#
88bf4062b7SCristian Ciocaltea    unevaluatedProperties: false
89bf4062b7SCristian Ciocaltea
90472abb80SJohan Jonker  rockchip,capture-channels:
913d21a460SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
92472abb80SJohan Jonker    default: 2
93472abb80SJohan Jonker    description:
94472abb80SJohan Jonker      Max capture channels, if not set, 2 channels default.
95472abb80SJohan Jonker
96472abb80SJohan Jonker  rockchip,playback-channels:
973d21a460SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
98472abb80SJohan Jonker    default: 8
99472abb80SJohan Jonker    description:
100472abb80SJohan Jonker      Max playback channels, if not set, 8 channels default.
101472abb80SJohan Jonker
102472abb80SJohan Jonker  rockchip,grf:
103472abb80SJohan Jonker    $ref: /schemas/types.yaml#/definitions/phandle
104472abb80SJohan Jonker    description:
105472abb80SJohan Jonker      The phandle of the syscon node for the GRF register.
106472abb80SJohan Jonker      Required property for controllers which support multi channel
107472abb80SJohan Jonker      playback/capture.
108472abb80SJohan Jonker
109515d2757SJohan Jonker  "#sound-dai-cells":
110515d2757SJohan Jonker    const: 0
111515d2757SJohan Jonker
112472abb80SJohan Jonkerrequired:
113472abb80SJohan Jonker  - compatible
114472abb80SJohan Jonker  - reg
115472abb80SJohan Jonker  - interrupts
116472abb80SJohan Jonker  - clocks
117472abb80SJohan Jonker  - clock-names
118472abb80SJohan Jonker  - dmas
119472abb80SJohan Jonker  - dma-names
120515d2757SJohan Jonker  - "#sound-dai-cells"
121472abb80SJohan Jonker
12258ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
123472abb80SJohan Jonker
124472abb80SJohan Jonkerexamples:
125472abb80SJohan Jonker  - |
126472abb80SJohan Jonker    #include <dt-bindings/clock/rk3288-cru.h>
127472abb80SJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
128472abb80SJohan Jonker    #include <dt-bindings/interrupt-controller/irq.h>
129472abb80SJohan Jonker    i2s@ff890000 {
130472abb80SJohan Jonker      compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
131472abb80SJohan Jonker      reg = <0xff890000 0x10000>;
132472abb80SJohan Jonker      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
133472abb80SJohan Jonker      clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
134472abb80SJohan Jonker      clock-names = "i2s_clk", "i2s_hclk";
135472abb80SJohan Jonker      dmas = <&pdma1 0>, <&pdma1 1>;
136472abb80SJohan Jonker      dma-names = "tx", "rx";
137472abb80SJohan Jonker      rockchip,capture-channels = <2>;
138472abb80SJohan Jonker      rockchip,playback-channels = <8>;
139515d2757SJohan Jonker      #sound-dai-cells = <0>;
140472abb80SJohan Jonker    };
141