From f293b3149b8b370fed70eb83025410ddaee8a9cf Mon Sep 17 00:00:00 2001 From: =?utf8?q?N=C3=ADcolas=20F=2E=20R=2E=20A=2E=20Prado?= Date: Tue, 25 Feb 2025 15:10:49 -0300 Subject: [PATCH] ucm2: MediaTek: mt8390-evk: Add support for SOF MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Add support for MT8390 EVK with the SOF enabled. The only differences compared to the UCM with SOF disabled is the device number for playback and capture, which uses the PCMs for the SOF instead, and the number of channels for capture, which is stereo rather than mono. Define those parameters as variables for each case, with and without SOF, and move the common intialization to an init.conf, so the UCM can be shared by both. Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/513 Signed-off-by: Nícolas F. R. A. Prado Signed-off-by: Jaroslav Kysela --- ucm2/MediaTek/mt8390-evk/HiFi.conf | 14 +++--- ucm2/MediaTek/mt8390-evk/init.conf | 45 ++++++++++++++++++ ucm2/MediaTek/mt8390-evk/mt8390-evk.conf | 46 ++----------------- .../mt8390-evk/sof/sof-mt8390-evk.conf | 9 ++++ .../conf.d/sof-mt8390-evk/sof-mt8390-evk.conf | 1 + 5 files changed, 67 insertions(+), 48 deletions(-) create mode 100644 ucm2/MediaTek/mt8390-evk/init.conf create mode 100644 ucm2/MediaTek/mt8390-evk/sof/sof-mt8390-evk.conf create mode 120000 ucm2/conf.d/sof-mt8390-evk/sof-mt8390-evk.conf diff --git a/ucm2/MediaTek/mt8390-evk/HiFi.conf b/ucm2/MediaTek/mt8390-evk/HiFi.conf index a94adb0..d5ad0c7 100644 --- a/ucm2/MediaTek/mt8390-evk/HiFi.conf +++ b/ucm2/MediaTek/mt8390-evk/HiFi.conf @@ -68,7 +68,7 @@ SectionDevice."Speaker" { Value { PlaybackPriority 400 PlaybackChannels 2 - PlaybackPCM "hw:${CardId},0" + PlaybackPCM "hw:${CardId},${var:PlayDevN}" } } @@ -90,7 +90,7 @@ SectionDevice."Headphones" { Value { PlaybackPriority 500 PlaybackChannels 2 - PlaybackPCM "hw:${CardId},0" + PlaybackPCM "hw:${CardId},${var:PlayDevN}" JackControl "Headphone Jack" } } @@ -108,8 +108,8 @@ SectionDevice."Headset" { Value { CapturePriority 500 - CaptureChannels 1 - CapturePCM "hw:${CardId},10" + CaptureChannels "${var:CapChanN}" + CapturePCM "hw:${CardId},${var:CapDevN}" JackControl "Headset Mic Jack" } } @@ -127,8 +127,8 @@ SectionDevice."Mic1" { Value { CapturePriority 400 - CaptureChannels 1 - CapturePCM "hw:${CardId},10" + CaptureChannels "${var:CapChanN}" + CapturePCM "hw:${CardId},${var:CapDevN}" } } @@ -180,4 +180,4 @@ SectionDevice."Line4" { PlaybackChannels 8 PlaybackPCM "hw:${CardId},6" } -} \ No newline at end of file +} diff --git a/ucm2/MediaTek/mt8390-evk/init.conf b/ucm2/MediaTek/mt8390-evk/init.conf new file mode 100644 index 0000000..e2d56e2 --- /dev/null +++ b/ucm2/MediaTek/mt8390-evk/init.conf @@ -0,0 +1,45 @@ +Syntax 4 + +SectionUseCase."HiFi" { + File "/MediaTek/mt8390-evk/HiFi.conf" + Comment "Play high quality music" +} + +BootSequence [ + cset "name='HP Mux' Audio Playback" + cset "name='LOL Mux' Open" + cset "name='MISO0_MUX' UL1_CH1" + cset "name='MISO1_MUX' UL1_CH1" + cset "name='ADC_L_Mux' Left Preamplifier" + cset "name='PGA_L_Mux' AIN1" + cset "name='HDMI_OUT_MUX' Connect" + cset "name='DPTX_OUT_MUX' Disconnect" + cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys" + cset "name='ETDM_OUT2_Clock_Source' a1sys_a2sys" + cset "name='ETDM_OUT3_Clock_Source' a1sys_a2sys" + cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys" + cset "name='ETDM_IN2_Clock_Source' a1sys_a2sys" + cset "name='Lineout Volume' 10" + cset "name='Headset Volume' 2" + cset "name='PGA1 Volume' 4" + cset "name='O000 I000 Switch' on" + cset "name='O001 I001 Switch' on" + cset "name='O002 I004 Switch' on" + cset "name='O003 I006 Switch' on" + cset "name='O034 I168 Switch' on" + cset "name='O035 I169 Switch' on" + cset "name='O036 I012 Switch' on" + cset "name='O037 I013 Switch' on" + cset "name='O040 I002 Switch' on" + cset "name='O041 I003 Switch' on" + cset "name='O048 I022 Switch' on" + cset "name='O049 I023 Switch' on" + cset "name='O050 I024 Switch' on" + cset "name='O051 I025 Switch' on" + cset "name='O052 I026 Switch' on" + cset "name='O053 I027 Switch' on" + cset "name='O054 I028 Switch' on" + cset "name='O055 I029 Switch' on" + cset "name='O176 I070 Switch' on" + cset "name='O177 I071 Switch' on" +] \ No newline at end of file diff --git a/ucm2/MediaTek/mt8390-evk/mt8390-evk.conf b/ucm2/MediaTek/mt8390-evk/mt8390-evk.conf index e2d56e2..d2f285c 100644 --- a/ucm2/MediaTek/mt8390-evk/mt8390-evk.conf +++ b/ucm2/MediaTek/mt8390-evk/mt8390-evk.conf @@ -1,45 +1,9 @@ Syntax 4 -SectionUseCase."HiFi" { - File "/MediaTek/mt8390-evk/HiFi.conf" - Comment "Play high quality music" +Define { + PlayDevN "0" + CapDevN "10" + CapChanN "1" } -BootSequence [ - cset "name='HP Mux' Audio Playback" - cset "name='LOL Mux' Open" - cset "name='MISO0_MUX' UL1_CH1" - cset "name='MISO1_MUX' UL1_CH1" - cset "name='ADC_L_Mux' Left Preamplifier" - cset "name='PGA_L_Mux' AIN1" - cset "name='HDMI_OUT_MUX' Connect" - cset "name='DPTX_OUT_MUX' Disconnect" - cset "name='ETDM_OUT1_Clock_Source' a1sys_a2sys" - cset "name='ETDM_OUT2_Clock_Source' a1sys_a2sys" - cset "name='ETDM_OUT3_Clock_Source' a1sys_a2sys" - cset "name='ETDM_IN1_Clock_Source' a1sys_a2sys" - cset "name='ETDM_IN2_Clock_Source' a1sys_a2sys" - cset "name='Lineout Volume' 10" - cset "name='Headset Volume' 2" - cset "name='PGA1 Volume' 4" - cset "name='O000 I000 Switch' on" - cset "name='O001 I001 Switch' on" - cset "name='O002 I004 Switch' on" - cset "name='O003 I006 Switch' on" - cset "name='O034 I168 Switch' on" - cset "name='O035 I169 Switch' on" - cset "name='O036 I012 Switch' on" - cset "name='O037 I013 Switch' on" - cset "name='O040 I002 Switch' on" - cset "name='O041 I003 Switch' on" - cset "name='O048 I022 Switch' on" - cset "name='O049 I023 Switch' on" - cset "name='O050 I024 Switch' on" - cset "name='O051 I025 Switch' on" - cset "name='O052 I026 Switch' on" - cset "name='O053 I027 Switch' on" - cset "name='O054 I028 Switch' on" - cset "name='O055 I029 Switch' on" - cset "name='O176 I070 Switch' on" - cset "name='O177 I071 Switch' on" -] \ No newline at end of file +Include.init.File "/MediaTek/mt8390-evk/init.conf" diff --git a/ucm2/MediaTek/mt8390-evk/sof/sof-mt8390-evk.conf b/ucm2/MediaTek/mt8390-evk/sof/sof-mt8390-evk.conf new file mode 100644 index 0000000..81df033 --- /dev/null +++ b/ucm2/MediaTek/mt8390-evk/sof/sof-mt8390-evk.conf @@ -0,0 +1,9 @@ +Syntax 4 + +Define { + PlayDevN "16" + CapDevN "18" + CapChanN "2" +} + +Include.init.File "/MediaTek/mt8390-evk/init.conf" diff --git a/ucm2/conf.d/sof-mt8390-evk/sof-mt8390-evk.conf b/ucm2/conf.d/sof-mt8390-evk/sof-mt8390-evk.conf new file mode 120000 index 0000000..b8fe868 --- /dev/null +++ b/ucm2/conf.d/sof-mt8390-evk/sof-mt8390-evk.conf @@ -0,0 +1 @@ +../../MediaTek/mt8390-evk/sof/sof-mt8390-evk.conf \ No newline at end of file -- 2.47.1