From 29ca45d2a89a436e707776be310812f76dac06fa Mon Sep 17 00:00:00 2001 From: Ion Agorria Date: Mon, 4 Jul 2022 21:11:14 +0300 Subject: [PATCH] tegra: Add UCM for RT5631 based ASUS Transformers Realtek RT5631 based ASUS Transformer tablet devices are powered by NVIDIA Tegra30 SoC. They feature 2-channel built-in speaker, built-in 1-channel microphone and 4-pin 3.5mm jack for headphones/headset. Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/291 Tested-by: Andreas Westman Dorcsak # ASUS TF700T T30 Tested-by: Svyatoslav Ryhel # ASUS TF201 T30 Signed-off-by: Ion Agorria Signed-off-by: Svyatoslav Ryhel Signed-off-by: Jaroslav Kysela --- ucm2/Tegra/rt5631/Asus-Transformer-HiFi.conf | 101 ++++++++++++++++++ ucm2/Tegra/rt5631/Asus-Transformer.conf | 65 +++++++++++ ...us Transformer Infinity TF700T RT5631.conf | 1 + .../Asus Transformer Pad TF300TG RT5631.conf | 1 + .../Asus Transformer Pad TF300TL RT5631.conf | 1 + .../Asus Transformer Prime TF201 RT5631.conf | 1 + 6 files changed, 170 insertions(+) create mode 100644 ucm2/Tegra/rt5631/Asus-Transformer-HiFi.conf create mode 100644 ucm2/Tegra/rt5631/Asus-Transformer.conf create mode 120000 ucm2/conf.d/tegra/Asus Transformer Infinity TF700T RT5631.conf create mode 120000 ucm2/conf.d/tegra/Asus Transformer Pad TF300TG RT5631.conf create mode 120000 ucm2/conf.d/tegra/Asus Transformer Pad TF300TL RT5631.conf create mode 120000 ucm2/conf.d/tegra/Asus Transformer Prime TF201 RT5631.conf diff --git a/ucm2/Tegra/rt5631/Asus-Transformer-HiFi.conf b/ucm2/Tegra/rt5631/Asus-Transformer-HiFi.conf new file mode 100644 index 0000000..adf3f26 --- /dev/null +++ b/ucm2/Tegra/rt5631/Asus-Transformer-HiFi.conf @@ -0,0 +1,101 @@ +# Use case Configuration for RT5631 based ASUS Transformers + +SectionDevice."Speaker" { + Comment "Speaker" + + ConflictingDevice [ + "Headphones" + ] + + EnableSequence [ + cset "name='Speaker Playback Switch' on" + cset "name='Int Spk Switch' on" + ] + + DisableSequence [ + cset "name='Int Spk Switch' off" + cset "name='Speaker Playback Switch' off" + ] + + Value { + PlaybackPCM "hw:${CardId}" + PlaybackChannels 2 + PlaybackPriority 200 + + PlaybackMixerElem "Speaker" + } +} + +SectionDevice."Headphones" { + Comment "Headphones" + + ConflictingDevice [ + "Speaker" + ] + + EnableSequence [ + cset "name='HP Playback Switch' on" + ] + + DisableSequence [ + cset "name='HP Playback Switch' off" + ] + + Value { + PlaybackPCM "hw:${CardId}" + PlaybackChannels 2 + PlaybackPriority 100 + + PlaybackMixerElem "HP" + + JackControl "Headphone Jack" + } +} + +SectionDevice."Mic1" { + Comment "Internal Microphone" + + ConflictingDevice [ + "Mic2" + ] + + EnableSequence [ + cset "name='DMIC Capture Switch' on" + cset "name='DMIC Switch' on" + cset "name='Int Mic Switch' on" + ] + + DisableSequence [ + cset "name='DMIC Capture Switch' off" + cset "name='DMIC Switch' off" + cset "name='Int Mic Switch' off" + ] + + Value { + CapturePCM "hw:${CardId}" + CapturePriority 200 + } +} + +SectionDevice."Mic2" { + Comment "External Microphone" + + ConflictingDevice [ + "Mic1" + ] + + EnableSequence [ + cset "name='Mic Jack Switch' on" + ] + + DisableSequence [ + cset "name='Mic Jack Switch' off" + ] + + Value { + CapturePCM "hw:${CardId}" + CapturePriority 100 + + JackControl "Mic Jack" + } +} diff --git a/ucm2/Tegra/rt5631/Asus-Transformer.conf b/ucm2/Tegra/rt5631/Asus-Transformer.conf new file mode 100644 index 0000000..146e3b4 --- /dev/null +++ b/ucm2/Tegra/rt5631/Asus-Transformer.conf @@ -0,0 +1,65 @@ +# Use case Configuration for RT5631 based ASUS Transformers + +Syntax 4 + +BootSequence [ + cset "name='HP Playback Switch' off" + cset "name='Speaker Playback Switch' off" + + cset "name='PCM Playback Switch' on" + cset "name='PCM Playback Volume' 255" + cset "name='AXI Capture Volume' 23" + + cset "name='AXO2 Playback Switch' on" + cset "name='AXO2MIX Mixer OUTVOLL Playback Switch' on" + + cset "name='DMIC Switch' off" + cset "name='DMIC Capture Switch' off" + + cset "name='HPL Mux' Left HPVOL" + cset "name='HPR Mux' Right HPVOL" + + cset "name='Mic Jack Switch' off" + cset "name='Int Mic Switch' off" + cset "name='Int Spk Switch' on" + + cset "name='Left HPVOL Mux' OUTMIXL" + cset "name='Left OUTVOL Mux' OUTMIXL" + cset "name='Left SPKVOL Mux' SPKMIXL" + + cset "name='MIC1 Boost Volume' 6" + cset "name='MIC1 Mode Control' Differential" + cset "name='MIC2 Boost Volume' 6" + cset "name='MIC2 Mode Control' Single ended" + + cset "name='MONO Playback Switch' off" + cset "name='MONO Mux' MONOMIX" + cset "name='MONOIN Mode Control' Differential" + cset "name='MONOIN_RX Capture Volume' 25" + + cset "name='OUTMIXL Mixer DACL Playback Switch' on" + cset "name='OUTMIXR Mixer DACR Playback Switch' on" + + cset "name='OUTVOL Channel Switch' on" + cset "name='RECMIXL Mixer MIC1_BST1 Capture Switch' on" + + cset "name='Right HPVOL Mux' OUTMIXR" + cset "name='Right OUTVOL Mux' OUTMIXR" + cset "name='Right SPKVOL Mux' SPKMIXR" + + cset "name='SPK Ratio Control' 1.99x" + + cset "name='SPKMIXL Mixer DACL Playback Switch' on" + cset "name='SPKMIXR Mixer DACR Playback Switch' on" + + cset "name='SPOL Mux' SPOLMIX" + cset "name='SPOLMIX Mixer SPKVOLL Playback Switch' on" + + cset "name='SPOR Mux' SPORMIX" + cset "name='SPORMIX Mixer SPKVOLR Playback Switch' on" +] + +SectionUseCase."HiFi" { + File "/Tegra/rt5631/Asus-Transformer-HiFi.conf" + Comment "Play HiFi quality Music" +} diff --git a/ucm2/conf.d/tegra/Asus Transformer Infinity TF700T RT5631.conf b/ucm2/conf.d/tegra/Asus Transformer Infinity TF700T RT5631.conf new file mode 120000 index 0000000..5be7edf --- /dev/null +++ b/ucm2/conf.d/tegra/Asus Transformer Infinity TF700T RT5631.conf @@ -0,0 +1 @@ +../../Tegra/rt5631/Asus-Transformer.conf \ No newline at end of file diff --git a/ucm2/conf.d/tegra/Asus Transformer Pad TF300TG RT5631.conf b/ucm2/conf.d/tegra/Asus Transformer Pad TF300TG RT5631.conf new file mode 120000 index 0000000..5be7edf --- /dev/null +++ b/ucm2/conf.d/tegra/Asus Transformer Pad TF300TG RT5631.conf @@ -0,0 +1 @@ +../../Tegra/rt5631/Asus-Transformer.conf \ No newline at end of file diff --git a/ucm2/conf.d/tegra/Asus Transformer Pad TF300TL RT5631.conf b/ucm2/conf.d/tegra/Asus Transformer Pad TF300TL RT5631.conf new file mode 120000 index 0000000..5be7edf --- /dev/null +++ b/ucm2/conf.d/tegra/Asus Transformer Pad TF300TL RT5631.conf @@ -0,0 +1 @@ +../../Tegra/rt5631/Asus-Transformer.conf \ No newline at end of file diff --git a/ucm2/conf.d/tegra/Asus Transformer Prime TF201 RT5631.conf b/ucm2/conf.d/tegra/Asus Transformer Prime TF201 RT5631.conf new file mode 120000 index 0000000..5be7edf --- /dev/null +++ b/ucm2/conf.d/tegra/Asus Transformer Prime TF201 RT5631.conf @@ -0,0 +1 @@ +../../Tegra/rt5631/Asus-Transformer.conf \ No newline at end of file -- 2.47.1