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
16*58ae9a2aSKrzysztof KozlowskiallOf:
17*58ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
18*58ae9a2aSKrzysztof 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
37d5ceed03SSugar Zhang              - rockchip,rv1126-i2s
38472abb80SJohan Jonker          - const: rockchip,rk3066-i2s
39472abb80SJohan Jonker
40472abb80SJohan Jonker  reg:
41472abb80SJohan Jonker    maxItems: 1
42472abb80SJohan Jonker
43472abb80SJohan Jonker  interrupts:
44472abb80SJohan Jonker    maxItems: 1
45472abb80SJohan Jonker
46472abb80SJohan Jonker  clocks:
47472abb80SJohan Jonker    items:
48472abb80SJohan Jonker      - description: clock for I2S controller
49472abb80SJohan Jonker      - description: clock for I2S BUS
50472abb80SJohan Jonker
51472abb80SJohan Jonker  clock-names:
52472abb80SJohan Jonker    items:
53472abb80SJohan Jonker      - const: i2s_clk
54472abb80SJohan Jonker      - const: i2s_hclk
55472abb80SJohan Jonker
56472abb80SJohan Jonker  dmas:
57ab436c97SJohan Jonker    minItems: 1
58ab436c97SJohan Jonker    maxItems: 2
59472abb80SJohan Jonker
60472abb80SJohan Jonker  dma-names:
61ab436c97SJohan Jonker    oneOf:
62ab436c97SJohan Jonker      - const: rx
63ab436c97SJohan Jonker      - items:
64472abb80SJohan Jonker          - const: tx
65472abb80SJohan Jonker          - const: rx
66472abb80SJohan Jonker
67d92c3d13SJudy Hsiao  pinctrl-names:
68d92c3d13SJudy Hsiao    oneOf:
69d92c3d13SJudy Hsiao      - const: default
70d92c3d13SJudy Hsiao      - items:
71d92c3d13SJudy Hsiao          - const: bclk_on
72d92c3d13SJudy Hsiao          - const: bclk_off
73d92c3d13SJudy Hsiao
742a79c31aSJohan Jonker  power-domains:
752a79c31aSJohan Jonker    maxItems: 1
762a79c31aSJohan Jonker
77296713a3SSugar Zhang  reset-names:
78296713a3SSugar Zhang    items:
79296713a3SSugar Zhang      - const: reset-m
80296713a3SSugar Zhang      - const: reset-h
81296713a3SSugar Zhang
82296713a3SSugar Zhang  resets:
83296713a3SSugar Zhang    maxItems: 2
84296713a3SSugar Zhang
85472abb80SJohan Jonker  rockchip,capture-channels:
863d21a460SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
87472abb80SJohan Jonker    default: 2
88472abb80SJohan Jonker    description:
89472abb80SJohan Jonker      Max capture channels, if not set, 2 channels default.
90472abb80SJohan Jonker
91472abb80SJohan Jonker  rockchip,playback-channels:
923d21a460SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
93472abb80SJohan Jonker    default: 8
94472abb80SJohan Jonker    description:
95472abb80SJohan Jonker      Max playback channels, if not set, 8 channels default.
96472abb80SJohan Jonker
97472abb80SJohan Jonker  rockchip,grf:
98472abb80SJohan Jonker    $ref: /schemas/types.yaml#/definitions/phandle
99472abb80SJohan Jonker    description:
100472abb80SJohan Jonker      The phandle of the syscon node for the GRF register.
101472abb80SJohan Jonker      Required property for controllers which support multi channel
102472abb80SJohan Jonker      playback/capture.
103472abb80SJohan Jonker
104515d2757SJohan Jonker  "#sound-dai-cells":
105515d2757SJohan Jonker    const: 0
106515d2757SJohan Jonker
107472abb80SJohan Jonkerrequired:
108472abb80SJohan Jonker  - compatible
109472abb80SJohan Jonker  - reg
110472abb80SJohan Jonker  - interrupts
111472abb80SJohan Jonker  - clocks
112472abb80SJohan Jonker  - clock-names
113472abb80SJohan Jonker  - dmas
114472abb80SJohan Jonker  - dma-names
115515d2757SJohan Jonker  - "#sound-dai-cells"
116472abb80SJohan Jonker
117*58ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
118472abb80SJohan Jonker
119472abb80SJohan Jonkerexamples:
120472abb80SJohan Jonker  - |
121472abb80SJohan Jonker    #include <dt-bindings/clock/rk3288-cru.h>
122472abb80SJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
123472abb80SJohan Jonker    #include <dt-bindings/interrupt-controller/irq.h>
124472abb80SJohan Jonker    i2s@ff890000 {
125472abb80SJohan Jonker      compatible = "rockchip,rk3288-i2s", "rockchip,rk3066-i2s";
126472abb80SJohan Jonker      reg = <0xff890000 0x10000>;
127472abb80SJohan Jonker      interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
128472abb80SJohan Jonker      clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>;
129472abb80SJohan Jonker      clock-names = "i2s_clk", "i2s_hclk";
130472abb80SJohan Jonker      dmas = <&pdma1 0>, <&pdma1 1>;
131472abb80SJohan Jonker      dma-names = "tx", "rx";
132472abb80SJohan Jonker      rockchip,capture-channels = <2>;
133472abb80SJohan Jonker      rockchip,playback-channels = <8>;
134515d2757SJohan Jonker      #sound-dai-cells = <0>;
135472abb80SJohan Jonker    };
136