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" Headphone 0db on
|
||||||
mixer "$card" 'AIF1 Slot 0 Digital DAC' on
|
mixer "$card" 'AIF1 Slot 0 Digital DAC' on
|
||||||
|
|
||||||
# Amlogic G12A/G12B/SM1 HDMI
|
# Amlogic audio devices
|
||||||
case $(dtname) in
|
case $(dtsoc) in
|
||||||
azw,gsking-x|khadas,vim3*) #TDM_A
|
amlogic,g12*|amlogic,sm1)
|
||||||
mixer "$card" 'FRDDR_A SINK 1 SEL' 'OUT 0'
|
# AXG HDMI // Logic assumes TDMOUT_A is not present in device-tree when TDMOUT_B is used
|
||||||
mixer "$card" 'FRDDR_A SRC 1 EN' on
|
TDMOUT=$(awk '/TDMOUT/ && $2=="OUT" {print substr($1,length($1),1)}' /sys/firmware/devicetree/base/sound/audio-routing | sort | head -n 1)
|
||||||
mixer "$card" 'TDMOUT_A SRC SEL' 'IN 0'
|
if [ "${TDMOUT}" = "A" ]; then
|
||||||
mixer "$card" 'TOHDMITX' on
|
mixer "$card" 'FRDDR_A SINK 1 SEL' 'OUT 0'
|
||||||
mixer "$card" 'TOHDMITX I2S SRC' 'I2S A'
|
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
|
amlogic,meson-gx*)
|
||||||
mixer "$card" 'FRDDR_A SINK 1 SEL' 'OUT 1'
|
# AIU HDMI and S/PDIF
|
||||||
mixer "$card" 'FRDDR_A SRC 1 EN' on
|
mixer "$card" 'AIU HDMI CTRL SRC' 'I2S'
|
||||||
mixer "$card" 'TDMOUT_B SRC SEL' 'IN 0'
|
mixer "$card" 'AIU SPDIF SRC SEL' 'SPDIF'
|
||||||
mixer "$card" 'TOHDMITX' on
|
# AIU ACODEC headphone jack
|
||||||
mixer "$card" 'TOHDMITX I2S SRC' 'I2S B'
|
mixer "$card" 'ACODEC' 80% on
|
||||||
|
mixer "$card" 'AIU ACODEC SRC' 'I2S'
|
||||||
|
mixer "$card" 'AIU ACODEC OUT EN' on
|
||||||
;;
|
;;
|
||||||
esac
|
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
|
# ES8316 headphone jack
|
||||||
mixer "$card" 'Right Headphone Mixer Right DAC' on
|
mixer "$card" 'Right Headphone Mixer Right DAC' on
|
||||||
mixer "$card" 'Left Headphone Mixer Left DAC' on
|
mixer "$card" 'Left Headphone Mixer Left DAC' on
|
||||||
|
Loading…
x
Reference in New Issue
Block a user