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