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

来自百问网嵌入式Linux wiki
 
(未显示同一用户的6个中间版本)
第3行: 第3行:
  
 
== Short Description ==
 
== Short Description ==
The SPDIFRX<ref name="SPDIFRX internal peripheral">[[SPDIFRX internal peripheral]]</ref> Linux driver is an ASoC CPU DAI driver implemented in the Linux [[ALSA_overview|ALSA framework]].
+
SPDIFRX<ref name="SPDIFRX internal peripheral">[[SPDIFRX internal peripheral]]</ref> Linux 驱动程序是在Linux[[ALSA_overview|ALSA framework]]中实现的ASoC CPU DAI驱动程序。
  
 
== Configuration ==
 
== Configuration ==
  
 
=== 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
第19行: 第19行:
  
 
=== Device tree ===
 
=== Device tree ===
Refer to the [[SPDIFRX device tree configuration]] article when configuring the SPDIFRX Linux kernel driver.
+
配置SPDIFRX Linux内核驱动程序时,请参考[[SPDIFRX device tree configuration]]
  
 
== How to use ==
 
== How to use ==
The SPDIFRX driver is accessed from userland through an ALSA device. Refer to [[ALSA_overview#How_to_use|ALSA overview]] to see how to list and use ALSA devices.
+
可通过ALSA设备从用户区访问SPDIFRX驱动程序。 请参阅[[ALSA_overview#How_to_use|ALSA overview]] ,以了解如何列出和使用ALSA设备。
  
The SPDFIRX driver exposes an alsa control, which allows to retrieve the IEC958 status bits from
+
 
the input audio stream.
+
SPDFIRX驱动程序公开了一个alsa控件,该控件允许从输入音频流中检索IEC958状态位。
{{Warning|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.}}
+
 
 +
{{Warning|设备树中SPDIFRX输入引脚的配置可能会对IEC958控制的使用施加一些限制。因此,在某些配置中,仅当捕获音频流时才能使用控件。有关SPDIFRX配置的详细信息,请参阅[[SPDIFRX device tree configuration]]}}
  
 
== How to debug ==
 
== How to debug ==
The [[Debugfs|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#How_to_trace_and_debug_the_framework|ALSA overview]] to get more details about debugging tools.
+
可以检查[[Debugfs|debugfs]] 和procfs文件系统以获取有关SPDFIRX驱动程序及其使用的资源的信息。下面提供了这些文件系统条目的详尽列表。 请参阅[[ALSA_overview#How_to_trace_and_debug_the_framework|ALSA overview]],以获取有关调试工具的更多详细信息。
 
+
* debugfs条目:
* debugfs entries:
+
:* '''asoc''': 请参阅[[ALSA_overview#How_to_monitor]]
:* '''asoc''': refer to [[ALSA_overview#How_to_monitor]]
+
:* '''clk''': 请参阅 [[Clock_overview#How_to_monitor_with_debugfs]] 获取时钟信息。
:* '''clk''': refer to [[Clock_overview#How_to_monitor_with_debugfs]] to get information on clocks.
+
:* '''pinctrl''': 请参阅 [[Pinctrl_overview#How_to_monitor]]获取时钟信息。
:* '''pinctrl''': refer to [[Pinctrl_overview#How_to_monitor]] to get information on pins.
+
:* '''regmap''': 允许监视SPDIFRX外设寄存器。
:* '''regmap''': allow to monitor SPDIFRX peripheral registers.
 
 
<div style="margin-left: 2em;">
 
<div style="margin-left: 2em;">
 
  $ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers
 
  $ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers
 
</div>
 
</div>
* procfs entries:
+
* procfs条目:
:* '''asound''': refer to [[ALSA_overview#How_to_debug]]
+
:* '''asound''': 请参阅 [[ALSA_overview#How_to_debug]]
:* '''interrupts''': allow to check interrupts.
+
:* '''interrupts''': 允许检查中断
 
<div style="margin-left: 2em;">
 
<div style="margin-left: 2em;">
 
  $ cat /proc/interrupts
 
  $ cat /proc/interrupts
第47行: 第47行:
  
 
== Source code location ==
 
== Source code location ==
{{CodeSource | Linux kernel | sound/soc/stm/stm32_spdifrx.c}}: implements the SPDIFRX driver.
+
{{CodeSource | Linux kernel | sound/soc/stm/stm32_spdifrx.c}}: 实现SPDIFRX驱动程序。
  
 
==References==
 
==References==
 
<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状态位。

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

How to debug

可以检查调试文件系统(debugfs) 和procfs文件系统以获取有关SPDFIRX驱动程序及其使用的资源的信息。下面提供了这些文件系统条目的详尽列表。 请参阅ALSA overview,以获取有关调试工具的更多详细信息。

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

Source code location

sound/soc/stm/stm32_spdifrx.c| |}} sound/soc/stm/stm32_spdifrx.c : 实现SPDIFRX驱动程序。