Registered User (Created page with "<noinclude> {{ArticleBasedOnModel | Linux driver article model}} {{ArticleMainWriter | OlivierM}} {{ArticleApprovedVersion | Jean-ChristopheT | Nobody | No previous approv...") |
imported>Frq08988 mNo edit summary |
||
Line 2: | Line 2: | ||
{{ArticleBasedOnModel | [[Linux driver article model]]}} | {{ArticleBasedOnModel | [[Linux driver article model]]}} | ||
{{ArticleMainWriter | OlivierM}} | {{ArticleMainWriter | OlivierM}} | ||
{{ArticleApprovedVersion | | {{ArticleApprovedVersion | OlivierM | ArnaudP(Pass, 14/01/2019) | No previous approved version | BrunoB - 29Jan'19 - 10338 | 29Jan'19}} | ||
[[Category:ALSA]] | [[Category:ALSA]] | ||
</noinclude> | </noinclude> | ||
{{ | |||
== Article purpose == | |||
This article introduces the I2S Linux<sup>®</sup> driver for the [[SPI internal peripheral|SPI/I2S internal peripheral]]. | |||
== Short Description == | |||
The I2S Linux driver is an ASoC CPU DAI driver implemented in the Linux [[ALSA_overview|ALSA framework]]. | |||
== Configuration == | |||
=== Kernel Configuration === | |||
Activate the I2S Linux driver in the kernel configuration using the Linux Menuconfig tool: [[Menuconfig or how to configure kernel]]. | |||
<pre> | |||
[*] Device Drivers | |||
[*] Sound card support | |||
[*] Advanced Linux Sound Architecture | |||
[*] ALSA for SoC audio support | |||
STMicroelectronics STM32 SOC audio support | |||
[*] STM32 I2S interface (SPI/I2S block) support | |||
</pre> | |||
=== Device tree === | |||
Refer to the I2S device tree configuration article when configuring the I2S Linux kernel driver. | |||
{{ReviewsComments| olivierM w902: Device tree configuration to be detailed in specific article}} | |||
== How to use == | |||
The I2S Linux driver can be accessed from userland through an ALSA device. Refer to [[ALSA_overview#How_to_use|ALSA overview]] for information on how to list and use ALSA devices. | |||
==How to trace and debug== | |||
The [[Debugfs|debugfs]] and procfs file system can be checked to get information on the I2S driver and the resources it uses. A non-exhaustive list of these file system entries is provided below. Refer to [[ALSA_overview#How_to_trace_and_debug_the_framework|ALSA overview]] for more details on debugging tools. | |||
* debugfs entries: | |||
:* '''asoc''': refer to [[ALSA_overview#How_to_monitor]] | |||
:* '''clk''': refer to [[Clock_overview#How_to_monitor_with_debugfs]] to get information on clocks. | |||
:* '''pinctrl''': refer to [[Pinctrl_overview#How_to_monitor]] to get information on pins. | |||
:* '''regmap''': allow to monitor SPI/I2S peripheral registers. | |||
<div style="margin-left: 2em;"> | |||
$ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers | |||
</div> | |||
* procfs entries: | |||
:* '''asound''': refer to [[ALSA_overview#How_to_debug]] | |||
:* '''interrupts''': allow to check interrupts. | |||
<div style="margin-left: 2em;"> | |||
$ cat /proc/interrupts | |||
</div> | |||
== Source code location == | |||
{{CodeSource | Linux kernel | sound/soc/stm/stm32_i2s.c}}: implements the I2S Linux driver. | |||
==References== | |||
<references /> |
Revision as of 07:52, 31 January 2019
Template:ArticleBasedOnModel Template:ArticleMainWriter Template:ArticleApprovedVersion
1. Article purpose[edit | edit source]
This article introduces the I2S Linux® driver for the SPI/I2S internal peripheral.
2. Short Description[edit | edit source]
The I2S Linux driver is an ASoC CPU DAI driver implemented in the Linux ALSA framework.
3. Configuration[edit | edit source]
3.1. Kernel Configuration[edit | edit source]
Activate the I2S Linux driver in the kernel configuration using the Linux Menuconfig tool: Menuconfig or how to configure kernel.
Linux Sound Architecture [*] ALSA for SoC audio support STMicroelectronics STM32 SOC audio support [*] STM32 I2S interface (SPI/I2S block) support[*] Device Drivers [*] Sound card support [*] Advanced
3.2. Device tree[edit | edit source]
Refer to the I2S device tree configuration article when configuring the I2S Linux kernel driver.
4. How to use[edit | edit source]
The I2S Linux driver can be accessed from userland through an ALSA device. Refer to ALSA overview for information on how to list and use ALSA devices.
5. How to trace and debug[edit | edit source]
The debugfs and procfs file system can be checked to get information on the I2S driver and the resources it uses. A non-exhaustive list of these file system entries is provided below. Refer to ALSA overview for more details on debugging tools.
- debugfs entries:
- asoc: refer to ALSA_overview#How_to_monitor
- clk: refer to Clock_overview#How_to_monitor_with_debugfs to get information on clocks.
- pinctrl: refer to Pinctrl_overview#How_to_monitor to get information on pins.
- regmap: allow to monitor SPI/I2S peripheral registers.
$ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers
- procfs entries:
- asound: refer to ALSA_overview#How_to_debug
- interrupts: allow to check interrupts.
$ cat /proc/interrupts
6. Source code location[edit | edit source]
sound/soc/stm/stm32_i2s.c : implements the I2S Linux driver.