1*c66ec88fSEmmanuel VadotFreescale Synchronous Serial Interface 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe SSI is a serial device that communicates with audio codecs. It can 4*c66ec88fSEmmanuel Vadotbe programmed in AC97, I2S, left-justified, or right-justified modes. 5*c66ec88fSEmmanuel Vadot 6*c66ec88fSEmmanuel VadotRequired properties: 7*c66ec88fSEmmanuel Vadot- compatible: Compatible list, should contain one of the following 8*c66ec88fSEmmanuel Vadot compatibles: 9*c66ec88fSEmmanuel Vadot fsl,mpc8610-ssi 10*c66ec88fSEmmanuel Vadot fsl,imx51-ssi 11*c66ec88fSEmmanuel Vadot fsl,imx35-ssi 12*c66ec88fSEmmanuel Vadot fsl,imx21-ssi 13*c66ec88fSEmmanuel Vadot- cell-index: The SSI, <0> = SSI1, <1> = SSI2, and so on. 14*c66ec88fSEmmanuel Vadot- reg: Offset and length of the register set for the device. 15*c66ec88fSEmmanuel Vadot- interrupts: <a b> where a is the interrupt number and b is a 16*c66ec88fSEmmanuel Vadot field that represents an encoding of the sense and 17*c66ec88fSEmmanuel Vadot level information for the interrupt. This should be 18*c66ec88fSEmmanuel Vadot encoded based on the information in section 2) 19*c66ec88fSEmmanuel Vadot depending on the type of interrupt controller you 20*c66ec88fSEmmanuel Vadot have. 21*c66ec88fSEmmanuel Vadot- fsl,fifo-depth: The number of elements in the transmit and receive FIFOs. 22*c66ec88fSEmmanuel Vadot This number is the maximum allowed value for SFCSR[TFWM0]. 23*c66ec88fSEmmanuel Vadot - clocks: "ipg" - Required clock for the SSI unit 24*c66ec88fSEmmanuel Vadot "baud" - Required clock for SSI master mode. Otherwise this 25*c66ec88fSEmmanuel Vadot clock is not used 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel VadotRequired are also ac97 link bindings if ac97 is used. See 28*c66ec88fSEmmanuel VadotDocumentation/devicetree/bindings/sound/soc-ac97link.txt for the necessary 29*c66ec88fSEmmanuel Vadotbindings. 30*c66ec88fSEmmanuel Vadot 31*c66ec88fSEmmanuel VadotOptional properties: 32*c66ec88fSEmmanuel Vadot- codec-handle: Phandle to a 'codec' node that defines an audio 33*c66ec88fSEmmanuel Vadot codec connected to this SSI. This node is typically 34*c66ec88fSEmmanuel Vadot a child of an I2C or other control node. 35*c66ec88fSEmmanuel Vadot- fsl,fiq-stream-filter: Bool property. Disabled DMA and use FIQ instead to 36*c66ec88fSEmmanuel Vadot filter the codec stream. This is necessary for some boards 37*c66ec88fSEmmanuel Vadot where an incompatible codec is connected to this SSI, e.g. 38*c66ec88fSEmmanuel Vadot on pca100 and pcm043. 39*c66ec88fSEmmanuel Vadot- dmas: Generic dma devicetree binding as described in 40*c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/dma/dma.txt. 41*c66ec88fSEmmanuel Vadot- dma-names: Two dmas have to be defined, "tx" and "rx", if fsl,imx-fiq 42*c66ec88fSEmmanuel Vadot is not defined. 43*c66ec88fSEmmanuel Vadot- fsl,mode: The operating mode for the AC97 interface only. 44*c66ec88fSEmmanuel Vadot "ac97-slave" - AC97 mode, SSI is clock slave 45*c66ec88fSEmmanuel Vadot "ac97-master" - AC97 mode, SSI is clock master 46*c66ec88fSEmmanuel Vadot- fsl,ssi-asynchronous: 47*c66ec88fSEmmanuel Vadot If specified, the SSI is to be programmed in asynchronous 48*c66ec88fSEmmanuel Vadot mode. In this mode, pins SRCK, STCK, SRFS, and STFS must 49*c66ec88fSEmmanuel Vadot all be connected to valid signals. In synchronous mode, 50*c66ec88fSEmmanuel Vadot SRCK and SRFS are ignored. Asynchronous mode allows 51*c66ec88fSEmmanuel Vadot playback and capture to use different sample sizes and 52*c66ec88fSEmmanuel Vadot sample rates. Some drivers may require that SRCK and STCK 53*c66ec88fSEmmanuel Vadot be connected together, and SRFS and STFS be connected 54*c66ec88fSEmmanuel Vadot together. This would still allow different sample sizes, 55*c66ec88fSEmmanuel Vadot but not different sample rates. 56*c66ec88fSEmmanuel Vadot- fsl,playback-dma: Phandle to a node for the DMA channel to use for 57*c66ec88fSEmmanuel Vadot playback of audio. This is typically dictated by SOC 58*c66ec88fSEmmanuel Vadot design. See the notes below. 59*c66ec88fSEmmanuel Vadot Only used on Power Architecture. 60*c66ec88fSEmmanuel Vadot- fsl,capture-dma: Phandle to a node for the DMA channel to use for 61*c66ec88fSEmmanuel Vadot capture (recording) of audio. This is typically dictated 62*c66ec88fSEmmanuel Vadot by SOC design. See the notes below. 63*c66ec88fSEmmanuel Vadot Only used on Power Architecture. 64*c66ec88fSEmmanuel Vadot 65*c66ec88fSEmmanuel VadotChild 'codec' node required properties: 66*c66ec88fSEmmanuel Vadot- compatible: Compatible list, contains the name of the codec 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel VadotChild 'codec' node optional properties: 69*c66ec88fSEmmanuel Vadot- clock-frequency: The frequency of the input clock, which typically comes 70*c66ec88fSEmmanuel Vadot from an on-board dedicated oscillator. 71*c66ec88fSEmmanuel Vadot 72*c66ec88fSEmmanuel VadotNotes on fsl,playback-dma and fsl,capture-dma: 73*c66ec88fSEmmanuel Vadot 74*c66ec88fSEmmanuel VadotOn SOCs that have an SSI, specific DMA channels are hard-wired for playback 75*c66ec88fSEmmanuel Vadotand capture. On the MPC8610, for example, SSI1 must use DMA channel 0 for 76*c66ec88fSEmmanuel Vadotplayback and DMA channel 1 for capture. SSI2 must use DMA channel 2 for 77*c66ec88fSEmmanuel Vadotplayback and DMA channel 3 for capture. The developer can choose which 78*c66ec88fSEmmanuel VadotDMA controller to use, but the channels themselves are hard-wired. The 79*c66ec88fSEmmanuel Vadotpurpose of these two properties is to represent this hardware design. 80*c66ec88fSEmmanuel Vadot 81*c66ec88fSEmmanuel VadotThe device tree nodes for the DMA channels that are referenced by 82*c66ec88fSEmmanuel Vadot"fsl,playback-dma" and "fsl,capture-dma" must be marked as compatible with 83*c66ec88fSEmmanuel Vadot"fsl,ssi-dma-channel". The SOC-specific compatible string (e.g. 84*c66ec88fSEmmanuel Vadot"fsl,mpc8610-dma-channel") can remain. If these nodes are left as 85*c66ec88fSEmmanuel Vadot"fsl,elo-dma-channel" or "fsl,eloplus-dma-channel", then the generic Elo DMA 86*c66ec88fSEmmanuel Vadotdrivers (fsldma) will attempt to use them, and it will conflict with the 87*c66ec88fSEmmanuel Vadotsound drivers. 88