Last edited 9 months ago

SPDIFRX Linux driver


Template:ArticleMainWriter Template:ArticleApprovedVersion


1 Article purpose[edit source]

This article introduces the SPDIFRX Linux® driver for the SPDIFRX internal peripheral.

2 Short Description[edit source]

The SPDIFRX[1] Linux driver is an ASoC CPU DAI driver implemented in the Linux ALSA framework.

3 Configuration[edit source]

3.1 Kernel Configuration[edit source]

Activate the SPDIFRX[1] 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 S/PDIF receiver (SPDIFRX) support

3.2 Device tree[edit source]

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

4 How to use[edit source]

The SAI driver is accessed from userland through an ALSA device. Refer to ALSA overview to see how to list and use ALSA devices.

5 How to debug[edit source]

The debugfs and procfs file systems can be checked to get information about the SPDFIRX driver and the resources it uses. A none exhaustive list of these file system entries is provided below. Refer to ALSA overview to get more details about debugging tools.

  • debugfs entries:
$ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers
  • procfs entries:
$ cat /proc/interrupts

6 Source code location[edit source]

sound/soc/stm/stm32_spdifrx.c : implements the SPDIFRX driver.

7 References[edit source]