123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- STMicroelectronics sti ASoC cards
- The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas
- codec or external codecs.
- sti sound drivers allows to expose sti SoC audio interface through the
- generic ASoC simple card. For details about sound card declaration please refer to
- Documentation/devicetree/bindings/sound/simple-card.txt.
- 1) sti-uniperiph-dai: audio dai device.
- ---------------------------------------
- Required properties:
- - compatible: "st,stih407-uni-player-hdmi", "st,stih407-uni-player-pcm-out",
- "st,stih407-uni-player-dac", "st,stih407-uni-player-spdif",
- "st,stih407-uni-reader-pcm_in", "st,stih407-uni-reader-hdmi",
- - st,syscfg: phandle to boot-device system configuration registers
- - clock-names: name of the clocks listed in clocks property in the same order
- - reg: CPU DAI IP Base address and size entries, listed in same
- order than the CPU_DAI properties.
- - reg-names: names of the mapped memory regions listed in regs property in
- the same order.
- - interrupts: CPU_DAI interrupt line, listed in the same order than the
- CPU_DAI properties.
- - dma: CPU_DAI DMA controller phandle and DMA request line, listed in the same
- order than the CPU_DAI properties.
- - dma-names: identifier string for each DMA request line in the dmas property.
- "tx" for "st,sti-uni-player" compatibility
- "rx" for "st,sti-uni-reader" compatibility
- Required properties ("st,sti-uni-player" compatibility only):
- - clocks: CPU_DAI IP clock source, listed in the same order than the
- CPU_DAI properties.
- Optional properties:
- - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for
- external codecs connection.
- - pinctrl-names: should contain only one value - "default".
- - st,tdm-mode: to declare to set TDM mode for unireader and uniplayer IPs.
- Only compartible with IPs in charge of the external I2S/TDM bus.
- Should be declared depending on associated codec.
- Example:
- sti_uni_player1: sti-uni-player@8d81000 {
- compatible = "st,stih407-uni-player-hdmi";
- #sound-dai-cells = <0>;
- st,syscfg = <&syscfg_core>;
- clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
- reg = <0x8D81000 0x158>;
- interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
- dmas = <&fdma0 3 0 1>;
- dma-names = "tx";
- st,tdm-mode = <1>;
- };
- sti_uni_player2: sti-uni-player@8d82000 {
- compatible = "st,stih407-uni-player-pcm-out";
- #sound-dai-cells = <0>;
- st,syscfg = <&syscfg_core>;
- clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
- reg = <0x8D82000 0x158>;
- interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
- dmas = <&fdma0 4 0 1>;
- dma-names = "tx";
- };
- sti_uni_player3: sti-uni-player@8d85000 {
- compatible = "st,stih407-uni-player-spdif";
- #sound-dai-cells = <0>;
- st,syscfg = <&syscfg_core>;
- clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
- reg = <0x8D85000 0x158>;
- interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
- dmas = <&fdma0 7 0 1>;
- dma-names = "tx";
- };
- sti_uni_reader1: sti-uni-reader@8d84000 {
- compatible = "st,stih407-uni-reader-hdmi";
- #sound-dai-cells = <0>;
- st,syscfg = <&syscfg_core>;
- reg = <0x8D84000 0x158>;
- interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>;
- dmas = <&fdma0 6 0 1>;
- dma-names = "rx";
- };
- 2) sti-sas-codec: internal audio codec IPs driver
- -------------------------------------------------
- Required properties:
- - compatible: "st,sti<chip>-sas-codec" .
- Should be chip "st,stih416-sas-codec" or "st,stih407-sas-codec"
- - st,syscfg: phandle to boot-device system configuration registers.
- - pinctrl-0: SPDIF PIO description.
- - pinctrl-names: should contain only one value - "default".
- Example:
- sti_sas_codec: sti-sas-codec {
- compatible = "st,stih407-sas-codec";
- #sound-dai-cells = <1>;
- st,reg_audio = <&syscfg_core>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_spdif_out >;
- };
- Example of audio card declaration:
- sound {
- compatible = "simple-audio-card";
- simple-audio-card,name = "sti audio card";
- simple-audio-card,dai-link@0 {
- /* DAC */
- format = "i2s";
- dai-tdm-slot-width = <32>;
- cpu {
- sound-dai = <&sti_uni_player2>;
- };
- codec {
- sound-dai = <&sti_sasg_codec 1>;
- };
- };
- simple-audio-card,dai-link@1 {
- /* SPDIF */
- format = "left_j";
- cpu {
- sound-dai = <&sti_uni_player3>;
- };
- codec {
- sound-dai = <&sti_sasg_codec 0>;
- };
- };
- simple-audio-card,dai-link@2 {
- /* TDM playback */
- format = "left_j";
- frame-inversion = <1>;
- cpu {
- sound-dai = <&sti_uni_player1>;
- dai-tdm-slot-num = <16>;
- dai-tdm-slot-width = <16>;
- dai-tdm-slot-tx-mask =
- <1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1>;
- };
- codec {
- sound-dai = <&sti_sasg_codec 3>;
- };
- };
- };
|