I2S Linux driver

Revision as of 08:52, 31 January 2019 by imported>Frq08988




1 Article purpose[edit]

This article introduces the I2S Linux® driver for the SPI/I2S internal peripheral.

2 Short Description[edit]

The I2S Linux driver is an ASoC CPU DAI driver implemented in the Linux ALSA framework.

3 Configuration[edit]

3.1 Kernel Configuration[edit]

Activate the I2S Linux driver in the kernel configuration using the Linux Menuconfig tool: Menuconfig or how to configure kernel.

[*] 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

3.2 Device tree[edit]

Refer to the I2S device tree configuration article when configuring the I2S Linux kernel driver.


4 How to use[edit]

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]

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:
$ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers
  • procfs entries:
$ cat /proc/interrupts

6 Source code location[edit]

sound/soc/stm/stm32_i2s.c : implements the I2S Linux driver.

7 References[edit]

Integrated Interchip Sound

ALSA System on Chip

Central processing unit

Digital Audio Interface

Advanced Linux sound architecture

Serial Peripheral Interface

Process File System (See https://en.wikipedia.org/wiki/Procfs for more details)

Debug File System (See https://en.wikipedia.org/wiki/Debugfs for more details)

Attachments

Discussions