SPDIFRX Linux driver

来自百问网嵌入式Linux wiki
Wiki讨论 | 贡献2020年11月5日 (四) 16:54的版本 →‎How to use

Article purpose

本文介绍了适用于SPDIFRX internal peripheral的SPDIFRX Linux®驱动程序。

Short Description

SPDIFRX[1] Linux 驱动程序是在LinuxALSA framework中实现的ASoC CPU DAI驱动程序。

Configuration

Kernel Configuration

使用Linux Menuconfig工具在内核配置中激活SPDIFRX[1] Linux驱动程序: 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

Device tree

配置SPDIFRX Linux内核驱动程序时,请参考SPDIFRX device tree configuration

How to use

可通过ALSA设备从用户区访问SPDIFRX驱动程序。 请参阅ALSA overview ,以了解如何列出和使用ALSA设备。


SPDFIRX驱动程序公开了一个alsa控件,该控件允许从输入音频流中检索IEC958状态位。

Warning.png 设备树中SPDIFRX输入引脚的配置可能会对IEC958控制的使用施加一些限制。因此,在某些配置中,仅当捕获音频流时才能使用控件。有关SPDIFRX配置的详细信息,请参阅SPDIFRX device tree configuration

How to debug

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

Source code location

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