RK3588 平台音频拓扑与使用场景详解
源码路径:
rk3588/kernel-6.1/sound/soc/rockchip/+ 板级 DTS
文档目录:linuxDoc/sound/
目录
一、SoC 音频 IP 概览
| IP | 驱动 compatible | 常见用途 |
|---|---|---|
| I2S/TDM | rockchip,rk3588-i2s-tdm |
Line-out、Codec、HDMI I2S |
| PDM | rockchip,rk3588-pdm |
板载数字麦 |
| SPDIF | rockchip,rk3588-spdif |
数字音频输出 |
| VAD | rockchip,rk3588-vad |
低功耗语音唤醒 |
| Codec digital | rockchip,rk3588-codec-digital |
SoC 侧数字音频控制 |
DLP/multi_dais 可用于部分语音、聚合和回环场景(见 04)。本分支 rockchip_asrc.c 没有 RK3588 compatible,不能把它当作 RK3588 固有模块。
二、典型拓扑
设备树(概念):
i2s@...节点 +sound简单声卡或rockchip,multicodecspinctrl配置 I2S 引脚clocks:mclk、hclk来自 CRU
具体节点名以 arch/arm64/boot/dts/rockchip/rk3588-*.dts(i) 为准。
三、SeagullYpcEncode / 编解码
| 场景 | 音频栈 |
|---|---|
| HDMI 输出监视器(带扬声器) | HDMI I2S + rockchip_hdmi |
| 模拟耳机/Line-out | I2S + 外置 Codec |
| USB 摄像头麦克风 | usb-audio(独立) |
| 纯视频编解码(无音频轨) | 可不加载音频模块 |
| 语音对讲 / 唤醒 | PDM + VAD(若产品启用) |
MPP/VPU 处理 H.264/H.265 不替代 ALSA;音轨 mux 在 容器/GStreamer 完成,HDMI 音频仍走内核声卡。
四、配置与调试
1 | # 内核 |
| 问题 | 方向 |
|---|---|
| 无声卡 | CONFIG_SND_SOC_ROCKCHIP、DT status = "okay" |
| 播放无声音 | DAPM 路由、功放 GPIO、amixer 静音 |
| HDMI 无音频 | DRM 绑定、hdmi-codec link、显示器 EDID |
| 采样率不对 | hw_params、MCLK/BCLK 分频;若板级确有外部转换再查 ASRC |
五、与显示/电源关系
- HDMI 音频 依赖 DRM HDMI 先完成模式设置;时钟可能共享 CRU/HDMICTRL
- runtime PM:DAI 驱动常用
pm_runtime;空闲 DAPM 下电降低功耗 - 编解码高负载 时 CPU 调度影响 音频 xrun(underrun),与
kernel/sched相关,非 VPU 驱动本身
关联文档
- 总览
- 02 ASoC DAPM
- 既有笔记:
linuxDoc/sound/rk3588-kernel-6.1-sound声卡架构分析.md