1*c66ec88fSEmmanuel VadotBROADCOM Cygnus Audio I2S/TDM/SPDIF controller 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot - compatible : "brcm,cygnus-audio" 5*c66ec88fSEmmanuel Vadot - #address-cells: 32bit valued, 1 cell. 6*c66ec88fSEmmanuel Vadot - #size-cells: 32bit valued, 0 cell. 7*c66ec88fSEmmanuel Vadot - reg : Should contain audio registers location and length 8*c66ec88fSEmmanuel Vadot - reg-names: names of the registers listed in "reg" property 9*c66ec88fSEmmanuel Vadot Valid names are "aud" and "i2s_in". "aud" contains a 10*c66ec88fSEmmanuel Vadot set of DMA, I2S_OUT and SPDIF registers. "i2s_in" contains 11*c66ec88fSEmmanuel Vadot a set of I2S_IN registers. 12*c66ec88fSEmmanuel Vadot - clocks: PLL and leaf clocks used by audio ports 13*c66ec88fSEmmanuel Vadot - assigned-clocks: PLL and leaf clocks 14*c66ec88fSEmmanuel Vadot - assigned-clock-parents: parent clocks of the assigned clocks 15*c66ec88fSEmmanuel Vadot (usually the PLL) 16*c66ec88fSEmmanuel Vadot - assigned-clock-rates: List of clock frequencies of the 17*c66ec88fSEmmanuel Vadot assigned clocks 18*c66ec88fSEmmanuel Vadot - clock-names: names of 3 leaf clocks used by audio ports 19*c66ec88fSEmmanuel Vadot Valid names are "ch0_audio", "ch1_audio", "ch2_audio" 20*c66ec88fSEmmanuel Vadot - interrupts: audio DMA interrupt number 21*c66ec88fSEmmanuel Vadot 22*c66ec88fSEmmanuel VadotSSP Subnode properties: 23*c66ec88fSEmmanuel Vadot- reg: The index of ssp port interface to use 24*c66ec88fSEmmanuel Vadot Valid value are 0, 1, 2, or 3 (for spdif) 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel VadotExample: 27*c66ec88fSEmmanuel Vadot cygnus_audio: audio@180ae000 { 28*c66ec88fSEmmanuel Vadot compatible = "brcm,cygnus-audio"; 29*c66ec88fSEmmanuel Vadot #address-cells = <1>; 30*c66ec88fSEmmanuel Vadot #size-cells = <0>; 31*c66ec88fSEmmanuel Vadot reg = <0x180ae000 0xafd>, <0x180aec00 0x1f8>; 32*c66ec88fSEmmanuel Vadot reg-names = "aud", "i2s_in"; 33*c66ec88fSEmmanuel Vadot clocks = <&audiopll BCM_CYGNUS_AUDIOPLL_CH0>, 34*c66ec88fSEmmanuel Vadot <&audiopll BCM_CYGNUS_AUDIOPLL_CH1>, 35*c66ec88fSEmmanuel Vadot <&audiopll BCM_CYGNUS_AUDIOPLL_CH2>; 36*c66ec88fSEmmanuel Vadot assigned-clocks = <&audiopll BCM_CYGNUS_AUDIOPLL>, 37*c66ec88fSEmmanuel Vadot <&audiopll BCM_CYGNUS_AUDIOPLL_CH0>, 38*c66ec88fSEmmanuel Vadot <&audiopll BCM_CYGNUS_AUDIOPLL_CH1>, 39*c66ec88fSEmmanuel Vadot <&audiopll BCM_CYGNUS_AUDIOPLL_CH2>; 40*c66ec88fSEmmanuel Vadot assigned-clock-parents = <&audiopll BCM_CYGNUS_AUDIOPLL>; 41*c66ec88fSEmmanuel Vadot assigned-clock-rates = <1769470191>, 42*c66ec88fSEmmanuel Vadot <0>, 43*c66ec88fSEmmanuel Vadot <0>, 44*c66ec88fSEmmanuel Vadot <0>; 45*c66ec88fSEmmanuel Vadot clock-names = "ch0_audio", "ch1_audio", "ch2_audio"; 46*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadot ssp0: ssp_port@0 { 49*c66ec88fSEmmanuel Vadot reg = <0>; 50*c66ec88fSEmmanuel Vadot }; 51*c66ec88fSEmmanuel Vadot 52*c66ec88fSEmmanuel Vadot ssp1: ssp_port@1 { 53*c66ec88fSEmmanuel Vadot reg = <1>; 54*c66ec88fSEmmanuel Vadot }; 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel Vadot ssp2: ssp_port@2 { 57*c66ec88fSEmmanuel Vadot reg = <2>; 58*c66ec88fSEmmanuel Vadot }; 59*c66ec88fSEmmanuel Vadot 60*c66ec88fSEmmanuel Vadot spdif: spdif_port@3 { 61*c66ec88fSEmmanuel Vadot reg = <3>; 62*c66ec88fSEmmanuel Vadot }; 63*c66ec88fSEmmanuel Vadot }; 64