“SPDIFRX Linux driver”的版本间的差异
来自百问网嵌入式Linux wiki
(未显示2个用户的10个中间版本) | |||
第1行: | 第1行: | ||
− | [[ | + | == Article purpose == |
− | + | 本文介绍了适用于[[SPDIFRX internal peripheral]]的SPDIFRX Linux<sup>®</sup>驱动程序。 | |
− | + | ||
+ | == Short Description == | ||
+ | SPDIFRX<ref name="SPDIFRX internal peripheral">[[SPDIFRX internal peripheral]]</ref> Linux 驱动程序是在Linux[[ALSA_overview|ALSA framework]]中实现的ASoC CPU DAI驱动程序。 | ||
+ | |||
+ | == Configuration == | ||
+ | |||
+ | === Kernel Configuration === | ||
+ | 使用Linux Menuconfig工具在内核配置中激活SPDIFRX<ref name="SPDIFRX internal peripheral"/> Linux驱动程序: [[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 S/PDIF receiver (SPDIFRX) support | ||
+ | </pre> | ||
+ | |||
+ | === Device tree === | ||
+ | 配置SPDIFRX Linux内核驱动程序时,请参考[[SPDIFRX device tree configuration]] 。 | ||
+ | |||
+ | == How to use == | ||
+ | 可通过ALSA设备从用户区访问SPDIFRX驱动程序。 请参阅[[ALSA_overview#How_to_use|ALSA overview]] ,以了解如何列出和使用ALSA设备。 | ||
+ | |||
+ | |||
+ | SPDFIRX驱动程序公开了一个alsa控件,该控件允许从输入音频流中检索IEC958状态位。 | ||
+ | |||
+ | {{Warning|设备树中SPDIFRX输入引脚的配置可能会对IEC958控制的使用施加一些限制。因此,在某些配置中,仅当捕获音频流时才能使用控件。有关SPDIFRX配置的详细信息,请参阅[[SPDIFRX device tree configuration]]。}} | ||
+ | |||
+ | == How to debug == | ||
+ | 可以检查[[Debugfs|debugfs]] 和procfs文件系统以获取有关SPDFIRX驱动程序及其使用的资源的信息。下面提供了这些文件系统条目的详尽列表。 请参阅[[ALSA_overview#How_to_trace_and_debug_the_framework|ALSA overview]],以获取有关调试工具的更多详细信息。 | ||
+ | * debugfs条目: | ||
+ | :* '''asoc''': 请参阅[[ALSA_overview#How_to_monitor]] | ||
+ | :* '''clk''': 请参阅 [[Clock_overview#How_to_monitor_with_debugfs]] 获取时钟信息。 | ||
+ | :* '''pinctrl''': 请参阅 [[Pinctrl_overview#How_to_monitor]]获取时钟信息。 | ||
+ | :* '''regmap''': 允许监视SPDIFRX外设寄存器。 | ||
+ | <div style="margin-left: 2em;"> | ||
+ | $ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers | ||
+ | </div> | ||
+ | * procfs条目: | ||
+ | :* '''asound''': 请参阅 [[ALSA_overview#How_to_debug]] | ||
+ | :* '''interrupts''': 允许检查中断 | ||
+ | <div style="margin-left: 2em;"> | ||
+ | $ cat /proc/interrupts | ||
+ | </div> | ||
+ | |||
+ | == Source code location == | ||
+ | {{CodeSource | Linux kernel | sound/soc/stm/stm32_spdifrx.c}}: 实现SPDIFRX驱动程序。 | ||
+ | |||
+ | ==References== | ||
+ | <references /> |
2020年11月5日 (四) 17:02的最新版本
目录
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条目:
- asoc: 请参阅ALSA_overview#How_to_monitor
- clk: 请参阅 Clock_overview#How_to_monitor_with_debugfs 获取时钟信息。
- pinctrl: 请参阅 Pinctrl_overview#How_to_monitor获取时钟信息。
- regmap: 允许监视SPDIFRX外设寄存器。
$ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers
- procfs条目:
- asound: 请参阅 ALSA_overview#How_to_debug
- interrupts: 允许检查中断
$ cat /proc/interrupts
Source code location
sound/soc/stm/stm32_spdifrx.c| |}} sound/soc/stm/stm32_spdifrx.c : 实现SPDIFRX驱动程序。