SPI를 통해 iMX8 CPU에 연결된 sgtl5000 오디오 코덱이 포함된 내장 장치가 있습니다.
데이터시트에 따르면 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
>>에서 로 전환할 수 있는 명령은 무엇입니까 ?Item0
DAC
LINE_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'
스피커를 사용할 수 없기 때문에 아직 확인하지 않았습니다.