18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/rockchip-spdif.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Rockchip SPDIF transceiver
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cidescription:
108c2ecf20Sopenharmony_ci  The S/PDIF audio block is a stereo transceiver that allows the
118c2ecf20Sopenharmony_ci  processor to receive and transmit digital audio via a coaxial or
128c2ecf20Sopenharmony_ci  fibre cable.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_cimaintainers:
158c2ecf20Sopenharmony_ci  - Heiko Stuebner <heiko@sntech.de>
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciproperties:
188c2ecf20Sopenharmony_ci  compatible:
198c2ecf20Sopenharmony_ci    oneOf:
208c2ecf20Sopenharmony_ci      - const: rockchip,rk3066-spdif
218c2ecf20Sopenharmony_ci      - const: rockchip,rk3228-spdif
228c2ecf20Sopenharmony_ci      - const: rockchip,rk3328-spdif
238c2ecf20Sopenharmony_ci      - const: rockchip,rk3366-spdif
248c2ecf20Sopenharmony_ci      - const: rockchip,rk3368-spdif
258c2ecf20Sopenharmony_ci      - const: rockchip,rk3399-spdif
268c2ecf20Sopenharmony_ci      - items:
278c2ecf20Sopenharmony_ci          - enum:
288c2ecf20Sopenharmony_ci              - rockchip,rk3188-spdif
298c2ecf20Sopenharmony_ci              - rockchip,rk3288-spdif
308c2ecf20Sopenharmony_ci              - rockchip,rk3308-spdif
318c2ecf20Sopenharmony_ci          - const: rockchip,rk3066-spdif
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  reg:
348c2ecf20Sopenharmony_ci    maxItems: 1
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci  interrupts:
378c2ecf20Sopenharmony_ci    maxItems: 1
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci  clocks:
408c2ecf20Sopenharmony_ci    items:
418c2ecf20Sopenharmony_ci      - description: clock for SPDIF bus
428c2ecf20Sopenharmony_ci      - description: clock for SPDIF controller
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci  clock-names:
458c2ecf20Sopenharmony_ci    items:
468c2ecf20Sopenharmony_ci      - const: mclk
478c2ecf20Sopenharmony_ci      - const: hclk
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  dmas:
508c2ecf20Sopenharmony_ci    maxItems: 1
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci  dma-names:
538c2ecf20Sopenharmony_ci    const: tx
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  power-domains:
568c2ecf20Sopenharmony_ci    maxItems: 1
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci  rockchip,grf:
598c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/phandle
608c2ecf20Sopenharmony_ci    description:
618c2ecf20Sopenharmony_ci      The phandle of the syscon node for the GRF register.
628c2ecf20Sopenharmony_ci      Required property on RK3288.
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  "#sound-dai-cells":
658c2ecf20Sopenharmony_ci    const: 0
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_cirequired:
688c2ecf20Sopenharmony_ci  - compatible
698c2ecf20Sopenharmony_ci  - reg
708c2ecf20Sopenharmony_ci  - interrupts
718c2ecf20Sopenharmony_ci  - clocks
728c2ecf20Sopenharmony_ci  - clock-names
738c2ecf20Sopenharmony_ci  - dmas
748c2ecf20Sopenharmony_ci  - dma-names
758c2ecf20Sopenharmony_ci  - "#sound-dai-cells"
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciif:
788c2ecf20Sopenharmony_ci  properties:
798c2ecf20Sopenharmony_ci    compatible:
808c2ecf20Sopenharmony_ci      contains:
818c2ecf20Sopenharmony_ci        const: rockchip,rk3288-spdif
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_cithen:
848c2ecf20Sopenharmony_ci  required:
858c2ecf20Sopenharmony_ci    - rockchip,grf
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciadditionalProperties: false
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciexamples:
908c2ecf20Sopenharmony_ci  - |
918c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/rk3188-cru.h>
928c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
938c2ecf20Sopenharmony_ci    spdif: spdif@1011e000 {
948c2ecf20Sopenharmony_ci      compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
958c2ecf20Sopenharmony_ci      reg = <0x1011e000 0x2000>;
968c2ecf20Sopenharmony_ci      interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
978c2ecf20Sopenharmony_ci      clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>;
988c2ecf20Sopenharmony_ci      clock-names = "mclk", "hclk";
998c2ecf20Sopenharmony_ci      dmas = <&dmac1_s 8>;
1008c2ecf20Sopenharmony_ci      dma-names = "tx";
1018c2ecf20Sopenharmony_ci      #sound-dai-cells = <0>;
1028c2ecf20Sopenharmony_ci    };
103