]> git.alsa-project.org Git - alsa-lib.git/commitdiff
conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
authorHui Wang <hui.wang@canonical.com>
Mon, 24 Dec 2018 08:34:46 +0000 (16:34 +0800)
committerTakashi Iwai <tiwai@suse.de>
Tue, 1 Jan 2019 08:36:17 +0000 (09:36 +0100)
The new generation of Dell Edge IoT platform is based on Intel
Kabylake platform, and the audio codec is ALC3277 which is 100%
compatible with RT5660 in I2S mode.

The audio design on this IoT platform is as below:
 - Intel kabylake platform
 - connect the codec ALC3277 via SSP0
 - line-out and line-in with Micbias jacks
 - line-out mute control and jack detection of line-out and line-in
 - two HDMI ports with audio capability

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
configure.ac
src/conf/ucm/Makefile.am
src/conf/ucm/kblrt5660/Hdmi1 [new file with mode: 0755]
src/conf/ucm/kblrt5660/Hdmi2 [new file with mode: 0755]
src/conf/ucm/kblrt5660/HiFi [new file with mode: 0755]
src/conf/ucm/kblrt5660/Makefile.am [new file with mode: 0755]
src/conf/ucm/kblrt5660/kblrt5660.conf [new file with mode: 0755]

index d524ff4b657b19c881225ca3069d38685203c753..6533e3fea76e4b159601bd6ba2f13a27cbba795e 100644 (file)
@@ -746,6 +746,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \
          src/conf/ucm/gpd-win-pocket-rt5645/Makefile \
          src/conf/ucm/HDAudio-Gigabyte-ALC1220DualCodecs/Makefile \
          src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile \
+         src/conf/ucm/kblrt5660/Makefile \
          src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile \
          src/conf/ucm/PandaBoard/Makefile \
          src/conf/ucm/PandaBoardES/Makefile \
index 985c460c566d1f8e394b033d9711ae9134ff434f..601f796783157f2ccd48e6b9ed71d8142c68e6f9 100644 (file)
@@ -30,6 +30,7 @@ GoogleNyan \
 gpd-win-pocket-rt5645 \
 HDAudio-Gigabyte-ALC1220DualCodecs \
 HDAudio-Lenovo-DualCodecs \
+kblrt5660 \
 LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216 \
 PandaBoard \
 PandaBoardES \
