1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/rockchip-spdif.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Rockchip SPDIF transceiver
8
9description:
10  The S/PDIF audio block is a stereo transceiver that allows the
11  processor to receive and transmit digital audio via a coaxial or
12  fibre cable.
13
14maintainers:
15  - Heiko Stuebner <heiko@sntech.de>
16
17properties:
18  compatible:
19    oneOf:
20      - const: rockchip,rk3066-spdif
21      - const: rockchip,rk3228-spdif
22      - const: rockchip,rk3328-spdif
23      - const: rockchip,rk3366-spdif
24      - const: rockchip,rk3368-spdif
25      - const: rockchip,rk3399-spdif
26      - const: rockchip,rk3568-spdif
27      - items:
28          - enum:
29              - rockchip,rk3128-spdif
30              - rockchip,rk3188-spdif
31              - rockchip,rk3288-spdif
32              - rockchip,rk3308-spdif
33          - const: rockchip,rk3066-spdif
34      - items:
35          - enum:
36              - rockchip,rk3588-spdif
37          - const: rockchip,rk3568-spdif
38
39  reg:
40    maxItems: 1
41
42  interrupts:
43    maxItems: 1
44
45  clocks:
46    items:
47      - description: clock for SPDIF bus
48      - description: clock for SPDIF controller
49
50  clock-names:
51    items:
52      - const: mclk
53      - const: hclk
54
55  dmas:
56    maxItems: 1
57
58  dma-names:
59    const: tx
60
61  power-domains:
62    maxItems: 1
63
64  rockchip,grf:
65    $ref: /schemas/types.yaml#/definitions/phandle
66    description:
67      The phandle of the syscon node for the GRF register.
68      Required property on RK3288.
69
70  "#sound-dai-cells":
71    const: 0
72
73required:
74  - compatible
75  - reg
76  - interrupts
77  - clocks
78  - clock-names
79  - dmas
80  - dma-names
81  - "#sound-dai-cells"
82
83allOf:
84  - $ref: dai-common.yaml#
85  - if:
86      properties:
87        compatible:
88          contains:
89            const: rockchip,rk3288-spdif
90    then:
91      required:
92        - rockchip,grf
93
94unevaluatedProperties: false
95
96examples:
97  - |
98    #include <dt-bindings/clock/rk3188-cru.h>
99    #include <dt-bindings/interrupt-controller/arm-gic.h>
100    spdif: spdif@1011e000 {
101      compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
102      reg = <0x1011e000 0x2000>;
103      interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
104      clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
105      clock-names = "mclk", "hclk";
106      dmas = <&dmac1_s 8>;
107      dma-names = "tx";
108      #sound-dai-cells = <0>;
109    };
110