Difference between revisions of "Audio codecs hardware components"

[quality revision] [quality revision]
m

1 Article purpose[edit]

The purpose of this article is to:

  • list the audio codec hardware components that might be integrated in the different STM32MPU boards
  • link these components to the corresponding software framework(s)
  • point to the datasheet(s) of these components
  • explain, when necessary, how to configure these components.

2 Software frameworks[edit]

Internal peripherals software table template

| Audio
| Wolfson wm8994
| 
| ALSA framework
| 
| DAC & ADC audio codec
|-
| Audio
| Cirrus cs42l51
| 
| ALSA framework
| 
| DAC & ADC audio codec
|-
| Audio
| Silab sil9022
| 
| ALSA framework
| 
| HDMI transmitter
|-
| Audio
| ST MP34DT01-M
| 
| ALSA framework
| 
| Digital microphone
|-
|}

3 Wolfson wm8994[edit]

The WM8994 is a highly integrated ultra-low power hi-fi CODEC rich in multimedia features.

For details and the datasheet please contact the WM8994 codec provider.

3.1 Linux driver[edit]

Bindings: Documentation/devicetree/bindings/sound/wm8994.txt

Sources:

4 Cirrus cs42l51[edit]

The CS42L51 is a highly integrated, 24-bit, low-power stereo CODEC.

For details and the datasheet please contact the CS42L51 codec provider.

4.1 Linux driver[edit]

Bindings: Documentation/devicetree/bindings/sound/cs42l51.txt (v4.20)

Sources: sound/soc/codecs/cs42l51.c

5 Silab sil9022[edit]

The SiI9022A HDMI transmitter supports the HDMI® Specification on a wide range of mobile products.

For details and the datasheet please contact the SiI9022A HDMI transmitter provider.

5.1 Linux driver[edit]

Bindings: Documentation/devicetree/bindings/display/bridge/sii902x.txt

Sources: drivers/gpu/drm/bridge/sii902x.c

6 ST MP34DT01-M[edit]

The MP34DT01-M is an ultra-compact, low-power, omnidirectional, digital MEMS microphone.

Datasheet: https://www.st.com/resource/en/datasheet/mp34dt01-m.pdf

6.1 Linux driver[edit]

Bindings: Documentation/devicetree/bindings/sound/dmic.txt

Sources: sound/soc/codecs/dmic.c

Warning white.png Warning
cs42l51 bindings linked forced to 4.20. Version to be removed on next kernel rebase


==Article purpose==
The purpose of this article is to:
* list the audio codec hardware components that might be integrated in the different STM32MPU[[:Category:ST boards| boards]]
* link these components to the corresponding software framework(s)
* point to the datasheet(s) of these components
* explain, when necessary, how to configure these components.

==Software frameworks==
{{:Internal_peripherals_software_table_template}}
 | Audio
 | [[#Wolfson_wm8994|Wolfson wm8994]]
 | 
 | [[ALSA_overview|ALSA framework]]
 | 
 | DAC & ADC audio codec
 |-
 | Audio
 | [[#Cirrus_cs42l51|Cirrus cs42l51]]
 | 
 | [[ALSA_overview|ALSA framework]]
 | 
 | DAC & ADC audio codec
 |-
 | Audio
 | [[#Silab_sil9022|Silab sil9022]]
 | 
 | [[ALSA_overview|ALSA framework]]
 | 
 | HDMI transmitter
 |-
 | Audio
 | [[#ST_MP34DT01-M|ST MP34DT01-M]]
 | 
 | [[ALSA_overview|ALSA framework]]
 | 
 | Digital microphone
 |-
 |}

==Wolfson wm8994==
The WM8994 is a highly integrated ultra-low power hi-fi CODEC rich in multimedia features.

For details and the datasheet please contact the WM8994 codec provider. 

===Linux driver===
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/sound/wm8994.txt}}

Sources:
*{{CodeSource | Linux kernel | drivers/mfd/wm8994-core.c}}
*{{CodeSource | Linux kernel | sound/soc/codecs/wm8994.c}}
*{{CodeSource | Linux kernel | sound/soc/codecs/wm_hubs.c}}

==Cirrus cs42l51==
The CS42L51 is a highly integrated, 24-bit, low-power stereo CODEC. 

For details and the datasheet please contact the CS42L51 codec provider. 

===Linux driver===
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/sound/cs42l51.txt ||4.20 }}

Sources: {{CodeSource | Linux kernel | sound/soc/codecs/cs42l51.c}}

==Silab sil9022==
The SiI9022A HDMI transmitter supports the HDMI<sup>&reg;</sup> Specification on a wide range of mobile products.

For details and the datasheet please contact the SiI9022A HDMI transmitter provider. 

===Linux driver===
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/display/bridge/sii902x.txt}}

Sources: {{CodeSource | Linux kernel | drivers/gpu/drm/bridge/sii902x.c}}

==ST MP34DT01-M==
The MP34DT01-M is an ultra-compact, low-power, omnidirectional, digital MEMS microphone.

Datasheet: https://www.st.com/resource/en/datasheet/mp34dt01-m.pdf

===Linux driver===
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/sound/dmic.txt}}
Sources: {{CodeSource | Linux kernel | sound/soc/codecs/dmic.c}}
<noinclude>
{{Warning|cs42l51 bindings linked forced to 4.20. Version to be removed on next kernel rebase}} [[Category:Audio hardware components]]
{{PublicationRequestId | 10357 | 2019-01-21 | AlainF}}
{{ArticleBasedOnModel | Hardware components article model}}</noinclude>
Line 57: Line 57:
   
 
===Linux driver===
 
===Linux driver===
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/sound/cs42l51.txt ||4.20 }}
+
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/sound/cs42l51.txt}}
   
 
Sources: {{CodeSource | Linux kernel | sound/soc/codecs/cs42l51.c}}
 
Sources: {{CodeSource | Linux kernel | sound/soc/codecs/cs42l51.c}}
Line 78: Line 78:
 
===Linux driver===
 
===Linux driver===
 
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/sound/dmic.txt}}
 
Bindings: {{CodeSource | Linux kernel | Documentation/devicetree/bindings/sound/dmic.txt}}
  +
 
Sources: {{CodeSource | Linux kernel | sound/soc/codecs/dmic.c}}
 
Sources: {{CodeSource | Linux kernel | sound/soc/codecs/dmic.c}}
   
 
<noinclude>
 
<noinclude>
{{Warning|cs42l51 bindings linked forced to 4.20. Version to be removed on next kernel rebase}}
 
 
[[Category:Audio hardware components]]
 
[[Category:Audio hardware components]]
 
{{PublicationRequestId | 10357 | 2019-01-21 | AlainF}}
 
{{PublicationRequestId | 10357 | 2019-01-21 | AlainF}}
 
{{ArticleBasedOnModel | Hardware components article model}}
 
{{ArticleBasedOnModel | Hardware components article model}}
 
</noinclude>
 
</noinclude>