mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
alsa-utils: rework Amlogic card soundconfig setup
This commit is contained in:
parent
73c42fcfb5
commit
3598d43336
@ -128,34 +128,52 @@ else
|
||||
mixer "$card" Headphone 0db on
|
||||
mixer "$card" 'AIF1 Slot 0 Digital DAC' on
|
||||
|
||||
# Amlogic G12A/G12B/SM1 HDMI
|
||||
case $(dtname) in
|
||||
azw,gsking-x|khadas,vim3*) #TDM_A
|
||||
mixer "$card" 'FRDDR_A SINK 1 SEL' 'OUT 0'
|
||||
mixer "$card" 'FRDDR_A SRC 1 EN' on
|
||||
mixer "$card" 'TDMOUT_A SRC SEL' 'IN 0'
|
||||
mixer "$card" 'TOHDMITX' on
|
||||
mixer "$card" 'TOHDMITX I2S SRC' 'I2S A'
|
||||
# Amlogic audio devices
|
||||
case $(dtsoc) in
|
||||
amlogic,g12*|amlogic,sm1)
|
||||
# AXG HDMI // Logic assumes TDMOUT_A is not present in device-tree when TDMOUT_B is used
|
||||
TDMOUT=$(awk '/TDMOUT/ && $2=="OUT" {print substr($1,length($1),1)}' /sys/firmware/devicetree/base/sound/audio-routing | sort | head -n 1)
|
||||
if [ "${TDMOUT}" = "A" ]; then
|
||||
mixer "$card" 'FRDDR_A SINK 1 SEL' 'OUT 0'
|
||||
mixer "$card" 'FRDDR_A SRC 1 EN' on
|
||||
mixer "$card" 'TDMOUT_A SRC SEL' 'IN 0'
|
||||
mixer "$card" 'TOHDMITX' on
|
||||
mixer "$card" 'TOHDMITX I2S SRC' 'I2S A'
|
||||
elif [ "${TDMOUT}" = "B" ]; then
|
||||
mixer "$card" 'FRDDR_A SINK 1 SEL' 'OUT 1'
|
||||
mixer "$card" 'FRDDR_A SRC 1 EN' on
|
||||
mixer "$card" 'TDMOUT_B SRC SEL' 'IN 0'
|
||||
mixer "$card" 'TOHDMITX' on
|
||||
mixer "$card" 'TOHDMITX I2S SRC' 'I2S B'
|
||||
fi
|
||||
# AXG S/PDIF
|
||||
SPDIFOUT=$(awk '/SPDIF/' /sys/firmware/devicetree/base/sound/audio-routing | sort | head -n 1)
|
||||
if [ -n "${SPDIFOUT}" ]; then
|
||||
mixer "$card" 'FRDDR_B SINK 1 SEL' 'OUT 3'
|
||||
mixer "$card" 'FRDDR_B SRC 1 EN' on
|
||||
mixer "$card" 'SPDIFOUT SRC SEL' 'IN 1'
|
||||
mixer "$card" 'SPDIFOUT Playback' on
|
||||
fi
|
||||
# AXG Headphone Jack
|
||||
ACODEC=$(awk '/ACODEC/' /sys/firmware/devicetree/base/sound/audio-routing | sort | head -n 1)
|
||||
if [ -n "${ACODEC}" ]; then
|
||||
mixer "$card" 'TOACODEC OUT EN' on
|
||||
mixer "$card" 'TOACODEC SRC' 'I2S ${TDMOUT}'
|
||||
mixer "$card" 'ACODEC Playback Switch' on
|
||||
mixer "$card" 'ACODEC Playback Channel Mode' Stereo
|
||||
fi
|
||||
;;
|
||||
*) #TDM_B
|
||||
mixer "$card" 'FRDDR_A SINK 1 SEL' 'OUT 1'
|
||||
mixer "$card" 'FRDDR_A SRC 1 EN' on
|
||||
mixer "$card" 'TDMOUT_B SRC SEL' 'IN 0'
|
||||
mixer "$card" 'TOHDMITX' on
|
||||
mixer "$card" 'TOHDMITX I2S SRC' 'I2S B'
|
||||
amlogic,meson-gx*)
|
||||
# AIU HDMI and S/PDIF
|
||||
mixer "$card" 'AIU HDMI CTRL SRC' 'I2S'
|
||||
mixer "$card" 'AIU SPDIF SRC SEL' 'SPDIF'
|
||||
# AIU ACODEC headphone jack
|
||||
mixer "$card" 'ACODEC' 80% on
|
||||
mixer "$card" 'AIU ACODEC SRC' 'I2S'
|
||||
mixer "$card" 'AIU ACODEC OUT EN' on
|
||||
;;
|
||||
esac
|
||||
|
||||
# Amlogic G12A/G12B/SM1 S/PDIF
|
||||
mixer "$card" 'FRDDR_B SINK 1 SEL' 'OUT 3'
|
||||
mixer "$card" 'FRDDR_B SRC 1 EN' on
|
||||
mixer "$card" 'SPDIFOUT SRC SEL' 'IN 1'
|
||||
mixer "$card" 'SPDIFOUT Playback' on
|
||||
|
||||
# Amlogic GX HDMI and S/PDIF
|
||||
mixer "$card" 'AIU HDMI CTRL SRC' 'I2S'
|
||||
mixer "$card" 'AIU SPDIF SRC SEL' 'SPDIF'
|
||||
|
||||
# ES8316 headphone jack
|
||||
mixer "$card" 'Right Headphone Mixer Right DAC' on
|
||||
mixer "$card" 'Left Headphone Mixer Left DAC' on
|
||||
|
Loading…
x
Reference in New Issue
Block a user