“SAI Linux driver”的版本间的差异
来自百问网嵌入式Linux wiki
(未显示同一用户的8个中间版本) | |||
第1行: | 第1行: | ||
== Article purpose == | == Article purpose == | ||
− | + | 本文介绍了适用于[[SAI internal peripheral]]的SAI Linux<sup>®</sup> 驱动程序。 | |
== Short Description == | == Short Description == | ||
− | + | SAI<ref name="SAI internal peripheral">[[SAI internal peripheral]]</ref> Linux驱动程序是在Linux [[ALSA_overview|ALSA framework]]中实现的ASoC CPU DAI驱动程序。 | |
== Configuration == | == Configuration == | ||
=== Kernel Configuration === | === Kernel Configuration === | ||
− | + | 使用Linux Menuconfig工具在内核配置中激活SAI <ref name="SAI internal peripheral"/> Linux驱动程序: [[Menuconfig or how to configure kernel]]. | |
<pre> | <pre> | ||
[*] Device Drivers | [*] Device Drivers | ||
第19行: | 第19行: | ||
=== Device tree === | === Device tree === | ||
− | + | 配置SAI Linux内核驱动时,请参考[[SAI device tree configuration]] 文章。 | |
== How to use == | == How to use == | ||
− | + | 可以通过ALSA设备从用户域访问SAI Linux驱动程序。有关如何列出和使用ALSA设备的信息,请参考[[ALSA_overview#How_to_use|ALSA overview]] 。 | |
==How to trace and debug== | ==How to trace and debug== | ||
− | + | 可以检查[[Debugfs|debugfs]] 和procfs文件系统以获取有关SAI驱动程序及其使用的资源的信息。 下面提供了这些文件系统条目的详尽列表。 有关调试工具的更多详细信息,请参见[[ALSA_overview#How_to_trace_and_debug_the_framework|ALSA overview]] 。 | |
− | * | + | * debugfs条目: |
− | :* '''asoc''': | + | :* '''asoc''': 请参阅 [[ALSA_overview#How_to_monitor]] |
− | :* '''clk''': | + | :* '''clk''': 请参阅 [[Clock_overview#How_to_monitor_with_debugfs]] 以获取有关时钟的信息。 |
− | :* '''pinctrl''': | + | :* '''pinctrl''': 请参阅 [[Pinctrl_overview#How_to_monitor]] 以获取有关PIN的信息。 |
− | :* '''regmap''': | + | :* '''regmap''': 允许监视SAI外设寄存器。 |
<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条目: |
− | :* '''asound''': | + | :* '''asound''': 请参阅 [[ALSA_overview#How_to_debug]] |
− | :* '''interrupts''': | + | :* '''interrupts''': 允许检查中断。 |
<div style="margin-left: 2em;"> | <div style="margin-left: 2em;"> | ||
$ cat /proc/interrupts | $ cat /proc/interrupts | ||
第43行: | 第43行: | ||
== Source code location == | == Source code location == | ||
− | + | STM32 SAI外围设备包括两个共享公共资源的独立音频子块。 驱动程序源代码反映了该体系结构 | |
− | {{CodeSource | Linux kernel | sound/soc/stm/stm32_sai.c}}: | + | {{CodeSource | Linux kernel | sound/soc/stm/stm32_sai.c}}: 处理常见的资源,例如时钟,中断,复位和共享寄存器。 |
− | {{CodeSource | Linux kernel | sound/soc/stm/stm32_sai_sub.c}}: | + | {{CodeSource | Linux kernel | sound/soc/stm/stm32_sai_sub.c}}: 处理专用于每个子块的资源。 |
==References== | ==References== | ||
<references /> | <references /> |
2020年11月5日 (四) 16:08的最新版本
目录
Article purpose
本文介绍了适用于SAI internal peripheral的SAI Linux® 驱动程序。
Short Description
SAI[1] Linux驱动程序是在Linux ALSA framework中实现的ASoC CPU DAI驱动程序。
Configuration
Kernel Configuration
使用Linux Menuconfig工具在内核配置中激活SAI [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 SAI interface (Serial Audio Interface) support
Device tree
配置SAI Linux内核驱动时,请参考SAI device tree configuration 文章。
How to use
可以通过ALSA设备从用户域访问SAI Linux驱动程序。有关如何列出和使用ALSA设备的信息,请参考ALSA overview 。
How to trace and debug
可以检查调试文件系统(debugfs) 和procfs文件系统以获取有关SAI驱动程序及其使用的资源的信息。 下面提供了这些文件系统条目的详尽列表。 有关调试工具的更多详细信息,请参见ALSA overview 。
- debugfs条目:
- asoc: 请参阅 ALSA_overview#How_to_monitor
- clk: 请参阅 Clock_overview#How_to_monitor_with_debugfs 以获取有关时钟的信息。
- pinctrl: 请参阅 Pinctrl_overview#How_to_monitor 以获取有关PIN的信息。
- regmap: 允许监视SAI外设寄存器。
$ cat /sys/kernel/debug/regmap/xxx.audio-controller/registers
- procfs条目:
- asound: 请参阅 ALSA_overview#How_to_debug
- interrupts: 允许检查中断。
$ cat /proc/interrupts
Source code location
STM32 SAI外围设备包括两个共享公共资源的独立音频子块。 驱动程序源代码反映了该体系结构
sound/soc/stm/stm32_sai.c| |}} sound/soc/stm/stm32_sai.c : 处理常见的资源,例如时钟,中断,复位和共享寄存器。
sound/soc/stm/stm32_sai_sub.c| |}} sound/soc/stm/stm32_sai_sub.c : 处理专用于每个子块的资源。