165 lines · plain
1STMicroelectronics sti ASoC cards2 3The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas4codec or external codecs.5 6sti sound drivers allows to expose sti SoC audio interface through the7generic ASoC simple card. For details about sound card declaration please refer to8Documentation/devicetree/bindings/sound/simple-card.yaml.9 101) sti-uniperiph-dai: audio dai device.11---------------------------------------12 13Required properties:14 - compatible: "st,stih407-uni-player-hdmi", "st,stih407-uni-player-pcm-out",15 "st,stih407-uni-player-dac", "st,stih407-uni-player-spdif",16 "st,stih407-uni-reader-pcm_in", "st,stih407-uni-reader-hdmi",17 18 - st,syscfg: phandle to boot-device system configuration registers19 20 - clock-names: name of the clocks listed in clocks property in the same order21 22 - reg: CPU DAI IP Base address and size entries, listed in same23 order than the CPU_DAI properties.24 25 - reg-names: names of the mapped memory regions listed in regs property in26 the same order.27 28 - interrupts: CPU_DAI interrupt line, listed in the same order than the29 CPU_DAI properties.30 31 - dma: CPU_DAI DMA controller phandle and DMA request line, listed in the same32 order than the CPU_DAI properties.33 34 - dma-names: identifier string for each DMA request line in the dmas property.35 "tx" for "st,sti-uni-player" compatibility36 "rx" for "st,sti-uni-reader" compatibility37 38Required properties ("st,sti-uni-player" compatibility only):39 - clocks: CPU_DAI IP clock source, listed in the same order than the40 CPU_DAI properties.41 42Optional properties:43 - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for44 external codecs connection.45 46 - pinctrl-names: should contain only one value - "default".47 48 - st,tdm-mode: to declare to set TDM mode for unireader and uniplayer IPs.49 Only compartible with IPs in charge of the external I2S/TDM bus.50 Should be declared depending on associated codec.51 52Example:53 54 sti_uni_player1: sti-uni-player@8d81000 {55 compatible = "st,stih407-uni-player-hdmi";56 #sound-dai-cells = <0>;57 st,syscfg = <&syscfg_core>;58 clocks = <&clk_s_d0_flexgen CLK_PCM_1>;59 reg = <0x8D81000 0x158>;60 interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;61 dmas = <&fdma0 3 0 1>;62 dma-names = "tx";63 st,tdm-mode = <1>;64 };65 66 sti_uni_player2: sti-uni-player@8d82000 {67 compatible = "st,stih407-uni-player-pcm-out";68 #sound-dai-cells = <0>;69 st,syscfg = <&syscfg_core>;70 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;71 reg = <0x8D82000 0x158>;72 interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;73 dmas = <&fdma0 4 0 1>;74 dma-names = "tx";75 };76 77 sti_uni_player3: sti-uni-player@8d85000 {78 compatible = "st,stih407-uni-player-spdif";79 #sound-dai-cells = <0>;80 st,syscfg = <&syscfg_core>;81 clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;82 reg = <0x8D85000 0x158>;83 interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;84 dmas = <&fdma0 7 0 1>;85 dma-names = "tx";86 };87 88 sti_uni_reader1: sti-uni-reader@8d84000 {89 compatible = "st,stih407-uni-reader-hdmi";90 #sound-dai-cells = <0>;91 st,syscfg = <&syscfg_core>;92 reg = <0x8D84000 0x158>;93 interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>;94 dmas = <&fdma0 6 0 1>;95 dma-names = "rx";96 };97 982) sti-sas-codec: internal audio codec IPs driver99-------------------------------------------------100 101Required properties:102 - compatible: "st,sti<chip>-sas-codec" .103 Should be chip "st,stih416-sas-codec" or "st,stih407-sas-codec"104 105 - st,syscfg: phandle to boot-device system configuration registers.106 107 - pinctrl-0: SPDIF PIO description.108 109 - pinctrl-names: should contain only one value - "default".110 111Example:112 sti_sas_codec: sti-sas-codec {113 compatible = "st,stih407-sas-codec";114 #sound-dai-cells = <1>;115 st,reg_audio = <&syscfg_core>;116 pinctrl-names = "default";117 pinctrl-0 = <&pinctrl_spdif_out >;118 };119 120Example of audio card declaration:121 sound {122 compatible = "simple-audio-card";123 simple-audio-card,name = "sti audio card";124 125 simple-audio-card,dai-link@0 {126 /* DAC */127 format = "i2s";128 dai-tdm-slot-width = <32>;129 cpu {130 sound-dai = <&sti_uni_player2>;131 };132 133 codec {134 sound-dai = <&sti_sasg_codec 1>;135 };136 };137 simple-audio-card,dai-link@1 {138 /* SPDIF */139 format = "left_j";140 cpu {141 sound-dai = <&sti_uni_player3>;142 };143 144 codec {145 sound-dai = <&sti_sasg_codec 0>;146 };147 };148 simple-audio-card,dai-link@2 {149 /* TDM playback */150 format = "left_j";151 frame-inversion = <1>;152 cpu {153 sound-dai = <&sti_uni_player1>;154 dai-tdm-slot-num = <16>;155 dai-tdm-slot-width = <16>;156 dai-tdm-slot-tx-mask =157 <1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1>;158 };159 160 codec {161 sound-dai = <&sti_sasg_codec 3>;162 };163 };164 };165