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
必要なもの(2つのマルチプレクサ動作)を実装する部分は、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'
スピーカーが使えないのでまだ確認していません。