diff options
36 files changed, 1785 insertions, 188 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/dragonboard-845c.conf b/conf/machine/dragonboard-845c.conf index e849f99..9effb74 100644 --- a/conf/machine/dragonboard-845c.conf +++ b/conf/machine/dragonboard-845c.conf @@ -14,6 +14,7 @@ SERIAL_CONSOLE ?= "115200 ttyMSM0" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ firmware-qcom-dragonboard845c \ kernel-modules \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \ " diff --git a/conf/machine/include/qcom-apq8016.inc b/conf/machine/include/qcom-apq8016.inc index bd861ae..08bd660 100644 --- a/conf/machine/include/qcom-apq8016.inc +++ b/conf/machine/include/qcom-apq8016.inc @@ -23,7 +23,7 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-qcomlt" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ - qrtr-apps \ + qrtr \ rmtfs \ " @@ -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-apq8096.inc b/conf/machine/include/qcom-apq8096.inc index cda18e0..5c65f12 100644 --- a/conf/machine/include/qcom-apq8096.inc +++ b/conf/machine/include/qcom-apq8096.inc @@ -24,7 +24,7 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-qcomlt" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ - qrtr-apps \ + qrtr \ rmtfs \ " diff --git a/conf/machine/include/qcom-sdm845.inc b/conf/machine/include/qcom-sdm845.inc index 48e9fe1..7f6a1c2 100644 --- a/conf/machine/include/qcom-sdm845.inc +++ b/conf/machine/include/qcom-sdm845.inc @@ -24,7 +24,11 @@ PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg" PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-qcomlt" MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ - qrtr-apps \ + adsprpc \ + pd-mapper \ + qrtr \ + rmtfs \ + 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/dynamic-layers/openembedded-layer/recipes-navigation/gpsd/gpsd/0001-Introduce-Qualcomm-PDS-service-support.patch b/dynamic-layers/openembedded-layer/recipes-navigation/gpsd/gpsd/0001-Introduce-Qualcomm-PDS-service-support.patch index aae427e..2929b06 100644 --- a/dynamic-layers/openembedded-layer/recipes-navigation/gpsd/gpsd/0001-Introduce-Qualcomm-PDS-service-support.patch +++ b/dynamic-layers/openembedded-layer/recipes-navigation/gpsd/gpsd/0001-Introduce-Qualcomm-PDS-service-support.patch @@ -1,4 +1,4 @@ -From 4854806fdbd53b4b25d18f966f273c8f32d57c35 Mon Sep 17 00:00:00 2001 +From dda5db4a48b62a92e9d45af71e0d533566b119a4 Mon Sep 17 00:00:00 2001 From: Bjorn Andersson <bjorn.andersson@linaro.org> Date: Wed, 4 Apr 2018 04:29:09 +0000 Subject: [PATCH] Introduce Qualcomm PDS service support @@ -30,12 +30,12 @@ string "any". Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- SConstruct | 10 ++ - driver_pds.c | 361 +++++++++++++++++++++++++++++++++++++++++++++++++ + driver_pds.c | 325 +++++++++++++++++++++++++++++++++++++++++++++++++ driver_pds.h | 20 +++ drivers.c | 5 + - gpsd.h | 20 ++- - libgpsd_core.c | 15 +- - 6 files changed, 424 insertions(+), 7 deletions(-) + gpsd.h | 14 ++- + libgpsd_core.c | 15 ++- + 6 files changed, 382 insertions(+), 7 deletions(-) create mode 100644 driver_pds.c create mode 100644 driver_pds.h @@ -76,10 +76,10 @@ index d9d75653..6f53fef3 100644 "driver_sirf.c", diff --git a/driver_pds.c b/driver_pds.c new file mode 100644 -index 00000000..62464323 +index 00000000..7fe9e533 --- /dev/null +++ b/driver_pds.c -@@ -0,0 +1,361 @@ +@@ -0,0 +1,325 @@ +#include <sys/socket.h> +#include <errno.h> +#include <fcntl.h> @@ -94,43 +94,7 @@ index 00000000..62464323 +#include <linux/qrtr.h> + +#define QMI_PDS_SERVICE_ID 0x10 -+#define QMI_PDS_INSTANCE_ID 0x2 -+ -+#ifndef QRTR_PORT_CTRL -+#define QRTR_PORT_CTRL 0xfffffffeu -+ -+enum qrtr_pkt_type { -+ QRTR_TYPE_DATA = 1, -+ QRTR_TYPE_HELLO = 2, -+ QRTR_TYPE_BYE = 3, -+ QRTR_TYPE_NEW_SERVER = 4, -+ QRTR_TYPE_DEL_SERVER = 5, -+ QRTR_TYPE_DEL_CLIENT = 6, -+ QRTR_TYPE_RESUME_TX = 7, -+ QRTR_TYPE_EXIT = 8, -+ QRTR_TYPE_PING = 9, -+ QRTR_TYPE_NEW_LOOKUP = 10, -+ QRTR_TYPE_DEL_LOOKUP = 11, -+}; -+ -+struct qrtr_ctrl_pkt { -+ __le32 cmd; -+ -+ union { -+ struct { -+ __le32 service; -+ __le32 instance; -+ __le32 node; -+ __le32 port; -+ } server; -+ -+ struct { -+ __le32 node; -+ __le32 port; -+ } client; -+ }; -+} __packed; -+#endif /* of ifndef QRTR_PORT_CTRL */ ++#define QMI_PDS_VERSION 0x2 + +struct qmi_header { + uint8_t type; @@ -181,13 +145,9 @@ index 00000000..62464323 + return -1; + } + -+ session->lexer.type = QMI_PDS_PACKET; ++ /* TODO: Validate sq to be our peer */ + -+ if (sq.sq_node != session->driver.pds.node || -+ sq.sq_port != session->driver.pds.port) { -+ session->lexer.outbuflen = 0; -+ return ret; -+ } ++ session->lexer.type = QMI_PDS_PACKET; + + hdr = buf; + if (hdr->type != QMI_INDICATION || @@ -223,36 +183,31 @@ index 00000000..62464323 + +static void qmi_pds_event_hook(struct gps_device_t *session, event_t event) +{ -+ struct sockaddr_qrtr sq; + struct qmi_header *hdr; + struct qmi_tlv *tlv; + static int txn_id; + char buf[128]; ++ char *ptr; + int sock = session->gpsdata.gps_fd; + int ret; + -+ session->driver.pds.node = 0; -+ session->driver.pds.port = 14; -+ -+ sq.sq_family = AF_QIPCRTR; -+ sq.sq_node = session->driver.pds.node; -+ sq.sq_port = session->driver.pds.port; -+ + switch (event) { + case event_deactivate: -+ hdr = (struct qmi_header *)buf; ++ ptr = buf; ++ hdr = (struct qmi_header *)ptr; + hdr->type = QMI_REQUEST; + hdr->txn = txn_id++; + hdr->msg = QMI_LOC_STOP; + hdr->len = sizeof(*tlv) + sizeof(uint8_t); ++ ptr += sizeof(*hdr); + -+ tlv = (struct qmi_tlv *)(buf + sizeof(*hdr)); ++ tlv = (struct qmi_tlv *)ptr; + tlv->key = QMI_TLV_SESSION_ID; + tlv->len = sizeof(uint8_t); + *(uint8_t*)tlv->value = 1; ++ ptr += sizeof(*tlv) + sizeof(uint8_t); + -+ ret = sendto(sock, buf, sizeof(*hdr) + hdr->len, 0, -+ (struct sockaddr *)&sq, sizeof(sq)); ++ ret = send(sock, buf, ptr - buf, 0); + if (ret < 0) { + gpsd_log(&session->context->errout, LOG_ERROR, + "QRTR event_hook: failed to send STOP request.\n"); @@ -260,38 +215,42 @@ index 00000000..62464323 + } + break; + case event_reactivate: -+ hdr = (struct qmi_header *)buf; ++ ptr = buf; ++ hdr = (struct qmi_header *)ptr; + hdr->type = QMI_REQUEST; + hdr->txn = txn_id++; + hdr->msg = QMI_LOC_REG_EVENTS; + hdr->len = sizeof(*tlv) + sizeof(uint64_t); ++ ptr += sizeof(*hdr); + -+ tlv = (struct qmi_tlv *)(buf + sizeof(*hdr)); ++ tlv = (struct qmi_tlv *)ptr; + tlv->key = QMI_TLV_EVENT_MASK; + tlv->len = sizeof(uint64_t); + *(uint64_t*)tlv->value = QMI_EVENT_MASK_NMEA; ++ ptr += sizeof(*tlv) + sizeof(uint64_t); + -+ ret = sendto(sock, buf, sizeof(*hdr) + hdr->len, 0, -+ (struct sockaddr *)&sq, sizeof(sq)); ++ ret = send(sock, buf, ptr - buf, 0); + if (ret < 0) { + gpsd_log(&session->context->errout, LOG_ERROR, + "QRTR event_hook: failed to send REG_EVENTS request.\n"); + return; + } + -+ hdr = (struct qmi_header *)buf; ++ ptr = buf; ++ hdr = (struct qmi_header *)ptr; + hdr->type = QMI_REQUEST; + hdr->txn = txn_id++; + hdr->msg = QMI_LOC_START; + hdr->len = sizeof(*tlv) + sizeof(uint8_t); ++ ptr += sizeof(*hdr); + + tlv = (struct qmi_tlv *)(buf + sizeof(*hdr)); + tlv->key = QMI_TLV_SESSION_ID; + tlv->len = sizeof(uint8_t); + *(uint8_t*)tlv->value = 1; ++ ptr += sizeof(*tlv) + sizeof(uint8_t); + -+ ret = sendto(sock, buf, sizeof(*hdr) + hdr->len, 0, -+ (struct sockaddr *)&sq, sizeof(sq)); ++ ret = send(sock, buf, ptr - buf, 0); + if (ret < 0) { + gpsd_log(&session->context->errout, LOG_ERROR, + "QRTR event_hook: failed to send START request.\n"); @@ -349,7 +308,7 @@ index 00000000..62464323 + memset(&pkt, 0, sizeof(pkt)); + pkt.cmd = QRTR_TYPE_NEW_LOOKUP; + pkt.server.service = QMI_PDS_SERVICE_ID; -+ pkt.server.instance = QMI_PDS_INSTANCE_ID; ++ pkt.server.instance = QMI_PDS_VERSION; + + sq_ctrl.sq_port = QRTR_PORT_CTRL; + ret = sendto(sock, &pkt, sizeof(pkt), 0, (struct sockaddr *)&sq_ctrl, sizeof(sq_ctrl)); @@ -387,7 +346,7 @@ index 00000000..62464323 + break; + + /* Filter results based on specified node */ -+ if (hostid != -1 && hostid != pkt.server.node) ++ if (hostid != -1 && hostid != (int)pkt.server.node) + continue; + + pds_node = pkt.server.node; @@ -408,14 +367,22 @@ index 00000000..62464323 + gpsd_log(&session->context->errout, LOG_INF, + "QRTR open: Found PDS at %d %d.\n", pds_node, pds_port); + ++ sq.sq_family = AF_QIPCRTR; ++ sq.sq_node = pds_node; ++ sq.sq_port = pds_port; ++ ret = connect(sock, (struct sockaddr *)&sq, sizeof(sq)); ++ if (ret < 0) { ++ gpsd_log(&session->context->errout, LOG_ERROR, ++ "QRTR open: Failed to connect socket.\n"); ++ close(sock); ++ return -1; ++ } ++ + gpsd_switch_driver(session, "Qualcomm PDS"); + session->gpsdata.gps_fd = sock; + session->sourcetype = source_qrtr; + session->servicetype = service_sensor; + -+ session->driver.pds.node = pds_node; -+ session->driver.pds.port = pds_port; -+ + return session->gpsdata.gps_fd; +} + @@ -425,9 +392,6 @@ index 00000000..62464323 + close(session->gpsdata.gps_fd); + INVALIDATE_SOCKET(session->gpsdata.gps_fd); + } -+ -+ session->driver.pds.node = 0; -+ session->driver.pds.port = 0; +} + +const struct gps_type_t driver_pds = { @@ -491,7 +455,7 @@ index eda1fd61..92d7eba8 100644 &driver_rtcm104v2, #endif /* RTCM104V2_ENABLE */ diff --git a/gpsd.h b/gpsd.h -index 2bd5f4c0..b24c6e65 100644 +index 2bd5f4c0..8e22e509 100644 --- a/gpsd.h +++ b/gpsd.h @@ -163,12 +163,13 @@ struct gps_lexer_t { @@ -522,19 +486,6 @@ index 2bd5f4c0..b24c6e65 100644 source_pty, /* PTY: we don't require exclusive access */ source_tcp, /* TCP/IP stream: case detected but not used */ source_udp, /* UDP stream: case detected but not used */ -@@ -699,6 +701,12 @@ struct gps_device_t { - unsigned char sid[8]; - } nmea2000; - #endif /* NMEA2000_ENABLE */ -+#ifdef PDS_ENABLE -+ struct { -+ unsigned int node; -+ unsigned int port; -+ } pds; -+#endif /* PDS_ENABLE */ - /* - * This is not conditionalized on RTCM104_ENABLE because we need to - * be able to build gpsdecode even when RTCM support is not diff --git a/libgpsd_core.c b/libgpsd_core.c index 85b8d86a..4f6a11ed 100644 --- a/libgpsd_core.c @@ -583,5 +534,5 @@ index 85b8d86a..4f6a11ed 100644 for (dp = gpsd_drivers; *dp; dp++) { -- -2.17.0 +2.23.0 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/firmware/firmware-qcom-dragonboard845c_20190529180356-v2.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb index 4857794..c27bbbc 100644 --- a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v2.bb +++ b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb @@ -4,13 +4,13 @@ LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://LICENSE.qcom.txt;md5=cbbe399f2c983ad51768f4561587f000" SRC_URI = "https://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_${PV}.zip" -SRC_URI[md5sum] = "8e9489a4bdfd3738ce4683a970b49f42" -SRC_URI[sha256sum] = "d88ad0873792687b2906107b3244da874264c19384e49f2c4aec6768081cd29a" +SRC_URI[md5sum] = "ad69855a1275547b16d94a1b5405ac62" +SRC_URI[sha256sum] = "4289d2f2a7124b104d0274879e702aae9b1e50c42eec3747f8584c6744ef65e3" COMPATIBLE_MACHINE = "(dragonboard-845c)" PACKAGE_ARCH = "${MACHINE_ARCH}" -S = "${WORKDIR}/RB3_firmware_${PV}" +S = "${WORKDIR}" do_compile() { : @@ -19,11 +19,12 @@ do_compile() { do_install() { install -d ${D}${nonarch_base_libdir}/firmware/ install -d ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.2/ + install -d ${D}${nonarch_base_libdir}/firmware/qcom/sdm845 install -m 0444 ./17-USB3-201-202-FW/K2026090.mem ${D}${nonarch_base_libdir}/firmware/ install -m 0444 ./18-adreno-fw/a630*.* ${D}${nonarch_base_libdir}/firmware/ - install -m 0444 ./20-adsp_split/firmware/adsp*.* ${D}${nonarch_base_libdir}/firmware/ - install -m 0444 ./21-cdsp_split/firmware/cdsp*.* ${D}${nonarch_base_libdir}/firmware/ + install -m 0444 ./20-adsp_split/firmware/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845 + install -m 0444 ./21-cdsp_split/firmware/cdsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845 install -m 0444 ./33-venus_split/venus.* ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.2/ install -m 0444 ./37-wlan_FW/wlanmdsp.mbn ${D}${nonarch_base_libdir}/firmware/ install -m 0444 ./38-bdwlan_split/bdwlan*.* ${D}${nonarch_base_libdir}/firmware/ 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-devtools/qdl/files/0001-Makefile-Use-pkg-config-for-libxml2-detection.patch b/recipes-devtools/qdl/files/0001-Makefile-Use-pkg-config-for-libxml2-detection.patch new file mode 100644 index 0000000..2aca181 --- /dev/null +++ b/recipes-devtools/qdl/files/0001-Makefile-Use-pkg-config-for-libxml2-detection.patch @@ -0,0 +1,35 @@ +From d0ecd95e8935a9fe3e94921d10bfb153f5e0ce52 Mon Sep 17 00:00:00 2001 +From: Nicolas Dechesne <nicolas.dechesne@linaro.org> +Date: Wed, 28 Aug 2019 17:54:50 +0200 +Subject: [PATCH] Makefile: Use pkg-config for libxml2 detection. + +xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Makefile ++++ b/Makefile +@@ -1,14 +1,14 @@ + OUT := qdl + +-CFLAGS := -O2 -Wall -g `xml2-config --cflags` +-LDFLAGS := `xml2-config --libs` -ludev +-prefix := /usr/local ++CFLAGS += -O2 -Wall -g `pkg-config --cflags libxml-2.0` ++LDFLAGS += `pkg-config --libs libxml-2.0` -ludev ++prefix ?= /usr/local + + SRCS := firehose.c qdl.c sahara.c util.c patch.c program.c ufs.c + OBJS := $(SRCS:.c=.o) + + $(OUT): $(OBJS) +- $(CC) -o $@ $^ $(LDFLAGS) ++ $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) + + clean: + rm -f $(OUT) $(OBJS) diff --git a/recipes-devtools/qdl/qdl_git.bb b/recipes-devtools/qdl/qdl_git.bb new file mode 100644 index 0000000..aba3cec --- /dev/null +++ b/recipes-devtools/qdl/qdl_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "QDL flasing tool" +HOMEPAGE = "https://github.com/andersson/qdl.git" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://qdl.c;beginline=1;endline=31;md5=1c7d712d897368d3d3c161e5493efc6a" + +DEPENDS = "libxml2" +DEPENDS_append_class-target = " udev " + +inherit pkgconfig + +SRCREV = "760b3dffb03d2b7dfb82c6eac652a092f51c572d" +SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https \ + file://0001-Makefile-Use-pkg-config-for-libxml2-detection.patch" + +PV = "0.0+${SRCPV}" + +S = "${WORKDIR}/git" + +do_install () { + oe_runmake install DESTDIR=${D} prefix=${prefix} +} + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.2.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.2.bb index 86d5ee6..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 ?= "a5ea95c538e3d86feb21e048d44b68fd048a27b2" +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/adsprpc/adsprpc_git.bb b/recipes-support/adsprpc/adsprpc_git.bb new file mode 100644 index 0000000..430c1ee --- /dev/null +++ b/recipes-support/adsprpc/adsprpc_git.bb @@ -0,0 +1,14 @@ +HOMEPAGE = "https://git.linaro.org/landing-teams/working/qualcomm/libadsprpc.git" +SECTION = "devel" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e868d7526728e9b1c0c4f34730d27754" + +SRCREV = "741c1415df731503b3aea8b754223a871081d2f3" +SRC_URI = "git://git.linaro.org/landing-teams/working/qualcomm/libadsprpc.git;branch=master;protocol=https" + +PV = "0.0+${SRCPV}" + +S = "${WORKDIR}/git" + +inherit autotools 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/qrtr/files/qrtr.service b/recipes-support/qrtr/files/qrtr.service deleted file mode 100644 index e2f1952..0000000 --- a/recipes-support/qrtr/files/qrtr.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=QRTR service -After=systemd-remount-fs.service - -[Service] -ExecStartPre=/usr/bin/qrtr-cfg 1 -ExecStart=/usr/bin/qrtr-ns -RemainAfterExit=yes - -[Install] -WantedBy=multi-user.target diff --git a/recipes-support/qrtr/qrtr_git.bb b/recipes-support/qrtr/qrtr_git.bb index e5e7463..03566db 100644 --- a/recipes-support/qrtr/qrtr_git.bb +++ b/recipes-support/qrtr/qrtr_git.bb @@ -7,9 +7,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=15329706fbfcb5fc5edcc1bc7c139da5" inherit systemd -SRCREV = "a1694a1c938fdcd047553841370ebe2cd7384299" +SRCREV = "cd6bedd5d00f211e6c1e3803ff2f9f53c246435e" SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https" -SRC_URI += "file://qrtr.service" PV = "0.0+${SRCPV}" @@ -18,14 +17,7 @@ S = "${WORKDIR}/git" EXTRA_OEMAKE = "prefix=${prefix} bindir=${bindir} libdir=${libdir} includedir=${includedir} LDFLAGS='${LDFLAGS}'" do_install () { - oe_runmake install DESTDIR=${D} - - sed -i -e s:/usr/bin:${bindir}:g ${WORKDIR}/qrtr.service - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/qrtr.service ${D}${systemd_unitdir}/system + oe_runmake install DESTDIR=${D} prefix=${prefix} servicedir=${systemd_unitdir}/system } -SYSTEMD_SERVICE_${PN} = "qrtr.service" - -PACKAGES =+ "qrtr-apps" -FILES_qrtr-apps = "${bindir}/*" +SYSTEMD_SERVICE_${PN} = "qrtr-ns.service" diff --git a/recipes-support/rmtfs/files/rmtfs.service b/recipes-support/rmtfs/files/rmtfs.service deleted file mode 100644 index 2002fd6..0000000 --- a/recipes-support/rmtfs/files/rmtfs.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=RMTFS setup -After=systemd-remount-fs.service qrtr.service -Requires=qrtr.service - -[Service] -ExecStartPre=/bin/sh -c "[ ! -f /boot/modem_fs1 ] && dd if=/dev/zero of=/boot/modem_fs1 bs=1M count=2 || :" -ExecStartPre=/bin/sh -c "[ ! -f /boot/modem_fs2 ] && dd if=/dev/zero of=/boot/modem_fs2 bs=1M count=2 || :" -ExecStartPre=/bin/sh -c "[ ! -f /boot/modem_fsc ] && dd if=/dev/zero of=/boot/modem_fsc bs=1M count=2 || :" -ExecStartPre=/bin/sh -c "[ ! -f /boot/modem_fsg ] && dd if=/dev/zero of=/boot/modem_fsg bs=1M count=2 || :" -ExecStart=/usr/bin/rmtfs -v -ExecStartPost=/bin/sh -c "[ -d /sys/bus/platform/devices/*.hexagon ] && modprobe qcom_q6v5_pil" - -[Install] -WantedBy=multi-user.target diff --git a/recipes-support/rmtfs/rmtfs_git.bb b/recipes-support/rmtfs/rmtfs_git.bb index 2e79bc0..8655346 100644 --- a/recipes-support/rmtfs/rmtfs_git.bb +++ b/recipes-support/rmtfs/rmtfs_git.bb @@ -7,23 +7,18 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ca25dbf5ebfc1a058bfc657c895aac2f" inherit systemd -SRCREV = "0d3c49ec5aa27517afec9f18a3afc4b0800e6cbb" +SRCREV = "dfb8f3ed1c8fbde621cd08aaf9e7724a4c55cbd1" SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https" -SRC_URI += "file://rmtfs.service" DEPENDS = "qmic-native qrtr udev" PV = "0.0+${SRCPV}" S = "${WORKDIR}/git" -EXTRA_OEMAKE = "'LDFLAGS=${TARGET_LDFLAGS} -L${STAGING_LIBDIR} -lqrtr -ludev'" +EXTRA_OEMAKE = "'LDFLAGS=${TARGET_LDFLAGS} -L${STAGING_LIBDIR} -lqrtr -ludev -lpthread'" do_install () { - oe_runmake install DESTDIR=${D} prefix=${prefix} - - sed -i -e s:/usr/bin:${bindir}:g ${WORKDIR}/rmtfs.service - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/rmtfs.service ${D}${systemd_unitdir}/system + oe_runmake install DESTDIR=${D} prefix=${prefix} servicedir=${systemd_unitdir}/system } SYSTEMD_SERVICE_${PN} = "rmtfs.service" 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" diff --git a/recipes-test/images/initramfs-test-image.bb b/recipes-test/images/initramfs-test-image.bb index 83ef315..3fe75f9 100644 --- a/recipes-test/images/initramfs-test-image.bb +++ b/recipes-test/images/initramfs-test-image.bb @@ -12,7 +12,7 @@ PACKAGE_INSTALL = " \ iperf3 \ lava-test-shell \ packagegroup-core-boot \ - qrtr-apps \ + qrtr \ rmtfs \ tcpdump \ udev \ |