From e6d3f856256e8afc12f34994ec39fed47c601d04 Mon Sep 17 00:00:00 2001 From: Martin Schmiedel Date: Thu, 25 Jan 2024 17:05:35 +0100 Subject: [PATCH] MBa8MPxL: add asound.state for tqma boards Signed-off-by: Martin Schmiedel --- config/boards/mba8mpxl-ras314.wip | 1 + config/boards/mba8mpxl.wip | 1 + packages/blobs/asound.state/asound.state.tqma | 1224 +++++++++++++++++ 3 files changed, 1226 insertions(+) create mode 100644 packages/blobs/asound.state/asound.state.tqma diff --git a/config/boards/mba8mpxl-ras314.wip b/config/boards/mba8mpxl-ras314.wip index 46a90513efe4..d9535560c5ee 100644 --- a/config/boards/mba8mpxl-ras314.wip +++ b/config/boards/mba8mpxl-ras314.wip @@ -8,6 +8,7 @@ KERNEL_TARGET="current" DEFAULT_CONSOLE="serial" SERIALCON="ttymxc3" BOOT_FDT_FILE="freescale/imx8mp-tqma8mpql-mba8mp-ras314.dtb" +ASOUND_STATE="asound.state.tqma" BOARD_FIRMWARE_INSTALL="-full" PACKAGE_LIST_BOARD="gpiod python3-pip python3-periphery" diff --git a/config/boards/mba8mpxl.wip b/config/boards/mba8mpxl.wip index 84574a34dae0..75e1ecd0f272 100644 --- a/config/boards/mba8mpxl.wip +++ b/config/boards/mba8mpxl.wip @@ -8,6 +8,7 @@ KERNEL_TARGET="current" DEFAULT_CONSOLE="serial" SERIALCON="ttymxc3" BOOT_FDT_FILE="freescale/imx8mp-tqma8mpql-mba8mpxl.dtb" +ASOUND_STATE="asound.state.tqma" PACKAGE_LIST_BOARD="gpiod python3-pip python3-periphery" function post_family_tweaks_bsp__mba8mpxl() { diff --git a/packages/blobs/asound.state/asound.state.tqma b/packages/blobs/asound.state/asound.state.tqma new file mode 100644 index 000000000000..078941a93e8e --- /dev/null +++ b/packages/blobs/asound.state/asound.state.tqma @@ -0,0 +1,1224 @@ +state.audiohdmi { + control.1 { + iface CARD + name 'HDMI Jack' + value true + comment { + access read + type BOOLEAN + count 1 + } + } + control.2 { + 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.3 { + iface PCM + name 'IEC958 Playback Default' + value '0' + comment { + access 'read write' + type IEC958 + count 1 + } + } + control.4 { + iface PCM + name ELD + value '10' + comment { + access 'read volatile' + type BYTES + count 128 + } + } + control.5 { + iface MIXER + name 'HDMI Support Channels' + value 2 + comment { + access 'read volatile' + type INTEGER + count 1 + range '0 - 0' + } + } + control.6 { + iface MIXER + name 'HDMI Support Rates' + value.0 32000 + value.1 44100 + value.2 48000 + value.3 96000 + comment { + access 'read volatile' + type INTEGER + count 4 + range '0 - 0' + } + } + control.7 { + iface MIXER + name 'HDMI Support Formats' + value.0 16 + value.1 24 + value.2 32 + comment { + access 'read volatile' + type INTEGER + count 3 + range '0 - 0' + } + } +} +state.tqmtlv320aic32 { + control.1 { + iface MIXER + name 'PCM Playback Volume' + value.0 87 + value.1 87 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 175' + dbmin -6350 + dbmax 2400 + dbvalue.0 -2000 + dbvalue.1 -2000 + } + } + control.2 { + iface MIXER + name 'DAC Left Playback PowerTune Switch' + value P3 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 P3 + item.1 P2 + item.2 P1 + } + } + control.3 { + iface MIXER + name 'DAC Right Playback PowerTune Switch' + value P3 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 P3 + item.1 P2 + item.2 P1 + } + } + control.4 { + iface MIXER + name 'HP Driver Gain Volume' + value.0 20 + value.1 20 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 35' + dbmin -600 + dbmax 2900 + dbvalue.0 1400 + dbvalue.1 1400 + } + } + control.5 { + iface MIXER + name 'LO Driver Gain Volume' + value.0 6 + value.1 6 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 35' + dbmin -600 + dbmax 2900 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.6 { + iface MIXER + name 'HP DAC Playback Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.7 { + iface MIXER + name 'LO DAC Playback Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.8 { + iface MIXER + name 'LO Playback Common Mode Switch' + value 'Full Chip' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Full Chip' + item.1 '1.65V' + } + } + control.9 { + iface MIXER + name 'Mic PGA Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.10 { + iface MIXER + name 'ADCFGA Left Mute Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.11 { + iface MIXER + name 'ADCFGA Right Mute Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.12 { + iface MIXER + name 'ADC Level Volume' + value.0 24 + value.1 24 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 64' + dbmin -1200 + dbmax 2000 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.13 { + iface MIXER + name 'PGA Level Volume' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 95' + dbmin 0 + dbmax 4750 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.14 { + iface MIXER + name 'Auto-mute Switch' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.15 { + iface MIXER + name 'AGC Left Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.16 { + iface MIXER + name 'AGC Right Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.17 { + iface MIXER + name 'AGC Target Level' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 7' + } + } + control.18 { + iface MIXER + name 'AGC Gain Hysteresis' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 3' + } + } + control.19 { + iface MIXER + name 'AGC Hysteresis' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 3' + } + } + control.20 { + iface MIXER + name 'AGC Noise Threshold' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.21 { + iface MIXER + name 'AGC Max PGA' + value.0 127 + value.1 127 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + } + } + control.22 { + iface MIXER + name 'AGC Attack Time' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.23 { + iface MIXER + name 'AGC Decay Time' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.24 { + iface MIXER + name 'AGC Noise Debounce' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.25 { + iface MIXER + name 'AGC Signal Debounce' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 15' + } + } + control.26 { + iface MIXER + name 'HPL Output Mixer L_DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.27 { + iface MIXER + name 'HPL Output Mixer IN1_L Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.28 { + iface MIXER + name 'LOL Output Mixer L_DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.29 { + iface MIXER + name 'HPR Output Mixer R_DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.30 { + iface MIXER + name 'HPR Output Mixer IN1_R Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.31 { + iface MIXER + name 'LOR Output Mixer R_DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.32 { + iface MIXER + name 'IN1_R to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.33 { + iface MIXER + name 'IN2_R to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.34 { + iface MIXER + name 'IN3_R to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.35 { + iface MIXER + name 'IN2_L to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.36 { + iface MIXER + name 'CM_R to Right Mixer Negative Resistor' + value '10 kOhm' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.37 { + iface MIXER + name 'IN1_L to Right Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.38 { + iface MIXER + name 'IN3_L to Right Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.39 { + iface MIXER + name 'IN1_L to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.40 { + iface MIXER + name 'IN2_L to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.41 { + iface MIXER + name 'IN3_L to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.42 { + iface MIXER + name 'IN1_R to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.43 { + iface MIXER + name 'CM_L to Left Mixer Negative Resistor' + value '10 kOhm' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.44 { + iface MIXER + name 'IN2_R to Left Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.45 { + iface MIXER + name 'IN3_R to Left Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } +} +state.tqtlv320aic32x { + control.1 { + iface MIXER + name 'PCM Playback Volume' + value.0 87 + value.1 87 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 175' + dbmin -6350 + dbmax 2400 + dbvalue.0 -2000 + dbvalue.1 -2000 + } + } + control.2 { + iface MIXER + name 'DAC Left Playback PowerTune Switch' + value P3 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 P3 + item.1 P2 + item.2 P1 + } + } + control.3 { + iface MIXER + name 'DAC Right Playback PowerTune Switch' + value P3 + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 P3 + item.1 P2 + item.2 P1 + } + } + control.4 { + iface MIXER + name 'HP Driver Gain Volume' + value.0 20 + value.1 20 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 35' + dbmin -600 + dbmax 2900 + dbvalue.0 1400 + dbvalue.1 1400 + } + } + control.5 { + iface MIXER + name 'LO Driver Gain Volume' + value.0 6 + value.1 6 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 35' + dbmin -600 + dbmax 2900 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.6 { + iface MIXER + name 'HP DAC Playback Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.7 { + iface MIXER + name 'LO DAC Playback Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.8 { + iface MIXER + name 'LO Playback Common Mode Switch' + value 'Full Chip' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 'Full Chip' + item.1 '1.65V' + } + } + control.9 { + iface MIXER + name 'Mic PGA Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.10 { + iface MIXER + name 'ADCFGA Left Mute Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.11 { + iface MIXER + name 'ADCFGA Right Mute Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.12 { + iface MIXER + name 'ADC Level Volume' + value.0 24 + value.1 24 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 64' + dbmin -1200 + dbmax 2000 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.13 { + iface MIXER + name 'PGA Level Volume' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 95' + dbmin 0 + dbmax 4750 + dbvalue.0 0 + dbvalue.1 0 + } + } + control.14 { + iface MIXER + name 'Auto-mute Switch' + value 0 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + } + } + control.15 { + iface MIXER + name 'AGC Left Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.16 { + iface MIXER + name 'AGC Right Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.17 { + iface MIXER + name 'AGC Target Level' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 7' + } + } + control.18 { + iface MIXER + name 'AGC Gain Hysteresis' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 3' + } + } + control.19 { + iface MIXER + name 'AGC Hysteresis' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 3' + } + } + control.20 { + iface MIXER + name 'AGC Noise Threshold' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.21 { + iface MIXER + name 'AGC Max PGA' + value.0 127 + value.1 127 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 127' + } + } + control.22 { + iface MIXER + name 'AGC Attack Time' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.23 { + iface MIXER + name 'AGC Decay Time' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.24 { + iface MIXER + name 'AGC Noise Debounce' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 31' + } + } + control.25 { + iface MIXER + name 'AGC Signal Debounce' + value.0 0 + value.1 0 + comment { + access 'read write' + type INTEGER + count 2 + range '0 - 15' + } + } + control.26 { + iface MIXER + name 'HPL Output Mixer L_DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.27 { + iface MIXER + name 'HPL Output Mixer IN1_L Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.28 { + iface MIXER + name 'LOL Output Mixer L_DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.29 { + iface MIXER + name 'HPR Output Mixer R_DAC Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.30 { + iface MIXER + name 'HPR Output Mixer IN1_R Switch' + value true + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.31 { + iface MIXER + name 'LOR Output Mixer R_DAC Switch' + value false + comment { + access 'read write' + type BOOLEAN + count 1 + } + } + control.32 { + iface MIXER + name 'IN1_R to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.33 { + iface MIXER + name 'IN2_R to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.34 { + iface MIXER + name 'IN3_R to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.35 { + iface MIXER + name 'IN2_L to Right Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.36 { + iface MIXER + name 'CM_R to Right Mixer Negative Resistor' + value '10 kOhm' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.37 { + iface MIXER + name 'IN1_L to Right Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.38 { + iface MIXER + name 'IN3_L to Right Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.39 { + iface MIXER + name 'IN1_L to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.40 { + iface MIXER + name 'IN2_L to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.41 { + iface MIXER + name 'IN3_L to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.42 { + iface MIXER + name 'IN1_R to Left Mixer Positive Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.43 { + iface MIXER + name 'CM_L to Left Mixer Negative Resistor' + value '10 kOhm' + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.44 { + iface MIXER + name 'IN2_R to Left Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } + control.45 { + iface MIXER + name 'IN3_R to Left Mixer Negative Resistor' + value Off + comment { + access 'read write' + type ENUMERATED + count 1 + item.0 Off + item.1 '10 kOhm' + item.2 '20 kOhm' + item.3 '40 kOhm' + } + } +}