xref: /linux/Documentation/devicetree/bindings/sound/rockchip-spdif.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
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
73  port:
74    $ref: /schemas/graph.yaml#/properties/port
75
76required:
77  - compatible
78  - reg
79  - interrupts
80  - clocks
81  - clock-names
82  - dmas
83  - dma-names
84  - "#sound-dai-cells"
85
86allOf:
87  - $ref: dai-common.yaml#
88  - if:
89      properties:
90        compatible:
91          contains:
92            const: rockchip,rk3288-spdif
93    then:
94      required:
95        - rockchip,grf
96
97unevaluatedProperties: false
98
99examples:
100  - |
101    #include <dt-bindings/clock/rk3188-cru.h>
102    #include <dt-bindings/interrupt-controller/arm-gic.h>
103    spdif: spdif@1011e000 {
104      compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
105      reg = <0x1011e000 0x2000>;
106      interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
107      clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
108      clock-names = "mclk", "hclk";
109      dmas = <&dmac1_s 8>;
110      dma-names = "tx";
111      #sound-dai-cells = <0>;
112    };
113