From 678fb453d34553b9941babb35cdea807a179dc8a Mon Sep 17 00:00:00 2001 From: Paolo Sabatino Date: Fri, 7 Feb 2025 20:55:59 +0100 Subject: [PATCH] rockchip: fix ASUS Tinkerboard pulseaudio config --- config/sources/families/rockchip.conf | 15 +++++---------- packages/bsp/rockchip/89-pulseaudio-usb.rules | 5 ++++- packages/bsp/rockchip/pulseaudio.txt | 8 -------- packages/bsp/rockchip/tinkerboard-usb-audio.pa | 9 +++++++++ 4 files changed, 18 insertions(+), 19 deletions(-) delete mode 100644 packages/bsp/rockchip/pulseaudio.txt create mode 100644 packages/bsp/rockchip/tinkerboard-usb-audio.pa diff --git a/config/sources/families/rockchip.conf b/config/sources/families/rockchip.conf index b6dcac30515c..47e992848462 100644 --- a/config/sources/families/rockchip.conf +++ b/config/sources/families/rockchip.conf @@ -201,15 +201,6 @@ fi family_tweaks() { - if [[ $BOARD == tinkerboard ]]; then - chroot_sdcard_apt_get_install rfkill bluetooth bluez bluez-tools - if [[ -f "$SDCARD/etc/pulse/default.pa" ]]; then - sed -i -e "/#load-module module-alsa-sink/r $SRC/packages/bsp/rockchip/pulseaudio.txt" "$SDCARD/etc/pulse/default.pa" 2>&1 - else - display_alert "Can't find pulseaudio config" "${BOARD} - family_tweaks" "warn" - fi - fi - # Create gpio and i2c groups on the build rootfs; they are matched against # udev rules to allow non-root user access to these resources chroot_sdcard addgroup --system --quiet --gid 900 gpio @@ -240,7 +231,11 @@ family_tweaks_bsp() { # Sound cp $SRC/packages/bsp/rockchip/asound.conf $destination/etc/ - cp $SRC/packages/bsp/rockchip/89-pulseaudio-usb.rules $destination/etc/udev/rules.d + if [[ "$BOARD" == "tinkerboard" ]]; then + mkdir -p $destination/etc/pulse/default.pa.d + cp $SRC/packages/bsp/rockchip/89-pulseaudio-usb.rules $destination/etc/udev/rules.d + cp $SRC/packages/bsp/rockchip/tinkerboard-usb-audio.pa $destination/etc/pulse/default.pa.d + fi # AP6330 (BCM4330) firmware initramfs hook for in-kernel btbcm driver mkdir -p $destination/etc/initramfs-tools/hooks diff --git a/packages/bsp/rockchip/89-pulseaudio-usb.rules b/packages/bsp/rockchip/89-pulseaudio-usb.rules index d5c0e60192e5..ca81e04ccb46 100644 --- a/packages/bsp/rockchip/89-pulseaudio-usb.rules +++ b/packages/bsp/rockchip/89-pulseaudio-usb.rules @@ -1 +1,4 @@ -ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="481a", ENV{PULSE_IGNORE}="1" \ No newline at end of file +# Specific rule for ASUS Tinkerboard/S to avoid Pulseaudio autodetect +# the card because it will behave faulty +ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="481a", ENV{PULSE_IGNORE}="1" + diff --git a/packages/bsp/rockchip/pulseaudio.txt b/packages/bsp/rockchip/pulseaudio.txt deleted file mode 100644 index e615fe78877b..000000000000 --- a/packages/bsp/rockchip/pulseaudio.txt +++ /dev/null @@ -1,8 +0,0 @@ -#load-module module-alsa-sink -load-module module-alsa-sink device=OnBoard_D0 sink_properties=device.description="BT_VOIP-Output" -load-module module-alsa-sink device=OnBoard_D1 sink_properties=device.description="SPDIF-Output" -load-module module-alsa-sink device=OnBoard_D2 sink_properties=device.description="Headset-Output" -#load-module module-alsa-source device=hw:1,0 -load-module module-alsa-source device=OnBoard_D0 source_properties=device.description="BT_VOIP-Input" -load-module module-alsa-source device=OnBoard_D1 source_properties=device.description="Headset-Input" - diff --git a/packages/bsp/rockchip/tinkerboard-usb-audio.pa b/packages/bsp/rockchip/tinkerboard-usb-audio.pa new file mode 100644 index 000000000000..9b6a9bcb5344 --- /dev/null +++ b/packages/bsp/rockchip/tinkerboard-usb-audio.pa @@ -0,0 +1,9 @@ +# ALC4040 Output sinks +load-module module-alsa-sink device=hw:OnBoard,2 sink_properties=device.description="ALC4040-Analog" +load-module module-alsa-sink device=hw:OnBoard,0 sink_properties=device.description="ALC4040-BT-VOIP" +load-module module-alsa-sink device=hw:OnBoard,1 sink_properties=device.description="ALC4040-SPDIF" + +# ALC4040 Input sources +load-module module-alsa-source device=hw:OnBoard,1 source_properties=device.description="ALC4040-Analog" +load-module module-alsa-source device=hw:OnBoard,0 source_properties=device.description="ALC4040-BT-VOIP" +