~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 STMicroelectronics sti ASoC cards
  2 
  3 The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas
  4 codec or external codecs.
  5 
  6 sti sound drivers allows to expose sti SoC audio interface through the
  7 generic ASoC simple card. For details about sound card declaration please refer to
  8 Documentation/devicetree/bindings/sound/simple-card.yaml.
  9 
 10 1) sti-uniperiph-dai: audio dai device.
 11 ---------------------------------------
 12 
 13 Required 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 registers
 19 
 20   - clock-names: name of the clocks listed in clocks property in the same order
 21 
 22   - reg: CPU DAI IP Base address and size entries, listed  in same
 23          order than the CPU_DAI properties.
 24 
 25   - reg-names: names of the mapped memory regions listed in regs property in
 26                the same order.
 27 
 28   - interrupts: CPU_DAI interrupt line, listed in the same order than the
 29                 CPU_DAI properties.
 30 
 31   - dma: CPU_DAI DMA controller phandle and DMA request line, listed in the same
 32          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" compatibility
 36         "rx" for "st,sti-uni-reader" compatibility
 37 
 38 Required properties ("st,sti-uni-player" compatibility only):
 39   - clocks: CPU_DAI IP clock source, listed in the same order than the
 40             CPU_DAI properties.
 41 
 42 Optional properties:
 43   - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for
 44                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 
 52 Example:
 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 
 98 2) sti-sas-codec: internal audio codec IPs driver
 99 -------------------------------------------------
100 
101 Required 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 
111 Example:
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 
120 Example 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         };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php