From a67126e6e11ce428bc0831cd0cb1f4a87c047449 Mon Sep 17 00:00:00 2001 From: schwar3kat <61094841+schwar3kat@users.noreply.github.com> Date: Sat, 12 Oct 2024 00:38:37 +1300 Subject: [PATCH] Rock-5c add an ALSA asound.state file to fix sound issues (#7361) --- config/boards/rock-5c.conf | 1 + .../blobs/asound.state/asound.state.rock-5c | 849 ++++++++++++++++++ 2 files changed, 850 insertions(+) create mode 100644 packages/blobs/asound.state/asound.state.rock-5c diff --git a/config/boards/rock-5c.conf b/config/boards/rock-5c.conf index 0eaa85753b42..f9adf907a16a 100644 --- a/config/boards/rock-5c.conf +++ b/config/boards/rock-5c.conf @@ -12,6 +12,7 @@ BOOT_SOC="rk3588" IMAGE_PARTITION_TABLE="gpt" enable_extension "radxa-aic8800" AIC8800_TYPE="usb" +ASOUND_STATE="asound.state.rock-5c" function post_family_config__uboot_rock5c() { display_alert "$BOARD" "Configuring armsom u-boot" "info" diff --git a/packages/blobs/asound.state/asound.state.rock-5c b/packages/blobs/asound.state/asound.state.rock-5c new file mode 100644 index 000000000000..5bbe1f4e59ed --- /dev/null +++ b/packages/blobs/asound.state/asound.state.rock-5c @@ -0,0 +1,849 @@ +state.rockchiphdmi0 { + control.1 { + iface MIXER + name 'Receive PATH3 Source Select' + value 'From SDI3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.2 { + iface MIXER + name 'Receive PATH2 Source Select' + value 'From SDI2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.3 { + iface MIXER + name 'Receive PATH1 Source Select' + value 'From SDI1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.4 { + iface MIXER + name 'Receive PATH0 Source Select' + value 'From SDI0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.5 { + iface MIXER + name 'Transmit SDO3 Source Select' + value 'From PATH3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.6 { + iface MIXER + name 'Transmit SDO2 Source Select' + value 'From PATH2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.7 { + iface MIXER + name 'Transmit SDO1 Source Select' + value 'From PATH1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.8 { + iface MIXER + name 'Transmit SDO0 Source Select' + value 'From PATH0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.9 { + iface MIXER + name 'I2STDM Digital Loopback Mode' + value Disabled + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Disabled + item.1 Mode1 + item.2 Mode2 + item.3 'Mode2 Swap' + } + } + control.10 { + iface PCM + name 'PCM Read Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.11 { + iface PCM + name 'PCM Write Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.12 { + iface CARD + name 'rockchip-hdmi0 Jack' + value false + comment { + access read + type BOOLEAN + count 1 + } + } + control.13 { + iface PCM + name 'Playback Channel Map' + value.0 0 + value.1 0 + value.2 0 + value.3 0 + value.4 0 + value.5 0 + value.6 0 + value.7 0 + comment { + access read + type INTEGER + count 8 + range '0 - 36' + } + } + control.14 { + iface PCM + name 'IEC958 Playback Mask' + value ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + comment { + access read + type IEC958 + count 1 + } + } + control.15 { + iface PCM + name 'IEC958 Playback Default' + value '0400000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + comment { + access 'read write' + type IEC958 + count 1 + } + } + control.16 { + iface PCM + name ELD + value '100006006510000100000000000000000469e123565832333909070700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' + comment { + access 'read volatile' + type BYTES + count 128 + } + } + control.17 { + iface MIXER + name 'ELD Bypass Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +} +state.rockchipes8316 { + control.1 { + iface MIXER + name 'Receive PATH3 Source Select' + value 'From SDI3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.2 { + iface MIXER + name 'Receive PATH2 Source Select' + value 'From SDI2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.3 { + iface MIXER + name 'Receive PATH1 Source Select' + value 'From SDI1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.4 { + iface MIXER + name 'Receive PATH0 Source Select' + value 'From SDI0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From SDI0' + item.1 'From SDI1' + item.2 'From SDI2' + item.3 'From SDI3' + } + } + control.5 { + iface MIXER + name 'Transmit SDO3 Source Select' + value 'From PATH3' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.6 { + iface MIXER + name 'Transmit SDO2 Source Select' + value 'From PATH2' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.7 { + iface MIXER + name 'Transmit SDO1 Source Select' + value 'From PATH1' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.8 { + iface MIXER + name 'Transmit SDO0 Source Select' + value 'From PATH0' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'From PATH0' + item.1 'From PATH1' + item.2 'From PATH2' + item.3 'From PATH3' + } + } + control.9 { + iface MIXER + name 'I2STDM Digital Loopback Mode' + value Disabled + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Disabled + item.1 Mode1 + item.2 Mode2 + item.3 'Mode2 Swap' + } + } + control.10 { + iface PCM + name 'PCM Read Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.11 { + iface PCM + name 'PCM Write Wait Time MS' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10000 (step 1)' + } + } + control.12 { + iface MIXER + name 'Headphone Playback Volume' + value.0 3 + value.1 3 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 3' + dbmin -4800 + dbmax 0 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.13 { + iface MIXER + name 'Headphone Mixer Volume' + value.0 9 + value.1 9 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 11' + dbmin -1200 + dbmax 0 + dbvalue.0 -300 + dbvalue.1 -300 + } + } + control.14 { + iface MIXER + name 'Playback Polarity' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 'R Invert' + item.2 'L Invert' + item.3 'L + R Invert' + } + } + control.15 { + iface MIXER + name 'DAC Playback Volume' + value.0 152 + value.1 152 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 192' + dbmin -9999999 + dbmax 0 + dbvalue.0 -2000 + dbvalue.1 -2000 + } + } + control.16 { + iface MIXER + name 'DAC Soft Ramp Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.17 { + iface MIXER + name 'DAC Soft Ramp Rate' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 4' + } + } + control.18 { + iface MIXER + name 'DAC Notch Filter Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.19 { + iface MIXER + name 'DAC Double Fs Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.20 { + iface MIXER + name 'DAC Stereo Enhancement' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.21 { + iface MIXER + name 'DAC Mono Mix Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.22 { + iface MIXER + name 'Capture Polarity' + value Normal + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Normal + item.1 Invert + } + } + control.23 { + iface MIXER + name 'Mic Boost Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.24 { + iface MIXER + name 'ADC Capture Volume' + value 181 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 192' + dbmin -9999999 + dbmax 0 + dbvalue.0 -550 + } + } + control.25 { + iface MIXER + name 'ADC PGA Gain Volume' + value 9 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + dbmin -350 + dbmax 2400 + dbvalue.0 2100 + } + } + control.26 { + iface MIXER + name 'ADC Soft Ramp Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.27 { + iface MIXER + name 'ADC Double Fs Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.28 { + iface MIXER + name 'ALC Capture Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.29 { + iface MIXER + name 'ALC Capture Max Volume' + value 28 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 28' + dbmin -650 + dbmax 3550 + dbvalue.0 3550 + } + } + control.30 { + iface MIXER + name 'ALC Capture Min Volume' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 28' + dbmin -1200 + dbmax 3000 + dbvalue.0 -1200 + } + } + control.31 { + iface MIXER + name 'ALC Capture Target Volume' + value 11 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 11' + dbmin -1650 + dbmax -150 + dbvalue.0 -150 + } + } + control.32 { + iface MIXER + name 'ALC Capture Hold Time' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + } + } + control.33 { + iface MIXER + name 'ALC Capture Decay Time' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + } + } + control.34 { + iface MIXER + name 'ALC Capture Attack Time' + value 2 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 10' + } + } + control.35 { + iface MIXER + name 'ALC Capture Noise Gate Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.36 { + iface MIXER + name 'ALC Capture Noise Gate Threshold' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + } + } + control.37 { + iface MIXER + name 'ALC Capture Noise Gate Type' + value 'Constant PGA Gain' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Constant PGA Gain' + item.1 'Mute ADC Output' + } + } + control.38 { + iface MIXER + name 'spk switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.39 { + iface MIXER + name 'hp switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.40 { + iface MIXER + name 'Headphone Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.41 { + iface MIXER + name 'Speaker Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.42 { + iface MIXER + name 'Main Mic Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.43 { + iface MIXER + name 'Headset Mic Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.44 { + iface MIXER + name 'Differential Mux' + value lin2-rin2 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 lin1-rin1 + item.1 lin2-rin2 + item.2 'lin1-rin1 with 20db Boost' + item.3 'lin2-rin2 with 20db Boost' + } + } + control.45 { + iface MIXER + name 'Digital Mic Mux' + value 'dmic disable' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'dmic disable' + item.1 'dmic data at high level' + item.2 'dmic data at low level' + } + } + control.46 { + iface MIXER + name 'DAC Source Mux' + value 'LDATA TO LDAC, RDATA TO RDAC' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'LDATA TO LDAC, RDATA TO RDAC' + item.1 'LDATA TO LDAC, LDATA TO RDAC' + item.2 'RDATA TO LDAC, RDATA TO RDAC' + item.3 'RDATA TO LDAC, LDATA TO RDAC' + } + } + control.47 { + iface MIXER + name 'Left Headphone Mux' + value lin2-rin2 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 lin1-rin1 + item.1 lin2-rin2 + item.2 'lin-rin with Boost' + item.3 'lin-rin with Boost and PGA' + } + } + control.48 { + iface MIXER + name 'Right Headphone Mux' + value lin2-rin2 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 lin1-rin1 + item.1 lin2-rin2 + item.2 'lin-rin with Boost' + item.3 'lin-rin with Boost and PGA' + } + } + control.49 { + iface MIXER + name 'Left Headphone Mixer LLIN Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.50 { + iface MIXER + name 'Left Headphone Mixer Left DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.51 { + iface MIXER + name 'Right Headphone Mixer RLIN Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.52 { + iface MIXER + name 'Right Headphone Mixer Right DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } +}