“SPDIFRX Linux driver”的版本间的差异

来自百问网嵌入式Linux wiki
第8行: 第8行:
  
 
=== Kernel Configuration ===
 
=== Kernel Configuration ===
Activate the SPDIFRX<ref name="SPDIFRX internal peripheral"/> Linux driver in the kernel configuration using the Linux Menuconfig tool: [[Menuconfig or how to configure kernel]]
+
使用Linux Menuconfig工具在内核配置中激活SPDIFRX<ref name="SPDIFRX internal peripheral"/> Linux驱动程序: [[Menuconfig or how to configure kernel]]
 
<pre>
 
<pre>
 
[*] Device Drivers
 
[*] Device Drivers

2020年11月5日 (四) 16:51的版本

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

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

How to use

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

The SPDFIRX driver exposes an alsa control, which allows to retrieve the IEC958 status bits from the input audio stream.

Warning.png The configuration of the SPDIFRX input pin in the device tree, may put some restrictions on the use of IEC958 control. Thus, in some configuration, the control can be used only when an audio stream is captured. Refer to the SPDIFRX device tree configuration article, to find details about SPDIFRX 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.