1*c66ec88fSEmmanuel VadotFreescale Sony/Philips Digital Interface Format (S/PDIF) Controller 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe Freescale S/PDIF audio block is a stereo transceiver that allows the 4*c66ec88fSEmmanuel Vadotprocessor to receive and transmit digital audio via an coaxial cable or 5*c66ec88fSEmmanuel Vadota fibre cable. 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotRequired properties: 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadot - compatible : Compatible list, should contain one of the following 10*c66ec88fSEmmanuel Vadot compatibles: 11*c66ec88fSEmmanuel Vadot "fsl,imx35-spdif", 12*c66ec88fSEmmanuel Vadot "fsl,vf610-spdif", 13*c66ec88fSEmmanuel Vadot "fsl,imx6sx-spdif", 14*c66ec88fSEmmanuel Vadot 15*c66ec88fSEmmanuel Vadot - reg : Offset and length of the register set for the device. 16*c66ec88fSEmmanuel Vadot 17*c66ec88fSEmmanuel Vadot - interrupts : Contains the spdif interrupt. 18*c66ec88fSEmmanuel Vadot 19*c66ec88fSEmmanuel Vadot - dmas : Generic dma devicetree binding as described in 20*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/dma/dma.txt. 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel Vadot - dma-names : Two dmas have to be defined, "tx" and "rx". 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel Vadot - clocks : Contains an entry for each entry in clock-names. 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel Vadot - clock-names : Includes the following entries: 27*c66ec88fSEmmanuel Vadot "core" The core clock of spdif controller. 28*c66ec88fSEmmanuel Vadot "rxtx<0-7>" Clock source list for tx and rx clock. 29*c66ec88fSEmmanuel Vadot This clock list should be identical to the source 30*c66ec88fSEmmanuel Vadot list connecting to the spdif clock mux in "SPDIF 31*c66ec88fSEmmanuel Vadot Transceiver Clock Diagram" of SoC reference manual. 32*c66ec88fSEmmanuel Vadot It can also be referred to TxClk_Source bit of 33*c66ec88fSEmmanuel Vadot register SPDIF_STC. 34*c66ec88fSEmmanuel Vadot "spba" The spba clock is required when SPDIF is placed as a 35*c66ec88fSEmmanuel Vadot bus slave of the Shared Peripheral Bus and when two 36*c66ec88fSEmmanuel Vadot or more bus masters (CPU, DMA or DSP) try to access 37*c66ec88fSEmmanuel Vadot it. This property is optional depending on the SoC 38*c66ec88fSEmmanuel Vadot design. 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel VadotOptional properties: 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadot - big-endian : If this property is absent, the native endian mode 43*c66ec88fSEmmanuel Vadot will be in use as default, or the big endian mode 44*c66ec88fSEmmanuel Vadot will be in use for all the device registers. 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel VadotExample: 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadotspdif: spdif@2004000 { 49*c66ec88fSEmmanuel Vadot compatible = "fsl,imx35-spdif"; 50*c66ec88fSEmmanuel Vadot reg = <0x02004000 0x4000>; 51*c66ec88fSEmmanuel Vadot interrupts = <0 52 0x04>; 52*c66ec88fSEmmanuel Vadot dmas = <&sdma 14 18 0>, 53*c66ec88fSEmmanuel Vadot <&sdma 15 18 0>; 54*c66ec88fSEmmanuel Vadot dma-names = "rx", "tx"; 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel Vadot clocks = <&clks 197>, <&clks 3>, 57*c66ec88fSEmmanuel Vadot <&clks 197>, <&clks 107>, 58*c66ec88fSEmmanuel Vadot <&clks 0>, <&clks 118>, 59*c66ec88fSEmmanuel Vadot <&clks 62>, <&clks 139>, 60*c66ec88fSEmmanuel Vadot <&clks 0>; 61*c66ec88fSEmmanuel Vadot clock-names = "core", "rxtx0", 62*c66ec88fSEmmanuel Vadot "rxtx1", "rxtx2", 63*c66ec88fSEmmanuel Vadot "rxtx3", "rxtx4", 64*c66ec88fSEmmanuel Vadot "rxtx5", "rxtx6", 65*c66ec88fSEmmanuel Vadot "rxtx7"; 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel Vadot big-endian; 68*c66ec88fSEmmanuel Vadot}; 69