From 2f8027349c37044e15c694c6df4d62d622e20886 Mon Sep 17 00:00:00 2001 From: Fadwa Chiby Date: Mon, 19 Dec 2022 14:20:03 +0000 Subject: [PATCH] ucm2: MediaTek: mt8365-evk: Add alsa-ucm support Add alsa-ucm support for the Mediatek mt8365-evk platform. Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/260 Signed-off-by: Fadwa Chiby Signed-off-by: Jaroslav Kysela --- ucm2/MediaTek/mt8365-evk/HiFi.conf | 141 +++++++++++++++++++++++ ucm2/MediaTek/mt8365-evk/mt8365-evk.conf | 39 +++++++ ucm2/conf.d/mt8365-evk/mt8365-evk.conf | 1 + 3 files changed, 181 insertions(+) create mode 100644 ucm2/MediaTek/mt8365-evk/HiFi.conf create mode 100644 ucm2/MediaTek/mt8365-evk/mt8365-evk.conf create mode 120000 ucm2/conf.d/mt8365-evk/mt8365-evk.conf diff --git a/ucm2/MediaTek/mt8365-evk/HiFi.conf b/ucm2/MediaTek/mt8365-evk/HiFi.conf new file mode 100644 index 00000000..81f563f6 --- /dev/null +++ b/ucm2/MediaTek/mt8365-evk/HiFi.conf @@ -0,0 +1,141 @@ +SectionDevice."HDMI" { + Comment "Hdmi output" + + Value { + PlaybackPriority 250 + PlaybackChannels 2 + PlaybackPCM "hw:${CardId},1" + } + + EnableSequence [ + cset "name='O00 I07 Switch' on" + cset "name='O01 I08 Switch' on" + ] + + DisableSequence [ + cset "name='O00 I07 Switch' off" + cset "name='O01 I08 Switch' off" + ] +} + +SectionDevice."Speaker" { + Comment "Line-out Jack " + + ConflictingDevice [ + "Headphones" + ] + + Value { + PlaybackPriority 300 + PlaybackChannels 2 + PlaybackPCM "hw:${CardId},0" + PlaybackVolume "name='Lineout_PGAL_GAIN'" + } + + EnableSequence [ + cset "name='Audio_Amp_L_Switch' Off" + cset "name='Audio_Amp_R_Switch' Off" + cset "name='Lineout_PGAL_GAIN' 0" + cset "name='Speaker_Amp_Switch' On" + ] + + DisableSequence [ + cset "name='Audio_Amp_L_Switch' On" + cset "name='Audio_Amp_R_Switch' On" + cset "name='Speaker_Amp_Switch' Off" + ] +} + +SectionDevice."Headphones" { + Comment "Headset speakers" + + ConflictingDevice [ + "Speaker" + ] + + Value { + PlaybackPriority 300 + PlaybackChannels 2 + PlaybackPCM "hw:${CardId},0" + PlaybackVolume "name='Headset_PGAL_GAIN'" + } + + EnableSequence [ + cset "name='Audio_Amp_L_Switch' On" + cset "name='Audio_Amp_R_Switch' On" + cset "name='Headset_PGAL_GAIN' 1" + cset "name='Speaker_Amp_Switch' Off" + ] + + DisableSequence [ + cset "name='Audio_Amp_L_Switch' Off" + cset "name='Audio_Amp_R_Switch' Off" + cset "name='Speaker_Amp_Switch' On" + ] +} + +SectionDevice."Mic1" { + Comment "Amic" + + ConflictingDevice [ + "Mic2" + ] + + Value { + CapturePriority 300 + CaptureChannels 1 + CapturePCM "hw:${CardId},2" + } + + EnableSequence [ + cset "name='Audio_MicSource1_Setting' ADC1" + cset "name='Audio_MICBIAS0_Switch' Off" + ] + + DisableSequence [ + cset "name='Audio_MicSource1_Setting' ADC2" + cset "name='Audio_MICBIAS0_Switch' On" + ] +} + +SectionDevice."Mic2" { + Comment "Headset microphone" + + ConflictingDevice [ + "Mic1" + ] + + Value { + CapturePriority 350 + CaptureChannels 1 + CapturePCM "hw:${CardId},2" + } + + EnableSequence [ + cset "name='Audio_MicSource1_Setting' ADC2" + cset "name='Audio_MICBIAS0_Switch' On" + ] + + DisableSequence [ + cset "name='Audio_MicSource1_Setting' ADC1" + cset "name='Audio_MICBIAS0_Switch' Off" + ] +} + +SectionDevice."Mic3" { + Comment "PDM microphones" + + Value { + CapturePriority 100 + CaptureChannels 2 + CapturePCM "hw:${CardId},3" + } + + EnableSequence [ + cset "name='Audio_MICBIAS0_Switch' On" + ] + + DisableSequence [ + cset "name='Audio_MICBIAS0_Switch' Off" + ] +} diff --git a/ucm2/MediaTek/mt8365-evk/mt8365-evk.conf b/ucm2/MediaTek/mt8365-evk/mt8365-evk.conf new file mode 100644 index 00000000..e396f8cf --- /dev/null +++ b/ucm2/MediaTek/mt8365-evk/mt8365-evk.conf @@ -0,0 +1,39 @@ +Syntax 4 + +SectionUseCase."HiFi" { + File "/MediaTek/mt8365-evk/HiFi.conf" + Comment "Play high quality music" +} + +BootSequence [ + #Audio volume + cset "name='Headset_PGAL_GAIN' 0" + cset "name='Lineout_PGAL_GAIN' 0" + + #Audio amp + cset "name='Audio_Amp_R_Switch' On" + cset "name='Audio_Amp_L_Switch' On" + + #Headset out + cset "name='Speaker_Amp_Switch' Off" + + #Dmic + cset "name='Audio_MICBIAS0_Switch' On" + + #HDMI audio (I2S3 Out) + cset "name='O00 I07 Switch' on" + cset "name='O01 I08 Switch' on" + + #jack_mic Headset In + cset "name='Audio_MicSource1_Setting' ADC2" + + cset "name='O03 I05 Switch' on" + cset "name='O04 I06 Switch' on" + cset "name='O05 I03 Switch' on" + cset "name='O06 I04 Switch' on" + cset "name='O09 I14 Switch' on" + cset "name='O10 I15 Switch' on" + cset "name='AUD_CLK_BUF_Switch' On" + cset "name='Audio_ADC_1_Switch' On" + cset "name='INT ADDA O03_O04 Switch' on" +] diff --git a/ucm2/conf.d/mt8365-evk/mt8365-evk.conf b/ucm2/conf.d/mt8365-evk/mt8365-evk.conf new file mode 120000 index 00000000..a46fe74e --- /dev/null +++ b/ucm2/conf.d/mt8365-evk/mt8365-evk.conf @@ -0,0 +1 @@ +../../MediaTek/mt8365-evk/mt8365-evk.conf \ No newline at end of file