diff --git a/src/conf/ucm/kblrt5660/Hdmi1 b/src/conf/ucm/kblrt5660/Hdmi1
new file mode 100755 (executable)
index 0000000..95e6187
--- /dev/null
@@ -0,0 +1,20 @@
+# Usecase for device HDMI1/Display Port stereo playback on Intel KABYLAKE platforms
+# For Audio in I2S mode
+
+SectionDevice."Hdmi1" {
+        Comment "HDMI/Display Port 1 Stereo"
+
+        EnableSequence [
+        ]
+
+        DisableSequence [
+        ]
+
+        Value {
+                PlaybackPCM "hw:kblrt5660,2"
+                PlaybackChannels "2"
+                PlaybackPriority "2"
+                JackControl "HDMI/DP, pcm=4 Jack"
+        }
+}
+
diff --git a/src/conf/ucm/kblrt5660/Hdmi2 b/src/conf/ucm/kblrt5660/Hdmi2
new file mode 100755 (executable)
index 0000000..f6d2fee
--- /dev/null
@@ -0,0 +1,20 @@
+# Usecase for device HDMI2/Display Port stereo playback on Intel KABYLAKE platforms
+# For Audio in I2S mode
+
+SectionDevice."Hdmi2" {
+        Comment "HDMI/Display Port 2 Stereo"
+
+        EnableSequence [
+        ]
+
+        DisableSequence [
+        ]
+
+        Value {
+                PlaybackPCM "hw:kblrt5660,3"
+                PlaybackChannels "2"
+                PlaybackPriority "3"
+                JackControl "HDMI/DP, pcm=5 Jack"
+        }
+}
+
diff --git a/src/conf/ucm/kblrt5660/HiFi b/src/conf/ucm/kblrt5660/HiFi
new file mode 100755 (executable)
index 0000000..dbdb900
--- /dev/null
@@ -0,0 +1,85 @@
+# UCM for Intel Kabylake platforms with RT5660
+# For Audio in I2S mode
+
+SectionVerb {
+
+       EnableSequence [
+       ]
+
+       DisableSequence [
+       ]
+
+       # ALSA PCM
+       Value {
+               # ALSA PCM device for HiFi
+               PlaybackPCM "hw:kblrt5660,0"
+               CapturePCM "hw:kblrt5660,1"
+       }
+}
+
+SectionDevice."LineOut" {
+       Comment "LineOut playback"
+
+       EnableSequence [
+               cdev "hw:kblrt5660"
+               cset "name='DAC1 Playback Volume' 30"
+               cset "name='OUT Playback Volume' 19"
+               cset "name='OUT Playback Switch' on"
+               cset "name='codec0_out mo media0_in mi Switch' on"
+               cset "name='DAC1 MIXL DAC1 Switch' on"
+               cset "name='DAC1 MIXR DAC1 Switch' on"
+               cset "name='Stereo DAC MIXL DAC L1 Switch' on"
+               cset "name='Stereo DAC MIXR DAC L1 Switch' off"
+               cset "name='Stereo DAC MIXR DAC R1 Switch' on"
+               cset "name='Stereo DAC MIXL DAC R1 Switch' off"
+               cset "name='LOUT MIX DAC Switch' on"
+               cset "name='Line Out Switch' on"
+       ]
+
+       DisableSequence [
+               cdev "hw:kblrt5660"
+               cset "name='Line Out Switch' off"
+               cset "name='DAC1 MIXL DAC1' off"
+               cset "name='DAC1 MIXR DAC1' off"
+       ]
+
+       Value {
+               PlaybackChannels "2"
+               JackDev "rt5660-jack"
+               JackControl "Line Out Jack"
+       }
+}
+
+SectionDevice."LineIn" {
+       Comment "LineIn capture"
+
+       EnableSequence [
+               cdev "hw:kblrt5660"
+
+               cset "name='ADC Capture Volume' 30"
+               cset "name='IN1 Boost Volume' 30"
+               cset "name='IN2 Boost Volume' 30"
+               cset "name='STO1 ADC Boost Gain Volume' 1"
+               cset "name='RECMIXL BST1 Switch' off"
+               cset "name='RECMIXR BST1 Switch' on"
+               cset "name='RECMIXL BST2 Switch' on"
+               cset "name='RECMIXR BST2 Switch' off"
+               cset "name='Line In Switch' on"
+               cset "name='Sto1 ADC MIXR ADC1 Switch' on"
+               cset "name='Sto1 ADC MIXL ADC1 Switch' on"
+               cset "name='media0_out mo codec0_in mi Switch' on"
+       ]
+
+       DisableSequence [
+               cdev "hw:kblrt5660"
+               cset "name='Line In Switch' off"
+               cset "name='Sto1 ADC MIXR ADC1 Switch' off"
+               cset "name='Sto1 ADC MIXL ADC1 Switch' off"
+       ]
+
+       Value {
+               CaptureChannels "2"
+               JackDev "rt5660-jack"
+               JackControl "Line In Jack"
+       }
+}
diff --git a/src/conf/ucm/kblrt5660/Makefile.am b/src/conf/ucm/kblrt5660/Makefile.am
new file mode 100755 (executable)
index 0000000..83c3743
--- /dev/null
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/kblrt5660
+ucm_DATA = kblrt5660.conf HiFi Hdmi1 Hdmi2
+EXTRA_DIST = $(ucm_DATA)
diff --git a/src/conf/ucm/kblrt5660/kblrt5660.conf b/src/conf/ucm/kblrt5660/kblrt5660.conf
new file mode 100755 (executable)
index 0000000..c5e9420
--- /dev/null
@@ -0,0 +1,18 @@
+SectionUseCase."HiFi" {
+       File "HiFi"
+       Comment "Play HiFi quality Music"
+}
+
+SectionUseCase."Hdmi1" {
+        File "Hdmi1"
+        Comment "Play on Hdmi/DP 1"
+}
+
+SectionUseCase."Hdmi2" {
+        File "Hdmi2"
+        Comment "Play on Hdmi/DP 2"
+}
+
+SectionDefaults [
+       cdev "hw:kblrt5660"
+]