opi900: fix es8388 audio

This commit is contained in:
orangepi-xunlong 2023-06-14 21:09:48 +08:00
parent a2713f5075
commit d327f215fc
4 changed files with 72 additions and 4 deletions

View File

@ -100,6 +100,19 @@ prepare_board() {
orangepi5|orangepi5b|orangepi5plus|orangepitab|orangepi900) orangepi5|orangepi5b|orangepi5plus|orangepitab|orangepi900)
[[ $BOARD =~ orangepi5|orangepi5b ]] && echo host > /sys/kernel/debug/usb/fc000000.usb/mode [[ $BOARD =~ orangepi5|orangepi5b ]] && echo host > /sys/kernel/debug/usb/fc000000.usb/mode
if [[ $BOARD =~ orangepi900 ]]; then
es8388_card=$(aplay -l | grep "es8388" | cut -d ':' -f 1 | cut -d ' ' -f 2)
jack_num=$(tinymix -D ${es8388_card} | grep "Headphone Jack" | cut -c1-2)
if [[ $(tinymix -D ${es8388_card} $jack_num | cut -d ":" -f 2) == *On ]]; then
tinymix -D ${es8388_card} 25 2
tinymix -D ${es8388_card} 27 2
else
tinymix -D ${es8388_card} 25 0
tinymix -D ${es8388_card} 27 0
fi
fi
if [[ -c /dev/mpp_service ]]; then if [[ -c /dev/mpp_service ]]; then
chmod 0666 /dev/mpp_service chmod 0666 /dev/mpp_service

View File

@ -0,0 +1 @@
ACTION=="change", SUBSYSTEM=="extcon", ATTR{name}=="es8388-sound", RUN+="/usr/bin/orangepi_audio.sh"

View File

@ -0,0 +1,40 @@
#!/bin/bash
source /etc/orangepi-release
es8388_card=$(aplay -l | grep "es8388" | cut -d ':' -f 1 | cut -d ' ' -f 2)
jack_num=$(tinymix -D ${es8388_card} | grep "Headphone Jack" | cut -c1-2)
[[ ${BOARD} != orangepi900 ]] && exit
if [[ $(tinymix -D ${es8388_card} $jack_num | cut -d ":" -f 2) == *On ]]; then
#for playback
tinymix -D ${es8388_card} 25 2
tinymix -D ${es8388_card} 27 2
#for capture
tinymix -D ${es8388_card} 35 0
tinymix -D ${es8388_card} 36 0
tinymix -D ${es8388_card} 37 0
else
#for playback
tinymix -D ${es8388_card} 25 0
tinymix -D ${es8388_card} 27 0
#for capture
tinymix -D ${es8388_card} 35 1
tinymix -D ${es8388_card} 36 1
tinymix -D ${es8388_card} 37 1
fi
tinymix -D ${es8388_card} 3 4
tinymix -D ${es8388_card} 4 2
tinymix -D ${es8388_card} 14 192
tinymix -D ${es8388_card} 16 4
tinymix -D ${es8388_card} 17 4
tinymix -D ${es8388_card} 23 30
tinymix -D ${es8388_card} 24 30

View File

@ -7,6 +7,8 @@ else
exit exit
fi fi
source /etc/orangepi-release
card=$(aplay -l | grep "es8388" | cut -d ':' -f 1 | cut -d ' ' -f 2) card=$(aplay -l | grep "es8388" | cut -d ':' -f 1 | cut -d ' ' -f 2)
hdmi0_card=$(aplay -l | grep "hdmi0" | cut -d ':' -f 1 | cut -d ' ' -f 2) hdmi0_card=$(aplay -l | grep "hdmi0" | cut -d ':' -f 1 | cut -d ' ' -f 2)
@ -15,22 +17,34 @@ if [[ $type == "main" ]]; then
tinymix -D $card 3 4 tinymix -D $card 3 4
tinymix -D $card 4 2 tinymix -D $card 4 2
tinymix -D $card 14 192 tinymix -D $card 14 192
tinymix -D $card 16 0 tinymix -D $card 16 4
tinymix -D $card 17 0 tinymix -D $card 17 4
if [[ ${BOARD} == orangepi900 ]]; then
tinymix -D $card 35 1
tinymix -D $card 36 1
tinymix -D $card 37 1
else
tinymix -D $card 31 1 tinymix -D $card 31 1
tinymix -D $card 32 1 tinymix -D $card 32 1
tinymix -D $card 33 1 tinymix -D $card 33 1
fi
else else
tinymix -D $card 3 2 tinymix -D $card 3 2
tinymix -D $card 4 1 tinymix -D $card 4 1
tinymix -D $card 14 192 tinymix -D $card 14 192
tinymix -D $card 16 0 tinymix -D $card 16 4
tinymix -D $card 17 0 tinymix -D $card 17 4
if [[ ${BOARD} == orangepi900 ]]; then
tinymix -D $card 35 0
tinymix -D $card 36 0
tinymix -D $card 37 0
else
tinymix -D $card 31 0 tinymix -D $card 31 0
tinymix -D $card 32 0 tinymix -D $card 32 0
tinymix -D $card 33 0 tinymix -D $card 33 0
fi
fi fi