如何在芯片内路由SGTL5000音频?

如何在芯片内路由SGTL5000音频?

我有一个带有 sgtl5000 音频编解码器的嵌入式设备,通过 SPI 连接到 iMX8 CPU。

根据数据表,有一条从 LINE_IN 到 HP_OUT 的直接路线,这避免了声音通过 SPI 连接传输到 CPU。 数据表框图

ALSA/alsamixer 是否允许我进行此路由,或者它仅限于那些遍历内核的音频流?


使用amixer,我可以看到:

root@test217:~# amixer 
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 89 [70%] [-7.00dB] [on]
  Front Right: Playback 89 [70%] [-7.00dB] [on]
Simple mixer control 'Headphone Mux',0
  Capabilities: enum
  Items: 'DAC' 'LINE_IN'
  Item0: 'DAC'
...

什么命令可以让我从Headphone Mux>>切换到?Item0DACLINE_IN

答案1

看起来实现我需要的部分(两个多路复用器的操作)可以使用 amixer 命令本身来完成:

root@test217:~# amixer sset 'Headphone Mux' 'LINE_IN'
Simple mixer control 'Headphone Mux',0
  Capabilities: enum
  Items: 'DAC' 'LINE_IN'
  Item0: 'LINE_IN'
root@test217:~# amixer sset 'Capture Mux' 'MIC_IN'
Simple mixer control 'Capture Mux',0
  Capabilities: enum
  Items: 'MIC_IN' 'LINE_IN'
  Item0: 'MIC_IN'

这尚未检查,因为我无法使用扬声器。

相关内容