brintos

brintos / linux-shallow public Read only

0
0
Text · 4.5 KiB · a6ffcde Raw
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