RK3588 平台音频拓扑与使用场景详解

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 固有模块。


二、典型拓扑

播放采集用户态 PCMI2S/TDM DAIES8388 CodecHDMI CodecHDMI 控制器PDM 麦克风PDM DAIPCM capture

设备树(概念):

  • i2s@... 节点 + sound 简单声卡或 rockchip,multicodecs
  • pinctrl 配置 I2S 引脚
  • clocksmclkhclk 来自 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
2
3
4
5
6
7
8
9
10
11
# 内核
zcat /proc/config.gz | grep -E 'SND|SOC|ROCKCHIP'

# 用户态
aplay -l
arecord -l
cat /proc/asound/cards
dmesg | grep -iE 'asoc|rockchip-i2s|hdmi-codec'

# 格式测试
speaker-test -D hw:0,0 -c 2
问题 方向
无声卡 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

文章互动

阅读 --

留言

0 条留言

正在加载留言…