1STMicroelectronics sti ASoC cards 2 3The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas 4codec or external codecs. 5 6sti sound drivers allows to expose sti SoC audio interface through the 7generic ASoC simple card. For details about sound card declaration please refer to 8Documentation/devicetree/bindings/sound/simple-card.txt. 9 101) sti-uniperiph-dai: audio dai device. 11--------------------------------------- 12 13Required properties: 14 - compatible: "st,sti-uni-player" or "st,sti-uni-reader" 15 16 - st,syscfg: phandle to boot-device system configuration registers 17 18 - clock-names: name of the clocks listed in clocks property in the same order 19 20 - reg: CPU DAI IP Base address and size entries, listed in same 21 order than the CPU_DAI properties. 22 23 - reg-names: names of the mapped memory regions listed in regs property in 24 the same order. 25 26 - interrupts: CPU_DAI interrupt line, listed in the same order than the 27 CPU_DAI properties. 28 29 - dma: CPU_DAI DMA controller phandle and DMA request line, listed in the same 30 order than the CPU_DAI properties. 31 32 - dma-names: identifier string for each DMA request line in the dmas property. 33 "tx" for "st,sti-uni-player" compatibility 34 "rx" for "st,sti-uni-reader" compatibility 35 36 - version: IP version integrated in SOC. 37 38 - dai-name: DAI name that describes the IP. 39 40Required properties ("st,sti-uni-player" compatibility only): 41 - clocks: CPU_DAI IP clock source, listed in the same order than the 42 CPU_DAI properties. 43 44 - uniperiph-id: internal SOC IP instance ID. 45 46 - IP mode: IP working mode depending on associated codec. 47 "HDMI" connected to HDMI codec IP and IEC HDMI formats. 48 "SPDIF"connected to SPDIF codec and support SPDIF formats. 49 "PCM" PCM standard mode for I2S or TDM bus. 50 51Optional properties: 52 - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for 53 external codecs connection. 54 55 - pinctrl-names: should contain only one value - "default". 56 57Example: 58 59 sti_uni_player2: sti-uni-player@2 { 60 compatible = "st,sti-uni-player"; 61 status = "okay"; 62 #sound-dai-cells = <0>; 63 st,syscfg = <&syscfg_core>; 64 clocks = <&clk_s_d0_flexgen CLK_PCM_2>; 65 reg = <0x8D82000 0x158>; 66 interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>; 67 dmas = <&fdma0 4 0 1>; 68 dai-name = "Uni Player #1 (DAC)"; 69 dma-names = "tx"; 70 uniperiph-id = <2>; 71 version = <5>; 72 mode = "PCM"; 73 }; 74 75 sti_uni_player3: sti-uni-player@3 { 76 compatible = "st,sti-uni-player"; 77 status = "okay"; 78 #sound-dai-cells = <0>; 79 st,syscfg = <&syscfg_core>; 80 clocks = <&clk_s_d0_flexgen CLK_SPDIFF>; 81 reg = <0x8D85000 0x158>; 82 interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>; 83 dmas = <&fdma0 7 0 1>; 84 dma-names = "tx"; 85 dai-name = "Uni Player #1 (PIO)"; 86 uniperiph-id = <3>; 87 version = <5>; 88 mode = "SPDIF"; 89 }; 90 91 sti_uni_reader1: sti-uni-reader@1 { 92 compatible = "st,sti-uni-reader"; 93 status = "disabled"; 94 #sound-dai-cells = <0>; 95 st,syscfg = <&syscfg_core>; 96 reg = <0x8D84000 0x158>; 97 interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>; 98 dmas = <&fdma0 6 0 1>; 99 dma-names = "rx"; 100 dai-name = "Uni Reader #1 (HDMI RX)"; 101 version = <3>; 102 }; 103 1042) sti-sas-codec: internal audio codec IPs driver 105------------------------------------------------- 106 107Required properties: 108 - compatible: "st,sti<chip>-sas-codec" . 109 Should be chip "st,stih416-sas-codec" or "st,stih407-sas-codec" 110 111 - st,syscfg: phandle to boot-device system configuration registers. 112 113 - pinctrl-0: SPDIF PIO description. 114 115 - pinctrl-names: should contain only one value - "default". 116 117Example: 118 sti_sas_codec: sti-sas-codec { 119 compatible = "st,stih407-sas-codec"; 120 #sound-dai-cells = <1>; 121 st,reg_audio = <&syscfg_core>; 122 pinctrl-names = "default"; 123 pinctrl-0 = <&pinctrl_spdif_out >; 124 }; 125 126Example of audio card declaration: 127 sound { 128 compatible = "simple-audio-card"; 129 simple-audio-card,name = "sti audio card"; 130 status = "okay"; 131 132 simple-audio-card,dai-link@0 { 133 /* DAC */ 134 format = "i2s"; 135 dai-tdm-slot-width = <32>; 136 cpu { 137 sound-dai = <&sti_uni_player2>; 138 }; 139 140 codec { 141 sound-dai = <&sti_sasg_codec 1>; 142 }; 143 }; 144 simple-audio-card,dai-link@1 { 145 /* SPDIF */ 146 format = "left_j"; 147 cpu { 148 sound-dai = <&sti_uni_player3>; 149 }; 150 151 codec { 152 sound-dai = <&sti_sasg_codec 0>; 153 }; 154 }; 155 }; 156