18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/fsl,spdif.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Freescale Sony/Philips Digital Interface Format (S/PDIF) Controller 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Shengjiu Wang <shengjiu.wang@nxp.com> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cidescription: | 138c2ecf20Sopenharmony_ci The Freescale S/PDIF audio block is a stereo transceiver that allows the 148c2ecf20Sopenharmony_ci processor to receive and transmit digital audio via an coaxial cable or 158c2ecf20Sopenharmony_ci a fibre cable. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciproperties: 188c2ecf20Sopenharmony_ci compatible: 198c2ecf20Sopenharmony_ci enum: 208c2ecf20Sopenharmony_ci - fsl,imx35-spdif 218c2ecf20Sopenharmony_ci - fsl,vf610-spdif 228c2ecf20Sopenharmony_ci - fsl,imx6sx-spdif 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci reg: 258c2ecf20Sopenharmony_ci maxItems: 1 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci interrupts: 288c2ecf20Sopenharmony_ci maxItems: 1 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci dmas: 318c2ecf20Sopenharmony_ci items: 328c2ecf20Sopenharmony_ci - description: DMA controller phandle and request line for RX 338c2ecf20Sopenharmony_ci - description: DMA controller phandle and request line for TX 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci dma-names: 368c2ecf20Sopenharmony_ci items: 378c2ecf20Sopenharmony_ci - const: rx 388c2ecf20Sopenharmony_ci - const: tx 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci clocks: 418c2ecf20Sopenharmony_ci items: 428c2ecf20Sopenharmony_ci - description: The core clock of spdif controller. 438c2ecf20Sopenharmony_ci - description: Clock for tx0 and rx0. 448c2ecf20Sopenharmony_ci - description: Clock for tx1 and rx1. 458c2ecf20Sopenharmony_ci - description: Clock for tx2 and rx2. 468c2ecf20Sopenharmony_ci - description: Clock for tx3 and rx3. 478c2ecf20Sopenharmony_ci - description: Clock for tx4 and rx4. 488c2ecf20Sopenharmony_ci - description: Clock for tx5 and rx5. 498c2ecf20Sopenharmony_ci - description: Clock for tx6 and rx6. 508c2ecf20Sopenharmony_ci - description: Clock for tx7 and rx7. 518c2ecf20Sopenharmony_ci - description: The spba clock is required when SPDIF is placed as a bus 528c2ecf20Sopenharmony_ci slave of the Shared Peripheral Bus and when two or more bus masters 538c2ecf20Sopenharmony_ci (CPU, DMA or DSP) try to access it. This property is optional depending 548c2ecf20Sopenharmony_ci on the SoC design. 558c2ecf20Sopenharmony_ci minItems: 9 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci clock-names: 588c2ecf20Sopenharmony_ci items: 598c2ecf20Sopenharmony_ci - const: core 608c2ecf20Sopenharmony_ci - const: rxtx0 618c2ecf20Sopenharmony_ci - const: rxtx1 628c2ecf20Sopenharmony_ci - const: rxtx2 638c2ecf20Sopenharmony_ci - const: rxtx3 648c2ecf20Sopenharmony_ci - const: rxtx4 658c2ecf20Sopenharmony_ci - const: rxtx5 668c2ecf20Sopenharmony_ci - const: rxtx6 678c2ecf20Sopenharmony_ci - const: rxtx7 688c2ecf20Sopenharmony_ci - const: spba 698c2ecf20Sopenharmony_ci minItems: 9 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci big-endian: 728c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/flag 738c2ecf20Sopenharmony_ci description: | 748c2ecf20Sopenharmony_ci If this property is absent, the native endian mode will be in use 758c2ecf20Sopenharmony_ci as default, or the big endian mode will be in use for all the device 768c2ecf20Sopenharmony_ci registers. Set this flag for HCDs with big endian descriptors and big 778c2ecf20Sopenharmony_ci endian registers. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_cirequired: 808c2ecf20Sopenharmony_ci - compatible 818c2ecf20Sopenharmony_ci - reg 828c2ecf20Sopenharmony_ci - interrupts 838c2ecf20Sopenharmony_ci - dmas 848c2ecf20Sopenharmony_ci - dma-names 858c2ecf20Sopenharmony_ci - clocks 868c2ecf20Sopenharmony_ci - clock-names 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ciadditionalProperties: false 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ciexamples: 918c2ecf20Sopenharmony_ci - | 928c2ecf20Sopenharmony_ci spdif@2004000 { 938c2ecf20Sopenharmony_ci compatible = "fsl,imx35-spdif"; 948c2ecf20Sopenharmony_ci reg = <0x02004000 0x4000>; 958c2ecf20Sopenharmony_ci interrupts = <0 52 0x04>; 968c2ecf20Sopenharmony_ci dmas = <&sdma 14 18 0>, 978c2ecf20Sopenharmony_ci <&sdma 15 18 0>; 988c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 998c2ecf20Sopenharmony_ci clocks = <&clks 197>, <&clks 3>, 1008c2ecf20Sopenharmony_ci <&clks 197>, <&clks 107>, 1018c2ecf20Sopenharmony_ci <&clks 0>, <&clks 118>, 1028c2ecf20Sopenharmony_ci <&clks 62>, <&clks 139>, 1038c2ecf20Sopenharmony_ci <&clks 0>; 1048c2ecf20Sopenharmony_ci clock-names = "core", "rxtx0", 1058c2ecf20Sopenharmony_ci "rxtx1", "rxtx2", 1068c2ecf20Sopenharmony_ci "rxtx3", "rxtx4", 1078c2ecf20Sopenharmony_ci "rxtx5", "rxtx6", 1088c2ecf20Sopenharmony_ci "rxtx7"; 1098c2ecf20Sopenharmony_ci big-endian; 1108c2ecf20Sopenharmony_ci }; 111