1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/sound/fsl,spdif.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Freescale Sony/Philips Digital Interface Format (S/PDIF) Controller 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Shengjiu Wang <shengjiu.wang@nxp.com> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: | 13*4882a593Smuzhiyun The Freescale S/PDIF audio block is a stereo transceiver that allows the 14*4882a593Smuzhiyun processor to receive and transmit digital audio via an coaxial cable or 15*4882a593Smuzhiyun a fibre cable. 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunproperties: 18*4882a593Smuzhiyun compatible: 19*4882a593Smuzhiyun enum: 20*4882a593Smuzhiyun - fsl,imx35-spdif 21*4882a593Smuzhiyun - fsl,vf610-spdif 22*4882a593Smuzhiyun - fsl,imx6sx-spdif 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun reg: 25*4882a593Smuzhiyun maxItems: 1 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun interrupts: 28*4882a593Smuzhiyun maxItems: 1 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun dmas: 31*4882a593Smuzhiyun items: 32*4882a593Smuzhiyun - description: DMA controller phandle and request line for RX 33*4882a593Smuzhiyun - description: DMA controller phandle and request line for TX 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun dma-names: 36*4882a593Smuzhiyun items: 37*4882a593Smuzhiyun - const: rx 38*4882a593Smuzhiyun - const: tx 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun clocks: 41*4882a593Smuzhiyun items: 42*4882a593Smuzhiyun - description: The core clock of spdif controller. 43*4882a593Smuzhiyun - description: Clock for tx0 and rx0. 44*4882a593Smuzhiyun - description: Clock for tx1 and rx1. 45*4882a593Smuzhiyun - description: Clock for tx2 and rx2. 46*4882a593Smuzhiyun - description: Clock for tx3 and rx3. 47*4882a593Smuzhiyun - description: Clock for tx4 and rx4. 48*4882a593Smuzhiyun - description: Clock for tx5 and rx5. 49*4882a593Smuzhiyun - description: Clock for tx6 and rx6. 50*4882a593Smuzhiyun - description: Clock for tx7 and rx7. 51*4882a593Smuzhiyun - description: The spba clock is required when SPDIF is placed as a bus 52*4882a593Smuzhiyun slave of the Shared Peripheral Bus and when two or more bus masters 53*4882a593Smuzhiyun (CPU, DMA or DSP) try to access it. This property is optional depending 54*4882a593Smuzhiyun on the SoC design. 55*4882a593Smuzhiyun minItems: 9 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun clock-names: 58*4882a593Smuzhiyun items: 59*4882a593Smuzhiyun - const: core 60*4882a593Smuzhiyun - const: rxtx0 61*4882a593Smuzhiyun - const: rxtx1 62*4882a593Smuzhiyun - const: rxtx2 63*4882a593Smuzhiyun - const: rxtx3 64*4882a593Smuzhiyun - const: rxtx4 65*4882a593Smuzhiyun - const: rxtx5 66*4882a593Smuzhiyun - const: rxtx6 67*4882a593Smuzhiyun - const: rxtx7 68*4882a593Smuzhiyun - const: spba 69*4882a593Smuzhiyun minItems: 9 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun big-endian: 72*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/flag 73*4882a593Smuzhiyun description: | 74*4882a593Smuzhiyun If this property is absent, the native endian mode will be in use 75*4882a593Smuzhiyun as default, or the big endian mode will be in use for all the device 76*4882a593Smuzhiyun registers. Set this flag for HCDs with big endian descriptors and big 77*4882a593Smuzhiyun endian registers. 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunrequired: 80*4882a593Smuzhiyun - compatible 81*4882a593Smuzhiyun - reg 82*4882a593Smuzhiyun - interrupts 83*4882a593Smuzhiyun - dmas 84*4882a593Smuzhiyun - dma-names 85*4882a593Smuzhiyun - clocks 86*4882a593Smuzhiyun - clock-names 87*4882a593Smuzhiyun 88*4882a593SmuzhiyunadditionalProperties: false 89*4882a593Smuzhiyun 90*4882a593Smuzhiyunexamples: 91*4882a593Smuzhiyun - | 92*4882a593Smuzhiyun spdif@2004000 { 93*4882a593Smuzhiyun compatible = "fsl,imx35-spdif"; 94*4882a593Smuzhiyun reg = <0x02004000 0x4000>; 95*4882a593Smuzhiyun interrupts = <0 52 0x04>; 96*4882a593Smuzhiyun dmas = <&sdma 14 18 0>, 97*4882a593Smuzhiyun <&sdma 15 18 0>; 98*4882a593Smuzhiyun dma-names = "rx", "tx"; 99*4882a593Smuzhiyun clocks = <&clks 197>, <&clks 3>, 100*4882a593Smuzhiyun <&clks 197>, <&clks 107>, 101*4882a593Smuzhiyun <&clks 0>, <&clks 118>, 102*4882a593Smuzhiyun <&clks 62>, <&clks 139>, 103*4882a593Smuzhiyun <&clks 0>; 104*4882a593Smuzhiyun clock-names = "core", "rxtx0", 105*4882a593Smuzhiyun "rxtx1", "rxtx2", 106*4882a593Smuzhiyun "rxtx3", "rxtx4", 107*4882a593Smuzhiyun "rxtx5", "rxtx6", 108*4882a593Smuzhiyun "rxtx7"; 109*4882a593Smuzhiyun big-endian; 110*4882a593Smuzhiyun }; 111