Codec 与其它音频路径机制与实现详解

Codec 与其它音频路径机制与实现详解

源码路径rk3588/kernel-6.1/sound/soc/codecs/sound/usb/sound/hda/
文档目录linuxDoc/sound/


目录


一、Codec 层

sound/soc/codecs/ 实现 hundreds of Codec/I2C 设备 的 ASoC 驱动:

类型 示例
I2C 音频 Codec ES8316、ES8388、RT5640、WM8960
HDMI/Display hdmi-codec.c
功放 simple-amplifier.c
DMIC spdif_transceiverdmic

每个驱动提供 snd_soc_component_driver + snd_soc_dai_driver,与 CPU DAI 格式协商set_fmt、时钟主从)。


二、RK 相关 Codec

文件 说明
rk_codec_digital.c RK3588 片上数字 路径 GRF 配置
Machine 中选型 rockchip_rt5645da7219max98090板级 绑定外置芯片

实际 RK3588 板卡常见:ES8388 / ES8311 等(具体以 BSP DTS 为准,可能在 codecs 目录有对应 .c)。


三、USB 音频

sound/usb/(~100+ 文件):

  • USB Audio Class 1/2
  • card.cpcm.cmixer.c 标准 UAC 流程
  • 大量 quirksquirks.c)修正厂商设备

RK3588 作 USB Host 时可接 USB 声卡;OTG 声卡模式 另涉 gadget 栈(不在 sound/usb 主机路径)。


四、HDA 与其它

目录 RK3588
hda/ 一般不启用(x86 笔记本)
pci/ 无关
virtio/ 虚拟机场景
soc/sof/ Intel/AMD 专用 DSP 框架

五、RK3588

  • 产品音频 主力:内置 I2S + 外置 Codec + HDMI
  • USB 麦克风/声卡:走 usb-audio 模块,与 ASoC 并存第二套 card
  • 编解码器 VPU 处理视频轨音频常 不重采样经 ALSA(容器内 FFmpeg),但 HDMI 输出 仍可能用本栈

附录

调试外置 Codec:i2cdetect、检查 sound-dai graph、dmesg | grep asoc

相关03 DAI

文章互动

阅读 --

留言

0 条留言

正在加载留言…