diff options
25 files changed, 1651 insertions, 44 deletions
diff --git a/conf/machine/dragonboard-410c-32.conf b/conf/machine/dragonboard-410c-32.conf index 859bbfd..8d732ed 100644 --- a/conf/machine/dragonboard-410c-32.conf +++ b/conf/machine/dragonboard-410c-32.conf @@ -15,7 +15,6 @@ RDEPENDS_kernel-base = "" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wcnss-config wcnss-start', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5-noinst-tools', '', d)} \ firmware-qcom-dragonboard410c \ " diff --git a/conf/machine/dragonboard-410c.conf b/conf/machine/dragonboard-410c.conf index e13825f..ffb5a21 100644 --- a/conf/machine/dragonboard-410c.conf +++ b/conf/machine/dragonboard-410c.conf @@ -15,12 +15,11 @@ SERIAL_CONSOLE ?= "115200 ttyMSM0" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ kernel-modules \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wcnss-config wcnss-start', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5-noinst-tools', '', d)} \ firmware-qcom-dragonboard410c \ " -QCOM_BOOTIMG_ROOTFS ?= "mmcblk0p10" +QCOM_BOOTIMG_ROOTFS ?= "mmcblk0p14" # Define rootfs partiton (kernel argument) SD_QCOM_BOOTIMG_ROOTFS ?= "mmcblk1p7" diff --git a/conf/machine/include/qcom-apq8016.inc b/conf/machine/include/qcom-apq8016.inc index 27eb27e..08bd660 100644 --- a/conf/machine/include/qcom-apq8016.inc +++ b/conf/machine/include/qcom-apq8016.inc @@ -33,6 +33,3 @@ IMAGE_ROOTFS_ALIGNMENT = "4096" QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000" QCOM_BOOTIMG_PAGE_SIZE ?= "2048" - -KERNEL_MODULE_PROBECONF += "qcom_q6v5_pil" -module_conf_qcom_q6v5_pil = "blacklist qcom_q6v5_pil" diff --git a/conf/machine/include/qcom-sdm845.inc b/conf/machine/include/qcom-sdm845.inc index f58f19b..7f6a1c2 100644 --- a/conf/machine/include/qcom-sdm845.inc +++ b/conf/machine/include/qcom-sdm845.inc @@ -24,9 +24,11 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-qcomlt" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ + adsprpc \ + pd-mapper \ qrtr \ rmtfs \ - adsprpc \ + tqftpserv \ " IMAGE_FSTYPES ?= "ext4.gz" diff --git a/conf/machine/sd-600eval.conf b/conf/machine/sd-600eval.conf index f7da072..f4ed1cb 100644 --- a/conf/machine/sd-600eval.conf +++ b/conf/machine/sd-600eval.conf @@ -9,7 +9,6 @@ MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2" MACHINE_EXTRA_RRECOMMENDS = " \ kernel-modules \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wcnss-config wcnss-start', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluez5', 'bluez5-noinst-tools', '', d)} \ firmware-qcom-sd-600eval \ " diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb index b65ac46..62e5bf4 100644 --- a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb +++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb @@ -24,8 +24,9 @@ do_install() { cp -r ./proprietary-linux/* ${D}${nonarch_base_libdir}/firmware/ cp ./efs-seed/fs_image_linux.tar.gz.mbn.img ${D}/boot/modem_fsg + install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8916 MTOOLS_SKIP_CHECK=1 mcopy -i ./bootloaders-linux/NON-HLOS.bin \ - ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/ + ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8916 # Venus firmware have been merged in linux-firmware in a different location than # what we've been using for now. Let's add symlinks for now, until we switch to linux-firmware diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb index dc81dcd..c33cecb 100644 --- a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb +++ b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb @@ -19,10 +19,11 @@ do_compile() { do_install() { install -d ${D}${nonarch_base_libdir}/firmware/ install -d ${D}${nonarch_base_libdir}/firmware/qcom/venus-4.2/ + install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/ install -m 0444 ./proprietary-linux/a530*.* ${D}${nonarch_base_libdir}/firmware/ install -m 0444 ./proprietary-linux/venus.* ${D}${nonarch_base_libdir}/firmware/qcom/venus-4.2/ - install -m 0444 ./proprietary-linux/adsp.* ${D}${nonarch_base_libdir}/firmware/ + install -m 0444 ./proprietary-linux/adsp.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/ install -d ${D}${sysconfdir}/ install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE diff --git a/recipes-bsp/wcnss-config/wcnss-config_1.13.bb b/recipes-bsp/wcnss-config/wcnss-config_1.13.bb deleted file mode 100644 index 79711ad..0000000 --- a/recipes-bsp/wcnss-config/wcnss-config_1.13.bb +++ /dev/null @@ -1,32 +0,0 @@ -SUMMARY = "WLAN and BT configuration files for QCOM WCN" -HOMEPAGE = "https://git.linaro.org/landing-teams/working/qualcomm/wcnss-config.git" -SECTION = "devel" - -LICENSE = "GPLv2+" -LIC_FILES_CHKSUM = "file://debian/copyright;md5=9ffc7d99f148b53a339cd4374c5c431f" - -# TAG:debian/1.13 -SRCREV = "655a59f30915bed785d39cc90130dc06b44d7f6f" -SRC_URI = "git://git.linaro.org/landing-teams/working/qualcomm/wcnss-config.git;branch=master;protocol=https" - -S = "${WORKDIR}/git" - -inherit systemd allarch - -PACKAGES =+ "wcnss-start" - -do_install () { - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${S}/debian/wcnss-start.service ${D}${systemd_unitdir}/system - - install -d ${D}${sbindir} - install -m 0755 ${S}/wcnss-start ${D}${sbindir} -} - -# They are empty, and would break dev-pkgs image feature. -PACKAGES_remove = "${PN}-dev ${PN}-staticdev" - -FILES_wcnss-start = "${sbindir}/wcnss-start ${systemd_unitdir}/system/wcnss-start.service" - -SYSTEMD_PACKAGES = "wcnss-start" -SYSTEMD_SERVICE_wcnss-start = "wcnss-start.service" diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.2.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.2.bb index bd6dade..41d6fe0 100644 --- a/recipes-kernel/linux/linux-linaro-qcomlt_5.2.bb +++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.2.bb @@ -11,7 +11,7 @@ require recipes-kernel/linux/linux-qcom-bootimg.inc LOCALVERSION ?= "-linaro-lt-qcom" SRCBRANCH ?= "release/db845c/qcomlt-5.2" -SRCREV ?= "b13017c21d43cf5cbe81129c650ed5ed44d8adb0" +SRCREV ?= "13e8268d9b5cf3980b6e2766bf00439001c363fd" COMPATIBLE_MACHINE = "(sdm845)" diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.4.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.4.bb new file mode 100644 index 0000000..24b162c --- /dev/null +++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.4.bb @@ -0,0 +1,19 @@ +# Copyright (C) 2014-2019 Linaro +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "Linaro Qualcomm Landing team 5.4 Kernel" +LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" + +inherit pythonnative + +require recipes-kernel/linux/linux-linaro-qcom.inc +require recipes-kernel/linux/linux-qcom-bootimg.inc + +LOCALVERSION ?= "-linaro-lt-qcom" +SRCBRANCH ?= "release/qcomlt-5.4" +SRCREV ?= "447814278e3fcaef6db32a458e976b8c0c30ea0d" + +COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845)" + +# Wifi firmware has a recognizable arch :( +ERROR_QA_remove = "arch" diff --git a/recipes-multimedia/alsa/alsa-lib/0001-conf-ucm-Add-ucm-files-for-DB820c-board.patch b/recipes-multimedia/alsa/alsa-lib/0001-conf-ucm-Add-ucm-files-for-DB820c-board.patch new file mode 100644 index 0000000..6fe8b19 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0001-conf-ucm-Add-ucm-files-for-DB820c-board.patch @@ -0,0 +1,238 @@ +From 3f8f1126d551b0ab6dedf9247d5c80c7b5f0ebec Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Fri, 28 Apr 2017 12:32:59 +0100 +Subject: [PATCH 1/9] conf/ucm: Add ucm files for DB820c board + +DB820c board is based of MSM8996 Qualcomm SoC, which has support for both +Digital and Analog audio. Digital audio is over HDMI and analog is over +WCD9335 codec via SLIMbus. + +Board itself has HDMI port, a 3.5mm audio Jack and an Audio expansion +connector. +This patch adds ucm support for HDMI port and 3.5mm jack. + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + configure.ac | 1 + + src/conf/ucm/DB820c/DB820c.conf | 9 +++ + src/conf/ucm/DB820c/HDMI | 37 +++++++++++ + src/conf/ucm/DB820c/HiFi | 110 ++++++++++++++++++++++++++++++++ + src/conf/ucm/DB820c/Makefile.am | 4 ++ + src/conf/ucm/Makefile.am | 1 + + 6 files changed, 162 insertions(+) + create mode 100644 src/conf/ucm/DB820c/DB820c.conf + create mode 100644 src/conf/ucm/DB820c/HDMI + create mode 100644 src/conf/ucm/DB820c/HiFi + create mode 100644 src/conf/ucm/DB820c/Makefile.am + +diff --git a/configure.ac b/configure.ac +index a0c346ef..e9e1a369 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -747,6 +747,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ + src/conf/ucm/cube-i1_TF-Defaultstring-CherryTrailCR/Makefile \ + src/conf/ucm/DAISY-I2S/Makefile \ + src/conf/ucm/DB410c/Makefile \ ++ src/conf/ucm/DB820c/Makefile \ + src/conf/ucm/Dell-WD15-Dock/Makefile \ + src/conf/ucm/GoogleNyan/Makefile \ + src/conf/ucm/gpd-win-pocket-rt5645/Makefile \ +diff --git a/src/conf/ucm/DB820c/DB820c.conf b/src/conf/ucm/DB820c/DB820c.conf +new file mode 100644 +index 00000000..58b7ff4e +--- /dev/null ++++ b/src/conf/ucm/DB820c/DB820c.conf +@@ -0,0 +1,9 @@ ++SectionUseCase."HiFi" { ++ File "HiFi" ++ Comment "HiFi quality Music." ++} ++ ++SectionUseCase."HDMI" { ++ File "HDMI" ++ Comment "HDMI output." ++} +diff --git a/src/conf/ucm/DB820c/HDMI b/src/conf/ucm/DB820c/HDMI +new file mode 100644 +index 00000000..39b28692 +--- /dev/null ++++ b/src/conf/ucm/DB820c/HDMI +@@ -0,0 +1,37 @@ ++# Use case configuration for DB820c board. ++# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> ++ ++SectionVerb { ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='HDMI Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='HDMI Mixer MultiMedia1' 0" ++ ] ++ Value { ++ TQ "HiFi" ++ PlaybackPCM "plughw:0,0" ++ } ++} ++ ++SectionDevice."HDMI-stereo" { ++ #Name "HDMI-stereo" ++ Comment "HDMI Digital Stereo Output" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='HDMI Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='HDMI Mixer MultiMedia1' 0" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} +diff --git a/src/conf/ucm/DB820c/HiFi b/src/conf/ucm/DB820c/HiFi +new file mode 100644 +index 00000000..4457329f +--- /dev/null ++++ b/src/conf/ucm/DB820c/HiFi +@@ -0,0 +1,110 @@ ++# Use case configuration for DB820c board. ++# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> ++ ++SectionVerb { ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' AIF4_PB" ++ cset "name='SLIM RX6 MUX' AIF4_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX5" ++ cset "name='RX INT2_2 MUX' RX6" ++ ## gain to 0dB ++ cset "name='RX5 Digital Volume' 68" ++ ## gain to 0dB ++ cset "name='RX6 Digital Volume' 68" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='SLIM TX0 MUX' DEC0" ++ cset "name='ADC2 Volume' 12" ++ cset "name='ADC MUX0' AMIC" ++ cset "name='AMIC MUX0' ADC2" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++ ++ # ALSA PCM ++ Value { ++ # ALSA PCM device for HiFi ++ PlaybackPCM "plughw:0,1" ++ CapturePCM "plughw:0,2" ++ } ++} ++ ++SectionDevice."Headphones" { ++ Comment "Headphones playback" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' AIF4_PB" ++ cset "name='SLIM RX6 MUX' AIF4_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX5" ++ cset "name='RX INT2_2 MUX' RX6" ++ ## gain to 0dB ++ cset "name='RX5 Digital Volume' 68" ++ ## gain to 0dB ++ cset "name='RX6 Digital Volume' 68" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 1" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='RX5 Digital Volume' 0" ++ cset "name='RX6 Digital Volume' 0" ++ cset "name='SLIM RX5 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIMBUS_6_RX Audio Mixer MultiMedia2' 0" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} ++ ++SectionDevice."Handset" { ++ Comment "Headset Microphone" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='SLIM TX0 MUX' DEC0" ++ cset "name='ADC2 Volume' 12" ++ cset "name='ADC MUX0' AMIC" ++ cset "name='AMIC MUX0' ADC2" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 0" ++ cset "name='AMIC MUX0' ZERO" ++ cset "name='SLIM TX0 MUX' ZERO" ++ cset "name='ADC2 Volume' 0" ++ ] ++ ++ Value { ++ CaptureChannels "1" ++ } ++} +diff --git a/src/conf/ucm/DB820c/Makefile.am b/src/conf/ucm/DB820c/Makefile.am +new file mode 100644 +index 00000000..16e985e5 +--- /dev/null ++++ b/src/conf/ucm/DB820c/Makefile.am +@@ -0,0 +1,4 @@ ++alsaconfigdir = @ALSA_CONFIG_DIR@ ++ucmdir = $(alsaconfigdir)/ucm/DB820c ++ucm_DATA = DB820c.conf HDMI HiFi ++EXTRA_DIST = $(ucm_DATA) +diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am +index ee850ee6..e9f88ed6 100644 +--- a/src/conf/ucm/Makefile.am ++++ b/src/conf/ucm/Makefile.am +@@ -31,6 +31,7 @@ chtrt5650 \ + cube-i1_TF-Defaultstring-CherryTrailCR \ + DAISY-I2S \ + DB410c \ ++DB820c \ + Dell-WD15-Dock \ + GoogleNyan \ + gpd-win-pocket-rt5645 \ +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0002-ucm-Add-ucm-files-for-DB845c-HDMI-audio.patch b/recipes-multimedia/alsa/alsa-lib/0002-ucm-Add-ucm-files-for-DB845c-HDMI-audio.patch new file mode 100644 index 0000000..c7dc3f5 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0002-ucm-Add-ucm-files-for-DB845c-HDMI-audio.patch @@ -0,0 +1,107 @@ +From 294653f6c664ac20a9b96afc736c1aeca1ce079b Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Wed, 17 Apr 2019 15:20:27 +0100 +Subject: [PATCH 2/9] ucm: Add: ucm files for DB845c HDMI audio + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + configure.ac | 1 + + src/conf/ucm/DB845c/DB845c.conf | 4 ++++ + src/conf/ucm/DB845c/HDMI | 37 +++++++++++++++++++++++++++++++++ + src/conf/ucm/DB845c/Makefile.am | 4 ++++ + src/conf/ucm/Makefile.am | 1 + + 5 files changed, 47 insertions(+) + create mode 100644 src/conf/ucm/DB845c/DB845c.conf + create mode 100644 src/conf/ucm/DB845c/HDMI + create mode 100644 src/conf/ucm/DB845c/Makefile.am + +diff --git a/configure.ac b/configure.ac +index e9e1a369..382d7fb1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -748,6 +748,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ + src/conf/ucm/DAISY-I2S/Makefile \ + src/conf/ucm/DB410c/Makefile \ + src/conf/ucm/DB820c/Makefile \ ++ src/conf/ucm/DB845c/Makefile \ + src/conf/ucm/Dell-WD15-Dock/Makefile \ + src/conf/ucm/GoogleNyan/Makefile \ + src/conf/ucm/gpd-win-pocket-rt5645/Makefile \ +diff --git a/src/conf/ucm/DB845c/DB845c.conf b/src/conf/ucm/DB845c/DB845c.conf +new file mode 100644 +index 00000000..49c688e5 +--- /dev/null ++++ b/src/conf/ucm/DB845c/DB845c.conf +@@ -0,0 +1,4 @@ ++SectionUseCase."HDMI" { ++ File "HDMI" ++ Comment "HDMI output." ++} +diff --git a/src/conf/ucm/DB845c/HDMI b/src/conf/ucm/DB845c/HDMI +new file mode 100644 +index 00000000..fdac94e5 +--- /dev/null ++++ b/src/conf/ucm/DB845c/HDMI +@@ -0,0 +1,37 @@ ++# Use case configuration for DB845c board. ++# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> ++ ++SectionVerb { ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" ++ ] ++ Value { ++ TQ "HiFi" ++ PlaybackPCM "plughw:0,0" ++ } ++} ++ ++SectionDevice."HDMI-stereo" { ++ #Name "HDMI-stereo" ++ Comment "HDMI Digital Stereo Output" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} +diff --git a/src/conf/ucm/DB845c/Makefile.am b/src/conf/ucm/DB845c/Makefile.am +new file mode 100644 +index 00000000..34b28d86 +--- /dev/null ++++ b/src/conf/ucm/DB845c/Makefile.am +@@ -0,0 +1,4 @@ ++alsaconfigdir = @ALSA_CONFIG_DIR@ ++ucmdir = $(alsaconfigdir)/ucm/DB845c ++ucm_DATA = DB845c.conf HDMI ++EXTRA_DIST = $(ucm_DATA) +diff --git a/src/conf/ucm/Makefile.am b/src/conf/ucm/Makefile.am +index e9f88ed6..46d246ea 100644 +--- a/src/conf/ucm/Makefile.am ++++ b/src/conf/ucm/Makefile.am +@@ -32,6 +32,7 @@ cube-i1_TF-Defaultstring-CherryTrailCR \ + DAISY-I2S \ + DB410c \ + DB820c \ ++DB845c \ + Dell-WD15-Dock \ + GoogleNyan \ + gpd-win-pocket-rt5645 \ +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0003-ucm-Add-ucm-files-for-DB845c-analog-audio.patch b/recipes-multimedia/alsa/alsa-lib/0003-ucm-Add-ucm-files-for-DB845c-analog-audio.patch new file mode 100644 index 0000000..b57b9c4 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0003-ucm-Add-ucm-files-for-DB845c-analog-audio.patch @@ -0,0 +1,247 @@ +From c6df679f67d74e6a086b9399846fe7d5172e1e54 Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Thu, 4 Jul 2019 09:57:24 +0100 +Subject: [PATCH 3/9] ucm: Add: ucm files for DB845c analog audio + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + src/conf/ucm/DB845c/DB845c.conf | 5 + + src/conf/ucm/DB845c/HiFi | 202 ++++++++++++++++++++++++++++++++ + src/conf/ucm/DB845c/Makefile.am | 2 +- + 3 files changed, 208 insertions(+), 1 deletion(-) + create mode 100644 src/conf/ucm/DB845c/HiFi + +diff --git a/src/conf/ucm/DB845c/DB845c.conf b/src/conf/ucm/DB845c/DB845c.conf +index 49c688e5..58b7ff4e 100644 +--- a/src/conf/ucm/DB845c/DB845c.conf ++++ b/src/conf/ucm/DB845c/DB845c.conf +@@ -1,3 +1,8 @@ ++SectionUseCase."HiFi" { ++ File "HiFi" ++ Comment "HiFi quality Music." ++} ++ + SectionUseCase."HDMI" { + File "HDMI" + Comment "HDMI output." +diff --git a/src/conf/ucm/DB845c/HiFi b/src/conf/ucm/DB845c/HiFi +new file mode 100644 +index 00000000..36df8c1f +--- /dev/null ++++ b/src/conf/ucm/DB845c/HiFi +@@ -0,0 +1,202 @@ ++# Use case configuration for DB845c board. ++# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> ++ ++SectionVerb { ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='SLIM RX0 MUX' AIF1_PB" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT7_1 MIX1 INP0' RX0" ++ cset "name='RX INT8_1 MIX1 INP0' RX0" ++ ## gain to 0dB ++ cset "name='RX0 Digital Volume' 68" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='CDC_IF TX0 MUX' DEC0" ++ cset "name='ADC MUX0' DMIC" ++ cset "name='DMIC MUX0' DMIC0" ++ cset "name='DEC0 Volume' 68" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++ ++ # ALSA PCM ++ Value { ++ # ALSA PCM device for HiFi ++ PlaybackPCM "plughw:0,1" ++ CapturePCM "plughw:0,2" ++ } ++} ++ ++SectionDevice."Speakers" { ++ Comment "Speakers playback" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='SLIM RX0 MUX' AIF1_PB" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='RX INT7_1 MIX1 INP0' RX0" ++ cset "name='RX INT8_1 MIX1 INP0' RX0" ++ ## gain to 0dB ++ cset "name='RX0 Digital Volume' 68" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ++ cset "name='COMP7 Switch' 1" ++ cset "name='COMP8 Switch' 1" ++ ## Speakers ++ cset "name='SpkrLeft COMP Switch' 1" ++ cset "name='SpkrLeft BOOST Switch' 1" ++ cset "name='SpkrLeft VISENSE Switch' 1" ++ cset "name='SpkrRight COMP Switch' 1" ++ cset "name='SpkrRight BOOST Switch' 1" ++ cset "name='SpkrRight VISENSE Switch' 1" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='RX0 Digital Volume' 0" ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='COMP7 Switch' 0" ++ cset "name='COMP8 Switch' 0" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" ++ cset "name='SpkrLeft COMP Switch' 0" ++ cset "name='SpkrLeft BOOST Switch' 0" ++ cset "name='SpkrLeft VISENSE Switch' 0" ++ cset "name='SpkrRight COMP Switch' 0" ++ cset "name='SpkrRight BOOST Switch' 0" ++ cset "name='SpkrRight VISENSE Switch' 0" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} ++ ++SectionDevice."DMIC0" { ++ Comment "Digital Microphone0" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='CDC_IF TX0 MUX' DEC0" ++ cset "name='ADC MUX0' DMIC" ++ cset "name='DMIC MUX0' DMIC0" ++ cset "name='DEC0 Volume' 68" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 0" ++ cset "name='CDC_IF TX0 MUX' ZERO" ++ cset "name='ADC MUX0' ZERO" ++ cset "name='DMIC MUX0' ZERO" ++ cset "name='DEC0 Volume' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++ ++ Value { ++ CaptureChannels "1" ++ } ++} ++ ++SectionDevice."DMIC1" { ++ Comment "Digital Microphone1" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='CDC_IF TX0 MUX' DEC0" ++ cset "name='ADC MUX0' DMIC" ++ cset "name='DMIC MUX0' DMIC1" ++ cset "name='DEC0 Volume' 68" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 0" ++ cset "name='CDC_IF TX0 MUX' ZERO" ++ cset "name='ADC MUX0' ZERO" ++ cset "name='DMIC MUX0' ZERO" ++ cset "name='DEC0 Volume' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++ ++ Value { ++ CaptureChannels "1" ++ } ++} ++ ++SectionDevice."DMIC2" { ++ Comment "Digital Microphone0" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='CDC_IF TX0 MUX' DEC0" ++ cset "name='ADC MUX0' DMIC" ++ cset "name='DMIC MUX0' DMIC2" ++ cset "name='DEC0 Volume' 68" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 0" ++ cset "name='CDC_IF TX0 MUX' ZERO" ++ cset "name='ADC MUX0' ZERO" ++ cset "name='DMIC MUX0' ZERO" ++ cset "name='DEC0 Volume' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++ ++ Value { ++ CaptureChannels "1" ++ } ++} ++ ++SectionDevice."DMIC4" { ++ Comment "Digital Microphone0" ++ ++ EnableSequence [ ++ cdev "hw:0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='CDC_IF TX0 MUX' DEC0" ++ cset "name='ADC MUX0' DMIC" ++ cset "name='DMIC MUX0' DMIC3" ++ cset "name='DEC0 Volume' 68" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:0" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 0" ++ cset "name='CDC_IF TX0 MUX' ZERO" ++ cset "name='ADC MUX0' ZERO" ++ cset "name='DMIC MUX0' ZERO" ++ cset "name='DEC0 Volume' 0" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ ] ++ ++ Value { ++ CaptureChannels "1" ++ } ++} +diff --git a/src/conf/ucm/DB845c/Makefile.am b/src/conf/ucm/DB845c/Makefile.am +index 34b28d86..f80ab889 100644 +--- a/src/conf/ucm/DB845c/Makefile.am ++++ b/src/conf/ucm/DB845c/Makefile.am +@@ -1,4 +1,4 @@ + alsaconfigdir = @ALSA_CONFIG_DIR@ + ucmdir = $(alsaconfigdir)/ucm/DB845c +-ucm_DATA = DB845c.conf HDMI ++ucm_DATA = DB845c.conf HDMI HiFi + EXTRA_DIST = $(ucm_DATA) +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0004-DB845c-fix-Defaults.patch b/recipes-multimedia/alsa/alsa-lib/0004-DB845c-fix-Defaults.patch new file mode 100644 index 0000000..ffee642 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0004-DB845c-fix-Defaults.patch @@ -0,0 +1,134 @@ +From 3c908d2df1d12ce370020bb8b39ac5b70deaaf78 Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Thu, 19 Sep 2019 12:30:35 +0100 +Subject: [PATCH 4/9] DB845c: fix Defaults + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + src/conf/ucm/DB845c/DB845c.conf | 19 +++++++++++++++++++ + src/conf/ucm/DB845c/HDMI | 22 +++++++++++----------- + src/conf/ucm/DB845c/HiFi | 20 ++++---------------- + 3 files changed, 34 insertions(+), 27 deletions(-) + +diff --git a/src/conf/ucm/DB845c/DB845c.conf b/src/conf/ucm/DB845c/DB845c.conf +index 58b7ff4e..c4f958e0 100644 +--- a/src/conf/ucm/DB845c/DB845c.conf ++++ b/src/conf/ucm/DB845c/DB845c.conf +@@ -7,3 +7,22 @@ SectionUseCase."HDMI" { + File "HDMI" + Comment "HDMI output." + } ++ ++SectionDefaults [ ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ++ cset "name='SLIM RX0 MUX' AIF1_PB" ++ cset "name='CDC_IF RX0 MUX' SLIM RX0" ++ cset "name='RX INT7_1 MIX1 INP0' RX0" ++ cset "name='RX INT8_1 MIX1 INP0' RX0" ++ ## gain to 0dB ++ cset "name='RX0 Digital Volume' 68" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ++ cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" ++ cset "name='AIF1_CAP Mixer SLIM TX0' 1" ++ cset "name='CDC_IF TX0 MUX' DEC0" ++ cset "name='ADC MUX0' DMIC" ++ cset "name='DMIC MUX0' DMIC0" ++ cset "name='DEC0 Volume' 68" ++] +diff --git a/src/conf/ucm/DB845c/HDMI b/src/conf/ucm/DB845c/HDMI +index fdac94e5..8354033d 100644 +--- a/src/conf/ucm/DB845c/HDMI ++++ b/src/conf/ucm/DB845c/HDMI +@@ -3,17 +3,17 @@ + + SectionVerb { + EnableSequence [ +- cdev "hw:0" +- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" + ] + + DisableSequence [ +- cdev "hw:0" +- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" +- ] +- Value { ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" ++ ] ++ Value { + TQ "HiFi" +- PlaybackPCM "plughw:0,0" ++ PlaybackPCM "hw:0,0" + } + } + +@@ -22,13 +22,13 @@ SectionDevice."HDMI-stereo" { + Comment "HDMI Digital Stereo Output" + + EnableSequence [ +- cdev "hw:0" +- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" + ] + + DisableSequence [ +- cdev "hw:0" +- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" ++ cdev "hw:0" ++ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" + ] + + Value { +diff --git a/src/conf/ucm/DB845c/HiFi b/src/conf/ucm/DB845c/HiFi +index 36df8c1f..e8ede5b3 100644 +--- a/src/conf/ucm/DB845c/HiFi ++++ b/src/conf/ucm/DB845c/HiFi +@@ -6,13 +6,7 @@ SectionVerb { + EnableSequence [ + cdev "hw:0" + cset "name='SLIM RX0 MUX' AIF1_PB" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" +- cset "name='SLIM RX3 MUX' ZERO" +- cset "name='SLIM RX4 MUX' ZERO" +- cset "name='SLIM RX5 MUX' ZERO" +- cset "name='SLIM RX6 MUX' ZERO" +- cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='CDC_IF RX0 MUX' SLIM RX0" + cset "name='RX INT7_1 MIX1 INP0' RX0" + cset "name='RX INT8_1 MIX1 INP0' RX0" + ## gain to 0dB +@@ -35,8 +29,8 @@ SectionVerb { + # ALSA PCM + Value { + # ALSA PCM device for HiFi +- PlaybackPCM "plughw:0,1" +- CapturePCM "plughw:0,2" ++ PlaybackPCM "hw:0,1" ++ CapturePCM "hw:0,2" + } + } + +@@ -46,13 +40,7 @@ SectionDevice."Speakers" { + EnableSequence [ + cdev "hw:0" + cset "name='SLIM RX0 MUX' AIF1_PB" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" +- cset "name='SLIM RX3 MUX' ZERO" +- cset "name='SLIM RX4 MUX' ZERO" +- cset "name='SLIM RX5 MUX' ZERO" +- cset "name='SLIM RX6 MUX' ZERO" +- cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='CDC_IF RX0 MUX' SLIM RX0" + cset "name='RX INT7_1 MIX1 INP0' RX0" + cset "name='RX INT8_1 MIX1 INP0' RX0" + ## gain to 0dB +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0005-WIP-make-card-name-explicit.patch b/recipes-multimedia/alsa/alsa-lib/0005-WIP-make-card-name-explicit.patch new file mode 100644 index 0000000..c19ce27 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0005-WIP-make-card-name-explicit.patch @@ -0,0 +1,235 @@ +From 2b92828b0e8ff30cfe7cbd12db6e96c3860333d7 Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Fri, 20 Sep 2019 13:12:05 +0100 +Subject: [PATCH 5/9] WIP: make card name explicit + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + src/conf/ucm/DB845c/DB845c.conf | 2 +- + src/conf/ucm/DB845c/HDMI | 10 +-- + src/conf/ucm/DB845c/HiFi | 124 ++------------------------------ + 3 files changed, 12 insertions(+), 124 deletions(-) + +diff --git a/src/conf/ucm/DB845c/DB845c.conf b/src/conf/ucm/DB845c/DB845c.conf +index c4f958e0..d3cf0b7d 100644 +--- a/src/conf/ucm/DB845c/DB845c.conf ++++ b/src/conf/ucm/DB845c/DB845c.conf +@@ -9,7 +9,7 @@ SectionUseCase."HDMI" { + } + + SectionDefaults [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" + cset "name='SLIM RX0 MUX' AIF1_PB" +diff --git a/src/conf/ucm/DB845c/HDMI b/src/conf/ucm/DB845c/HDMI +index 8354033d..435e6d82 100644 +--- a/src/conf/ucm/DB845c/HDMI ++++ b/src/conf/ucm/DB845c/HDMI +@@ -3,17 +3,17 @@ + + SectionVerb { + EnableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" + ] + + DisableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" + ] + Value { + TQ "HiFi" +- PlaybackPCM "hw:0,0" ++ PlaybackPCM "hw:DB845c,0" + } + } + +@@ -22,12 +22,12 @@ SectionDevice."HDMI-stereo" { + Comment "HDMI Digital Stereo Output" + + EnableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" + ] + + DisableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0" + ] + +diff --git a/src/conf/ucm/DB845c/HiFi b/src/conf/ucm/DB845c/HiFi +index e8ede5b3..f83213c8 100644 +--- a/src/conf/ucm/DB845c/HiFi ++++ b/src/conf/ucm/DB845c/HiFi +@@ -4,7 +4,7 @@ + SectionVerb { + + EnableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='SLIM RX0 MUX' AIF1_PB" + cset "name='CDC_IF RX0 MUX' SLIM RX0" + cset "name='RX INT7_1 MIX1 INP0' RX0" +@@ -21,7 +21,7 @@ SectionVerb { + ] + + DisableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" + cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" + ] +@@ -29,8 +29,8 @@ SectionVerb { + # ALSA PCM + Value { + # ALSA PCM device for HiFi +- PlaybackPCM "hw:0,1" +- CapturePCM "hw:0,2" ++ PlaybackPCM "hw:DB845c,1" ++ CapturePCM "hw:DB845c,2" + } + } + +@@ -38,7 +38,7 @@ SectionDevice."Speakers" { + Comment "Speakers playback" + + EnableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='SLIM RX0 MUX' AIF1_PB" + cset "name='CDC_IF RX0 MUX' SLIM RX0" + cset "name='RX INT7_1 MIX1 INP0' RX0" +@@ -58,7 +58,7 @@ SectionDevice."Speakers" { + ] + + DisableSequence [ +- cdev "hw:0" ++ cdev "hw:DB845c" + cset "name='RX0 Digital Volume' 0" + cset "name='SLIM RX0 MUX' ZERO" + cset "name='COMP7 Switch' 0" +@@ -76,115 +76,3 @@ SectionDevice."Speakers" { + PlaybackChannels "2" + } + } +- +-SectionDevice."DMIC0" { +- Comment "Digital Microphone0" +- +- EnableSequence [ +- cdev "hw:0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='CDC_IF TX0 MUX' DEC0" +- cset "name='ADC MUX0' DMIC" +- cset "name='DMIC MUX0' DMIC0" +- cset "name='DEC0 Volume' 68" +- ] +- +- DisableSequence [ +- cdev "hw:0" +- cset "name='AIF1_CAP Mixer SLIM TX0' 0" +- cset "name='CDC_IF TX0 MUX' ZERO" +- cset "name='ADC MUX0' ZERO" +- cset "name='DMIC MUX0' ZERO" +- cset "name='DEC0 Volume' 0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- ] +- +- Value { +- CaptureChannels "1" +- } +-} +- +-SectionDevice."DMIC1" { +- Comment "Digital Microphone1" +- +- EnableSequence [ +- cdev "hw:0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='CDC_IF TX0 MUX' DEC0" +- cset "name='ADC MUX0' DMIC" +- cset "name='DMIC MUX0' DMIC1" +- cset "name='DEC0 Volume' 68" +- ] +- +- DisableSequence [ +- cdev "hw:0" +- cset "name='AIF1_CAP Mixer SLIM TX0' 0" +- cset "name='CDC_IF TX0 MUX' ZERO" +- cset "name='ADC MUX0' ZERO" +- cset "name='DMIC MUX0' ZERO" +- cset "name='DEC0 Volume' 0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- ] +- +- Value { +- CaptureChannels "1" +- } +-} +- +-SectionDevice."DMIC2" { +- Comment "Digital Microphone0" +- +- EnableSequence [ +- cdev "hw:0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='CDC_IF TX0 MUX' DEC0" +- cset "name='ADC MUX0' DMIC" +- cset "name='DMIC MUX0' DMIC2" +- cset "name='DEC0 Volume' 68" +- ] +- +- DisableSequence [ +- cdev "hw:0" +- cset "name='AIF1_CAP Mixer SLIM TX0' 0" +- cset "name='CDC_IF TX0 MUX' ZERO" +- cset "name='ADC MUX0' ZERO" +- cset "name='DMIC MUX0' ZERO" +- cset "name='DEC0 Volume' 0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- ] +- +- Value { +- CaptureChannels "1" +- } +-} +- +-SectionDevice."DMIC4" { +- Comment "Digital Microphone0" +- +- EnableSequence [ +- cdev "hw:0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='CDC_IF TX0 MUX' DEC0" +- cset "name='ADC MUX0' DMIC" +- cset "name='DMIC MUX0' DMIC3" +- cset "name='DEC0 Volume' 68" +- ] +- +- DisableSequence [ +- cdev "hw:0" +- cset "name='AIF1_CAP Mixer SLIM TX0' 0" +- cset "name='CDC_IF TX0 MUX' ZERO" +- cset "name='ADC MUX0' ZERO" +- cset "name='DMIC MUX0' ZERO" +- cset "name='DEC0 Volume' 0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" +- ] +- +- Value { +- CaptureChannels "1" +- } +-} +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0006-DB845c-Add-headset-mixer-controls.patch b/recipes-multimedia/alsa/alsa-lib/0006-DB845c-Add-headset-mixer-controls.patch new file mode 100644 index 0000000..fe0a375 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0006-DB845c-Add-headset-mixer-controls.patch @@ -0,0 +1,152 @@ +From 95da046a766a82ac2a44a2ff7746adb0621aa693 Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Fri, 18 Oct 2019 00:33:02 +0100 +Subject: [PATCH 6/9] DB845c: Add headset mixer controls + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + src/conf/ucm/DB845c/HiFi | 91 +++++++++++++++++++++++++++------------- + 1 file changed, 63 insertions(+), 28 deletions(-) + +diff --git a/src/conf/ucm/DB845c/HiFi b/src/conf/ucm/DB845c/HiFi +index f83213c8..7efd93df 100644 +--- a/src/conf/ucm/DB845c/HiFi ++++ b/src/conf/ucm/DB845c/HiFi +@@ -5,32 +5,23 @@ SectionVerb { + + EnableSequence [ + cdev "hw:DB845c" +- cset "name='SLIM RX0 MUX' AIF1_PB" +- cset "name='CDC_IF RX0 MUX' SLIM RX0" +- cset "name='RX INT7_1 MIX1 INP0' RX0" +- cset "name='RX INT8_1 MIX1 INP0' RX0" ++ cset "name='SLIM RX6 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' AIF1_PB" ++ cset "name='RX INT7_1 MIX1 INP0' RX6" ++ cset "name='RX INT8_1 MIX1 INP0' RX7" + ## gain to 0dB +- cset "name='RX0 Digital Volume' 68" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" +- cset "name='AIF1_CAP Mixer SLIM TX0' 1" +- cset "name='CDC_IF TX0 MUX' DEC0" +- cset "name='ADC MUX0' DMIC" +- cset "name='DMIC MUX0' DMIC0" +- cset "name='DEC0 Volume' 68" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" + ] + + DisableSequence [ + cdev "hw:DB845c" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" +- cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 0" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" + ] + + # ALSA PCM + Value { + # ALSA PCM device for HiFi +- PlaybackPCM "hw:DB845c,1" +- CapturePCM "hw:DB845c,2" ++ PlaybackPCM "hw:DB845c,0" + } + } + +@@ -39,34 +30,38 @@ SectionDevice."Speakers" { + + EnableSequence [ + cdev "hw:DB845c" +- cset "name='SLIM RX0 MUX' AIF1_PB" +- cset "name='CDC_IF RX0 MUX' SLIM RX0" +- cset "name='RX INT7_1 MIX1 INP0' RX0" +- cset "name='RX INT8_1 MIX1 INP0' RX0" +- ## gain to 0dB +- cset "name='RX0 Digital Volume' 68" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ++ cset "name='SLIM RX6 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' AIF1_PB" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='RX INT7_1 MIX1 INP0' RX6" ++ cset "name='RX INT8_1 MIX1 INP0' RX7" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" + cset "name='COMP7 Switch' 1" + cset "name='COMP8 Switch' 1" + ## Speakers + cset "name='SpkrLeft COMP Switch' 1" + cset "name='SpkrLeft BOOST Switch' 1" +- cset "name='SpkrLeft VISENSE Switch' 1" ++ cset "name='SpkrLeft DAC Switch' 1" ++ cset "name='SpkrLeft VISENSE Switch' 0" + cset "name='SpkrRight COMP Switch' 1" + cset "name='SpkrRight BOOST Switch' 1" +- cset "name='SpkrRight VISENSE Switch' 1" ++ cset "name='SpkrRight DAC Switch' 1" ++ cset "name='SpkrRight VISENSE Switch' 0" + ] + + DisableSequence [ + cdev "hw:DB845c" +- cset "name='RX0 Digital Volume' 0" +- cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIM RX7 MUX' ZERO" + cset "name='COMP7 Switch' 0" + cset "name='COMP8 Switch' 0" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" ++ cset "name='SpkrLeft DAC Switch' 0" + cset "name='SpkrLeft COMP Switch' 0" + cset "name='SpkrLeft BOOST Switch' 0" + cset "name='SpkrLeft VISENSE Switch' 0" ++ cset "name='SpkrRight DAC Switch' 0" + cset "name='SpkrRight COMP Switch' 0" + cset "name='SpkrRight BOOST Switch' 0" + cset "name='SpkrRight VISENSE Switch' 0" +@@ -76,3 +71,43 @@ SectionDevice."Speakers" { + PlaybackChannels "2" + } + } ++ ++SectionDevice."HeadPhones" { ++ Comment "HeadPhones playback" ++ ++ EnableSequence [ ++ cdev "hw:DB845c" ++ cset "name='SLIM RX1 MUX' AIF1_PB" ++ cset "name='SLIM RX2 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX1" ++ cset "name='RX INT2_2 MUX' RX2" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" ++ cset "name='COMP1 Switch' 1" ++ cset "name='COMP2 Switch' 1" ++ cset "name='RX1 Digital Volume' 68" ++ cset "name='RX2 Digital Volume' 68" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:DB845c" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' ZERO" ++ cset "name='RX INT2_2 MUX' ZERO" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" ++ cset "name='COMP1 Switch' 0" ++ cset "name='COMP2 Switch' 0" ++ cset "name='RX1 Digital Volume' 68" ++ cset "name='RX2 Digital Volume' 68" ++ cset "name='RX INT1 DEM MUX' ZERO" ++ cset "name='RX INT2 DEM MUX' ZERO" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0007-Lenovo-YOGA-C630-13Q50-Add-ucm-for-Speaker-and-Heads.patch b/recipes-multimedia/alsa/alsa-lib/0007-Lenovo-YOGA-C630-13Q50-Add-ucm-for-Speaker-and-Heads.patch new file mode 100644 index 0000000..c24d4e6 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0007-Lenovo-YOGA-C630-13Q50-Add-ucm-for-Speaker-and-Heads.patch @@ -0,0 +1,179 @@ +From 00b13011d51bd23dc37af5d006cd158cb808b4e1 Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Fri, 18 Oct 2019 00:37:29 +0100 +Subject: [PATCH 7/9] Lenovo-YOGA-C630-13Q50: Add ucm for Speaker and Headset + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + configure.ac | 1 + + src/conf/ucm/Lenovo-YOGA-C630-13Q50/HiFi | 113 ++++++++++++++++++ + .../Lenovo-YOGA-C630-13Q50.conf | 13 ++ + .../ucm/Lenovo-YOGA-C630-13Q50/Makefile.am | 4 + + 4 files changed, 131 insertions(+) + create mode 100644 src/conf/ucm/Lenovo-YOGA-C630-13Q50/HiFi + create mode 100644 src/conf/ucm/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf + create mode 100644 src/conf/ucm/Lenovo-YOGA-C630-13Q50/Makefile.am + +diff --git a/configure.ac b/configure.ac +index 382d7fb1..88812aa6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -756,6 +756,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ + src/conf/ucm/HDAudio-Lenovo-DualCodecs/Makefile \ + src/conf/ucm/kblrt5660/Makefile \ + src/conf/ucm/LENOVO-80XF-LenovoMIIX320_10ICR-LNVNB161216/Makefile \ ++ src/conf/ucm/Lenovo-YOGA-C630-13Q50/Makefile \ + src/conf/ucm/PandaBoard/Makefile \ + src/conf/ucm/PandaBoardES/Makefile \ + src/conf/ucm/PAZ00/Makefile \ +diff --git a/src/conf/ucm/Lenovo-YOGA-C630-13Q50/HiFi b/src/conf/ucm/Lenovo-YOGA-C630-13Q50/HiFi +new file mode 100644 +index 00000000..b3ba8be0 +--- /dev/null ++++ b/src/conf/ucm/Lenovo-YOGA-C630-13Q50/HiFi +@@ -0,0 +1,113 @@ ++# Use case configuration for Lenovo-YOGA-C630-13Q50 board. ++# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> ++ ++SectionVerb { ++ ++ EnableSequence [ ++ cdev "hw:Lenovo-YOGA-C630-13Q50" ++ cset "name='SLIM RX6 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' AIF1_PB" ++ cset "name='RX INT7_1 MIX1 INP0' RX6" ++ cset "name='RX INT8_1 MIX1 INP0' RX7" ++ ## gain to 0dB ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:Lenovo-YOGA-C630-13Q50" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" ++ ] ++ ++ # ALSA PCM ++ Value { ++ # ALSA PCM device for HiFi ++ PlaybackPCM "hw:Lenovo-YOGA-C630-13Q50,0" ++ } ++} ++ ++SectionDevice."Speakers" { ++ Comment "Speakers playback" ++ ++ EnableSequence [ ++ cdev "hw:Lenovo-YOGA-C630-13Q50" ++ cset "name='SLIM RX6 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' AIF1_PB" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='RX INT7_1 MIX1 INP0' RX6" ++ cset "name='RX INT8_1 MIX1 INP0' RX7" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" ++ cset "name='COMP7 Switch' 1" ++ cset "name='COMP8 Switch' 1" ++ ## Speakers ++ cset "name='SpkrLeft COMP Switch' 1" ++ cset "name='SpkrLeft BOOST Switch' 1" ++ cset "name='SpkrLeft DAC Switch' 1" ++ cset "name='SpkrLeft VISENSE Switch' 0" ++ cset "name='SpkrRight COMP Switch' 1" ++ cset "name='SpkrRight BOOST Switch' 1" ++ cset "name='SpkrRight DAC Switch' 1" ++ cset "name='SpkrRight VISENSE Switch' 0" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:Lenovo-YOGA-C630-13Q50" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='COMP7 Switch' 0" ++ cset "name='COMP8 Switch' 0" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" ++ cset "name='SpkrLeft DAC Switch' 0" ++ cset "name='SpkrLeft COMP Switch' 0" ++ cset "name='SpkrLeft BOOST Switch' 0" ++ cset "name='SpkrLeft VISENSE Switch' 0" ++ cset "name='SpkrRight DAC Switch' 0" ++ cset "name='SpkrRight COMP Switch' 0" ++ cset "name='SpkrRight BOOST Switch' 0" ++ cset "name='SpkrRight VISENSE Switch' 0" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} ++ ++SectionDevice."HeadPhones" { ++ Comment "HeadPhones playback" ++ ++ EnableSequence [ ++ cdev "hw:Lenovo-YOGA-C630-13Q50" ++ cset "name='SLIM RX1 MUX' AIF1_PB" ++ cset "name='SLIM RX2 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' RX1" ++ cset "name='RX INT2_2 MUX' RX2" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" ++ cset "name='COMP1 Switch' 1" ++ cset "name='COMP2 Switch' 1" ++ cset "name='RX1 Digital Volume' 68" ++ cset "name='RX2 Digital Volume' 68" ++ cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" ++ cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" ++ ] ++ ++ DisableSequence [ ++ cdev "hw:Lenovo-YOGA-C630-13Q50" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='RX INT1_2 MUX' ZERO" ++ cset "name='RX INT2_2 MUX' ZERO" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" ++ cset "name='COMP1 Switch' 0" ++ cset "name='COMP2 Switch' 0" ++ cset "name='RX1 Digital Volume' 68" ++ cset "name='RX2 Digital Volume' 68" ++ cset "name='RX INT1 DEM MUX' ZERO" ++ cset "name='RX INT2 DEM MUX' ZERO" ++ ] ++ ++ Value { ++ PlaybackChannels "2" ++ } ++} +diff --git a/src/conf/ucm/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf b/src/conf/ucm/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf +new file mode 100644 +index 00000000..dae84a1c +--- /dev/null ++++ b/src/conf/ucm/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf +@@ -0,0 +1,13 @@ ++SectionUseCase."HiFi" { ++ File "HiFi" ++ Comment "HiFi quality Music." ++} ++ ++SectionDefaults [ ++ cdev "hw:Lenovo-YOGA-C630-13Q50" ++ cset "name='SLIM RX6 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' AIF1_PB" ++ cset "name='RX INT7_1 MIX1 INP0' RX6" ++ cset "name='RX INT8_1 MIX1 INP0' RX7" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" ++] +diff --git a/src/conf/ucm/Lenovo-YOGA-C630-13Q50/Makefile.am b/src/conf/ucm/Lenovo-YOGA-C630-13Q50/Makefile.am +new file mode 100644 +index 00000000..05397651 +--- /dev/null ++++ b/src/conf/ucm/Lenovo-YOGA-C630-13Q50/Makefile.am +@@ -0,0 +1,4 @@ ++alsaconfigdir = @ALSA_CONFIG_DIR@ ++ucmdir = $(alsaconfigdir)/ucm/Lenovo-YOGA-C630-13Q50 ++ucm_DATA = Lenovo-YOGA-C630-13Q50.conf HiFi ++EXTRA_DIST = $(ucm_DATA) +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0008-ucm-DB845c-update-volume-controls.patch b/recipes-multimedia/alsa/alsa-lib/0008-ucm-DB845c-update-volume-controls.patch new file mode 100644 index 0000000..b4448d3 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0008-ucm-DB845c-update-volume-controls.patch @@ -0,0 +1,55 @@ +From a69b39cf6a5f32b7df17c34e27c2b3875f89e9ee Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Thu, 24 Oct 2019 14:13:30 +0100 +Subject: [PATCH 8/9] ucm: DB845c: update volume controls + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + src/conf/ucm/DB845c/DB845c.conf | 6 ++++-- + src/conf/ucm/DB845c/HiFi | 6 ++++-- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/conf/ucm/DB845c/DB845c.conf b/src/conf/ucm/DB845c/DB845c.conf +index d3cf0b7d..79efd81e 100644 +--- a/src/conf/ucm/DB845c/DB845c.conf ++++ b/src/conf/ucm/DB845c/DB845c.conf +@@ -17,8 +17,10 @@ SectionDefaults [ + cset "name='RX INT7_1 MIX1 INP0' RX0" + cset "name='RX INT8_1 MIX1 INP0' RX0" + ## gain to 0dB +- cset "name='RX0 Digital Volume' 68" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" ++ cset "name='RX7 Digital Volume' 0" ++ cset "name='RX8 Digital Volume' 0" ++ cset "name='RX1 Mux Digital Volume' 0" ++ cset "name='RX2 Mux Digital Volume' 0" + cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" + cset "name='AIF1_CAP Mixer SLIM TX0' 1" + cset "name='CDC_IF TX0 MUX' DEC0" +diff --git a/src/conf/ucm/DB845c/HiFi b/src/conf/ucm/DB845c/HiFi +index 7efd93df..6f57068a 100644 +--- a/src/conf/ucm/DB845c/HiFi ++++ b/src/conf/ucm/DB845c/HiFi +@@ -39,6 +39,8 @@ SectionDevice."Speakers" { + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" + cset "name='COMP7 Switch' 1" + cset "name='COMP8 Switch' 1" ++ cset "name='RX7 Digital Volume' 70" ++ cset "name='RX8 Digital Volume' 70" + ## Speakers + cset "name='SpkrLeft COMP Switch' 1" + cset "name='SpkrLeft BOOST Switch' 1" +@@ -86,8 +88,8 @@ SectionDevice."HeadPhones" { + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" + cset "name='COMP1 Switch' 1" + cset "name='COMP2 Switch' 1" +- cset "name='RX1 Digital Volume' 68" +- cset "name='RX2 Digital Volume' 68" ++ cset "name='RX1 Mix Digital Volume' 68" ++ cset "name='RX2 Mix Digital Volume' 68" + cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" + cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" + ] +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0009-ucm-DB845c-remove-headphones-for-now.patch b/recipes-multimedia/alsa/alsa-lib/0009-ucm-DB845c-remove-headphones-for-now.patch new file mode 100644 index 0000000..09133dc --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0009-ucm-DB845c-remove-headphones-for-now.patch @@ -0,0 +1,137 @@ +From 68ac97e02d62bd2881beb1f66bddcb3937a7fc8b Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Thu, 24 Oct 2019 18:10:38 +0100 +Subject: [PATCH 9/9] ucm: DB845c: remove headphones for now + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + gitcompile | 2 +- + src/conf/ucm/DB845c/DB845c.conf | 5 ++-- + src/conf/ucm/DB845c/HiFi | 50 ++++----------------------------- + 3 files changed, 8 insertions(+), 49 deletions(-) + +diff --git a/gitcompile b/gitcompile +index 2741db4c..e6f709de 100755 +--- a/gitcompile ++++ b/gitcompile +@@ -75,7 +75,7 @@ autoheader + automake --foreign --copy --add-missing + touch depcomp # seems to be missing for old automake + autoconf +-export CFLAGS='-O2 -Wall -W -Wunused-const-variable=0 -pipe -g' ++export CFLAGS='-O2 -Wall -W -pipe -g' + echo "CFLAGS=$CFLAGS" + echo "./configure $args" + ./configure $args || exit 1 +diff --git a/src/conf/ucm/DB845c/DB845c.conf b/src/conf/ucm/DB845c/DB845c.conf +index 79efd81e..5765aacd 100644 +--- a/src/conf/ucm/DB845c/DB845c.conf ++++ b/src/conf/ucm/DB845c/DB845c.conf +@@ -13,14 +13,13 @@ SectionDefaults [ + cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" + cset "name='SLIM RX0 MUX' AIF1_PB" +- cset "name='CDC_IF RX0 MUX' SLIM RX0" + cset "name='RX INT7_1 MIX1 INP0' RX0" + cset "name='RX INT8_1 MIX1 INP0' RX0" + ## gain to 0dB + cset "name='RX7 Digital Volume' 0" + cset "name='RX8 Digital Volume' 0" +- cset "name='RX1 Mux Digital Volume' 0" +- cset "name='RX2 Mux Digital Volume' 0" ++ cset "name='RX1 Mix Digital Volume' 0" ++ cset "name='RX2 Mix Digital Volume' 0" + cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" + cset "name='AIF1_CAP Mixer SLIM TX0' 1" + cset "name='CDC_IF TX0 MUX' DEC0" +diff --git a/src/conf/ucm/DB845c/HiFi b/src/conf/ucm/DB845c/HiFi +index 6f57068a..a794523b 100644 +--- a/src/conf/ucm/DB845c/HiFi ++++ b/src/conf/ucm/DB845c/HiFi +@@ -10,18 +10,18 @@ SectionVerb { + cset "name='RX INT7_1 MIX1 INP0' RX6" + cset "name='RX INT8_1 MIX1 INP0' RX7" + ## gain to 0dB +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" + ] + + DisableSequence [ + cdev "hw:DB845c" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" + ] + + # ALSA PCM + Value { + # ALSA PCM device for HiFi +- PlaybackPCM "hw:DB845c,0" ++ PlaybackPCM "hw:DB845c,1" + } + } + +@@ -36,7 +36,7 @@ SectionDevice."Speakers" { + cset "name='SLIM RX2 MUX' ZERO" + cset "name='RX INT7_1 MIX1 INP0' RX6" + cset "name='RX INT8_1 MIX1 INP0' RX7" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" + cset "name='COMP7 Switch' 1" + cset "name='COMP8 Switch' 1" + cset "name='RX7 Digital Volume' 70" +@@ -58,7 +58,7 @@ SectionDevice."Speakers" { + cset "name='SLIM RX7 MUX' ZERO" + cset "name='COMP7 Switch' 0" + cset "name='COMP8 Switch' 0" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" ++ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0" + cset "name='SpkrLeft DAC Switch' 0" + cset "name='SpkrLeft COMP Switch' 0" + cset "name='SpkrLeft BOOST Switch' 0" +@@ -73,43 +73,3 @@ SectionDevice."Speakers" { + PlaybackChannels "2" + } + } +- +-SectionDevice."HeadPhones" { +- Comment "HeadPhones playback" +- +- EnableSequence [ +- cdev "hw:DB845c" +- cset "name='SLIM RX1 MUX' AIF1_PB" +- cset "name='SLIM RX2 MUX' AIF1_PB" +- cset "name='SLIM RX7 MUX' ZERO" +- cset "name='SLIM RX6 MUX' ZERO" +- cset "name='RX INT1_2 MUX' RX1" +- cset "name='RX INT2_2 MUX' RX2" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1" +- cset "name='COMP1 Switch' 1" +- cset "name='COMP2 Switch' 1" +- cset "name='RX1 Mix Digital Volume' 68" +- cset "name='RX2 Mix Digital Volume' 68" +- cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT" +- cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT" +- ] +- +- DisableSequence [ +- cdev "hw:DB845c" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" +- cset "name='RX INT1_2 MUX' ZERO" +- cset "name='RX INT2_2 MUX' ZERO" +- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0" +- cset "name='COMP1 Switch' 0" +- cset "name='COMP2 Switch' 0" +- cset "name='RX1 Digital Volume' 68" +- cset "name='RX2 Digital Volume' 68" +- cset "name='RX INT1 DEM MUX' ZERO" +- cset "name='RX INT2 DEM MUX' ZERO" +- ] +- +- Value { +- PlaybackChannels "2" +- } +-} +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib/0010-ucm-DB845c-adjust-default-volume-of-speakers.patch b/recipes-multimedia/alsa/alsa-lib/0010-ucm-DB845c-adjust-default-volume-of-speakers.patch new file mode 100644 index 0000000..4b5c245 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib/0010-ucm-DB845c-adjust-default-volume-of-speakers.patch @@ -0,0 +1,65 @@ +From 955175f1c93f3f2c8d51595bd5cbf479250d76f8 Mon Sep 17 00:00:00 2001 +From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +Date: Thu, 31 Oct 2019 10:10:15 +0000 +Subject: [PATCH 10/10] ucm: DB845c: adjust default volume of speakers + +Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> +--- + src/conf/ucm/DB845c/DB845c.conf | 15 ++++++++++----- + src/conf/ucm/DB845c/HiFi | 6 ++---- + 2 files changed, 12 insertions(+), 9 deletions(-) + +diff --git a/src/conf/ucm/DB845c/DB845c.conf b/src/conf/ucm/DB845c/DB845c.conf +index 5765aacd..d1bf6e3e 100644 +--- a/src/conf/ucm/DB845c/DB845c.conf ++++ b/src/conf/ucm/DB845c/DB845c.conf +@@ -12,14 +12,19 @@ SectionDefaults [ + cdev "hw:DB845c" + cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1" + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" +- cset "name='SLIM RX0 MUX' AIF1_PB" +- cset "name='RX INT7_1 MIX1 INP0' RX0" +- cset "name='RX INT8_1 MIX1 INP0' RX0" ++ cset "name='SLIM RX0 MUX' ZERO" ++ cset "name='SLIM RX1 MUX' ZERO" ++ cset "name='SLIM RX2 MUX' ZERO" ++ cset "name='SLIM RX3 MUX' ZERO" ++ cset "name='SLIM RX4 MUX' ZERO" ++ cset "name='SLIM RX5 MUX' ZERO" ++ cset "name='SLIM RX6 MUX' AIF1_PB" ++ cset "name='SLIM RX7 MUX' AIF1_PB" ++ cset "name='RX INT7_1 MIX1 INP0' RX6" ++ cset "name='RX INT8_1 MIX1 INP0' RX7" + ## gain to 0dB + cset "name='RX7 Digital Volume' 0" + cset "name='RX8 Digital Volume' 0" +- cset "name='RX1 Mix Digital Volume' 0" +- cset "name='RX2 Mix Digital Volume' 0" + cset "name='MultiMedia3 Mixer SLIMBUS_0_TX' 1" + cset "name='AIF1_CAP Mixer SLIM TX0' 1" + cset "name='CDC_IF TX0 MUX' DEC0" +diff --git a/src/conf/ucm/DB845c/HiFi b/src/conf/ucm/DB845c/HiFi +index a794523b..40f7795e 100644 +--- a/src/conf/ucm/DB845c/HiFi ++++ b/src/conf/ucm/DB845c/HiFi +@@ -32,15 +32,13 @@ SectionDevice."Speakers" { + cdev "hw:DB845c" + cset "name='SLIM RX6 MUX' AIF1_PB" + cset "name='SLIM RX7 MUX' AIF1_PB" +- cset "name='SLIM RX1 MUX' ZERO" +- cset "name='SLIM RX2 MUX' ZERO" + cset "name='RX INT7_1 MIX1 INP0' RX6" + cset "name='RX INT8_1 MIX1 INP0' RX7" + cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1" + cset "name='COMP7 Switch' 1" + cset "name='COMP8 Switch' 1" +- cset "name='RX7 Digital Volume' 70" +- cset "name='RX8 Digital Volume' 70" ++ cset "name='RX7 Digital Volume' 100" ++ cset "name='RX8 Digital Volume' 100" + ## Speakers + cset "name='SpkrLeft COMP Switch' 1" + cset "name='SpkrLeft BOOST Switch' 1" +-- +2.23.0 + diff --git a/recipes-multimedia/alsa/alsa-lib_1.1.%.bbappend b/recipes-multimedia/alsa/alsa-lib_1.1.%.bbappend new file mode 100644 index 0000000..04b4a81 --- /dev/null +++ b/recipes-multimedia/alsa/alsa-lib_1.1.%.bbappend @@ -0,0 +1,18 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI_append_apq8096 = " \ + file://0001-conf-ucm-Add-ucm-files-for-DB820c-board.patch \ +" + +SRC_URI_append_sdm845 = " \ + file://0001-conf-ucm-Add-ucm-files-for-DB820c-board.patch \ + file://0002-ucm-Add-ucm-files-for-DB845c-HDMI-audio.patch \ + file://0003-ucm-Add-ucm-files-for-DB845c-analog-audio.patch \ + file://0004-DB845c-fix-Defaults.patch \ + file://0005-WIP-make-card-name-explicit.patch \ + file://0006-DB845c-Add-headset-mixer-controls.patch \ + file://0007-Lenovo-YOGA-C630-13Q50-Add-ucm-for-Speaker-and-Heads.patch \ + file://0008-ucm-DB845c-update-volume-controls.patch \ + file://0009-ucm-DB845c-remove-headphones-for-now.patch \ + file://0010-ucm-DB845c-adjust-default-volume-of-speakers.patch \ +" diff --git a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend new file mode 100644 index 0000000..44a86ff --- /dev/null +++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend @@ -0,0 +1,3 @@ +do_install_append() { + sed -i "s|^load-module module-udev-detect|load-module module-udev-detect tsched=0|" ${D}${sysconfdir}/pulse/default.pa +} diff --git a/recipes-support/pd-mapper/pd-mapper_git.bb b/recipes-support/pd-mapper/pd-mapper_git.bb new file mode 100644 index 0000000..2d24786 --- /dev/null +++ b/recipes-support/pd-mapper/pd-mapper_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "Qualcomm pd-mapper application" +HOMEPAGE = "https://github.com/andersson/pd-mapper.git" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c5d4ab97bca4e843c5afdbf78aa5fdee" + +DEPENDS = "qrtr" + +inherit systemd + +SRCREV = "4236829a625ba5e90e689bc3d07e5ad15bca9733" +SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https" + +PV = "0.0+${SRCPV}" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "prefix=${prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} LDFLAGS='${LDFLAGS} -Wl,-lqrtr'" + +do_install () { + oe_runmake install DESTDIR=${D} prefix=${prefix} servicedir=${systemd_unitdir}/system +} + +SYSTEMD_SERVICE_${PN} = "pd-mapper.service" +RDEPENDS_${PN} += "qrtr" diff --git a/recipes-support/rmtfs/rmtfs_git.bb b/recipes-support/rmtfs/rmtfs_git.bb index a5a0f23..8655346 100644 --- a/recipes-support/rmtfs/rmtfs_git.bb +++ b/recipes-support/rmtfs/rmtfs_git.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ca25dbf5ebfc1a058bfc657c895aac2f" inherit systemd -SRCREV = "df6c19d0330d251af0a7c812bf5ddb847962ce2c" +SRCREV = "dfb8f3ed1c8fbde621cd08aaf9e7724a4c55cbd1" SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https" DEPENDS = "qmic-native qrtr udev" diff --git a/recipes-support/tqftpserv/tqftpserv_git.bb b/recipes-support/tqftpserv/tqftpserv_git.bb new file mode 100644 index 0000000..b37b5b7 --- /dev/null +++ b/recipes-support/tqftpserv/tqftpserv_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "Qualcomm tqftpserv application" +HOMEPAGE = "https://github.com/andersson/tqftpserv.git" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=424e013ed97b36284f3b9ce27bb16a56" + +DEPENDS = "qrtr" + +inherit systemd + +SRCREV = "fe53d2a810abe0e1ee7cc0bb20fd520dc6605ecb" +SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https" + +PV = "0.0+${SRCPV}" + +S = "${WORKDIR}/git" + +EXTRA_OEMAKE = "prefix=${prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} LDFLAGS='${LDFLAGS} -Wl,-lqrtr'" + +do_install () { + oe_runmake install DESTDIR=${D} prefix=${prefix} servicedir=${systemd_unitdir}/system +} + +SYSTEMD_SERVICE_${PN} = "tqftpserv.service" +RDEPENDS_${PN} += "qrtr" |