@@ -745,6 +745,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 \
@@ -29,6 +29,7 @@ GoogleNyan \
gpd-win-pocket-rt5645 \
HDAudio-Gigabyte-ALC1220DualCodecs \
HDAudio-Lenovo-DualCodecs \
+kblrt5660 \
LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216 \
PandaBoard \
PandaBoardES \
new file mode 100755
@@ -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"
+ }
+}
+
new file mode 100755
@@ -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"
+ }
+}
+
new file mode 100755
@@ -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"
+ }
+}
new file mode 100755
@@ -0,0 +1,4 @@
+alsaconfigdir = @ALSA_CONFIG_DIR@
+ucmdir = $(alsaconfigdir)/ucm/kblrt5660
+ucm_DATA = kblrt5660.conf HiFi Hdmi1 Hdmi2
+EXTRA_DIST = $(ucm_DATA)
new file mode 100755
@@ -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"
+]
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> --- configure.ac | 1 + src/conf/ucm/Makefile.am | 1 + src/conf/ucm/kblrt5660/Hdmi1 | 20 +++++++ src/conf/ucm/kblrt5660/Hdmi2 | 20 +++++++ src/conf/ucm/kblrt5660/HiFi | 85 +++++++++++++++++++++++++++ src/conf/ucm/kblrt5660/Makefile.am | 4 ++ src/conf/ucm/kblrt5660/kblrt5660.conf | 18 ++++++ 7 files changed, 149 insertions(+) create mode 100755 src/conf/ucm/kblrt5660/Hdmi1 create mode 100755 src/conf/ucm/kblrt5660/Hdmi2 create mode 100755 src/conf/ucm/kblrt5660/HiFi create mode 100755 src/conf/ucm/kblrt5660/Makefile.am create mode 100755 src/conf/ucm/kblrt5660/kblrt5660.conf