SPDIFRX Linux driver
来自百问网嵌入式Linux wiki
目录
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状态位。
![]() |
设备树中SPDIFRX输入引脚的配置可能会对IEC958控制的使用施加一些限制。因此,在某些配置中,仅当捕获音频流时才能使用控件。有关SPDIFRX配置的详细信息,请参阅SPDIFRX device tree configuration。 |
How to debug
可以检查调试文件系统(debugfs) 和procfs文件系统以获取有关SPDFIRX驱动程序及其使用的资源的信息。下面提供了这些文件系统条目的详尽列表。 请参阅ALSA overview,以获取有关调试工具的更多详细信息。
- 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 SPDIFRX 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
Source code location
sound/soc/stm/stm32_spdifrx.c| |}} sound/soc/stm/stm32_spdifrx.c : 实现SPDIFRX驱动程序。