sound/ 源码目录与模块索引
源码路径:rk3588/kernel-6.1/sound/(约 2800 文件)
内核版本:Linux 6.1(RK3588 / ARM64)
文档目录:linuxDoc/sound/
一、顶层 Makefile
1 2
| obj-$(CONFIG_SOUND) += soundcore.o obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ arm/ ... soc/ hda/ usb/ ...
|
| CONFIG |
说明 |
CONFIG_SND |
现代 ALSA |
CONFIG_SND_SOC |
ASoC(嵌入式必选) |
CONFIG_SND_SOC_ROCKCHIP |
RK 平台 DAI |
二、一级子目录(RK 产品相关度)
| 目录 |
相关度 |
说明 |
core/ |
高 |
ALSA 核心:card、pcm、control、timer |
soc/ |
最高 |
ASoC + soc/rockchip/ |
soc/codecs/ |
高 |
外置/内置 Codec(含 rk_codec_digital.c) |
usb/ |
中 |
USB 声卡 |
hda/ |
低 |
PC HD Audio(RK 一般无) |
pci/、isa/ |
低 |
桌面遗留 |
drivers/ |
中 |
杂项声卡驱动 |
firewire/、virtio/ |
低 |
特殊平台 |
soc/ 内其它厂商:ti/、qcom/、samsung/、sof/ 等(RK 树内保留上游代码)。
三、soc/rockchip/ 文件(49 个)
| 模块对象 |
源文件 |
功能 |
snd-soc-rockchip-i2s-tdm |
rockchip_i2s_tdm.c |
I2S/TDM 主控制器(RK3588 多路) |
snd-soc-rockchip-i2s |
rockchip_i2s.c |
旧版 I2S |
snd-soc-rockchip-pdm |
rockchip_pdm.c |
PDM 数字麦 |
snd-soc-rockchip-pdm-v2 |
rockchip_pdm_v2.c |
PDM v2(match 不含 RK3588) |
snd-soc-rockchip-sai |
rockchip_sai.c |
通用 rockchip,sai-v1,需按 DTS 判断 |
snd-soc-rockchip-spdif |
rockchip_spdif.c |
SPDIF 发 |
snd-soc-rockchip-spdifrx |
rockchip_spdifrx.c |
SPDIF 收 |
snd-soc-rockchip-hdmi |
rockchip_hdmi.c |
HDMI 机器驱动 |
snd-soc-rockchip-multicodecs |
rockchip_multicodecs.c |
多 Codec 板级 |
snd-soc-rockchip-vad |
rockchip_vad.c |
语音活动检测 |
snd-soc-rockchip-asrc |
rockchip_asrc.c |
异步采样率转换 |
snd-soc-rockchip-dlp |
rockchip_dlp.c |
数字环回 |
snd-soc-rockchip-multi-dais |
rockchip_multi_dais.c |
多 DAI 聚合 |
| 未编译遗留文件 |
rockchip_hdmi_dp.c、rockchip_cdndp.c 等 |
源码存在但未列入本目录 Makefile,不能作为 RK3588 活跃路径 |
rockchip_utils.c |
公共工具 |
|
同类未进入 Makefile 的文件还包括 rockchip_hdmi_analog.c、rockchip_da7219.c、rockchip_rt5651.c、rockchip_audio_pwm.c。分析实际运行路径必须同时核对 Makefile/Kconfig,不能只按 .c 文件是否存在判断。
四、ASoC 核心(soc/ 根目录)
| 文件 |
作用 |
soc-core.c |
组件/卡注册、PM、链路 |
soc-dapm.c |
动态音频电源管理 |
soc-dai.c |
DAI 操作 |
soc-pcm.c |
ASoC PCM 中间层 |
soc-card.c |
snd_soc_card |
soc-link.c |
DAI link |
soc-generic-dmaengine-pcm.c |
DMAengine PCM |
五、RK3588 设备树 compatible(驱动内)
| compatible |
驱动文件 |
rockchip,rk3588-i2s-tdm |
rockchip_i2s_tdm.c |
rockchip,rk3588-pdm |
rockchip_pdm.c |
rockchip,rk3588-spdif |
rockchip_spdif.c |
rockchip,rk3588-vad |
rockchip_vad.c |
rockchip,rk3588-codec-digital |
soc/codecs/rk_codec_digital.c |
rockchip,rk3588-spdifrx, rockchip,rk3308-spdifrx |
DTS 以 fallback 匹配 rockchip_spdifrx.c |
rockchip_asrc.c 在本分支仅匹配 RK3506/RK3576;rockchip_pdm_v2.c 仅匹配 RK3506/RK3576/RV1126B,二者都不能当作 RK3588 原生 compatible。
板级 sound 节点 多在 arch/arm64/boot/dts/rockchip/*.dts(i),非 sound/ 目录。
六、已有补充文档
| 文件 |
说明 |
rk3588-kernel-6.1-sound声卡架构分析.md |
早期架构速览 |
rk3588-kernel-6.1-sound-core*.md |
core 子目录笔记 |
七、专题对照
| 主题 |
文档 |
| ALSA Core |
01 |
| ASoC |
02 |
| RK DAI |
03 |
| RK Machine |
04 |
| Codec/USB |
05 |
| RK3588 |
06 |
| PCM 状态机 |
07 |
| ASoC 绑定/DAI Link |
08 |
| DAPM/Control/Jack |
09 |
| DMAengine/实时性 |
10 |
| I2S/TDM |
11 |
| 数字音频 IP |
12 |
| HDMI/DP |
13 |
| ALSA 其它接口 |
14 |
| RK3588 调试调优 |
15 |
正在加载留言…