xref: /linux/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml (revision fc2d791a43d3880496d1c729b8bd74d2c19cb4e7)
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,rk3576-spdif
37              - rockchip,rk3588-spdif
38          - const: rockchip,rk3568-spdif
39
40  reg:
41    maxItems: 1
42
43  interrupts:
44    maxItems: 1
45
46  clocks:
47    items:
48      - description: clock for SPDIF bus
49      - description: clock for SPDIF controller
50
51  clock-names:
52    items:
53      - const: mclk
54      - const: hclk
55
56  dmas:
57    maxItems: 1
58
59  dma-names:
60    const: tx
61
62  power-domains:
63    maxItems: 1
64
65  rockchip,grf:
66    $ref: /schemas/types.yaml#/definitions/phandle
67    description:
68      The phandle of the syscon node for the GRF register.
69      Required property on RK3288.
70
71  "#sound-dai-cells":
72    const: 0
73
74  port:
75    $ref: /schemas/graph.yaml#/properties/port
76
77required:
78  - compatible
79  - reg
80  - interrupts
81  - clocks
82  - clock-names
83  - dmas
84  - dma-names
85  - "#sound-dai-cells"
86
87allOf:
88  - $ref: dai-common.yaml#
89  - if:
90      properties:
91        compatible:
92          contains:
93            const: rockchip,rk3288-spdif
94    then:
95      required:
96        - rockchip,grf
97
98unevaluatedProperties: false
99
100examples:
101  - |
102    #include <dt-bindings/clock/rk3188-cru.h>
103    #include <dt-bindings/interrupt-controller/arm-gic.h>
104    spdif: spdif@1011e000 {
105      compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
106      reg = <0x1011e000 0x2000>;
107      interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
108      clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
109      clock-names = "mclk", "hclk";
110      dmas = <&dmac1_s 8>;
111      dma-names = "tx";
112      #sound-dai-cells = <0>;
113    };
114