aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/machine/include/qcom-sm8250.inc41
-rw-r--r--conf/machine/qrb5165-rb5.conf25
-rw-r--r--conf/machine/sm8250-mtp.conf25
-rw-r--r--recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch27
-rw-r--r--recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch43
-rw-r--r--recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch46
-rw-r--r--recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch46
-rw-r--r--recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch147
-rw-r--r--recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch51
-rw-r--r--recipes-graphics/mesa/files/fix-meson-config-compat.patch31
-rw-r--r--recipes-graphics/mesa/mesa-git.inc18
-rw-r--r--recipes-graphics/mesa/mesa/0001-freedreno-clear-last_fence-after-resource-tracking.patch94
-rw-r--r--recipes-graphics/mesa/mesa_%.bbappend31
-rw-r--r--recipes-graphics/mesa/mesa_git.bb8
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware_%.bbappend7
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-USB-and-PHY-device-nodes.patch207
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-support-for-SDC2.patch45
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Rename-UART2-node-to-UART12.patch74
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-add-I2C-and-SPI-nodes.patch1202
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-change-spmi-node-label.patch29
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5-enable.patch9
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5.dts760
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-dev.bb24
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb14
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-wcd934x-Add-Codec-sequences.patch123
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-codecs-wsa881x-add-codec-sequences.patch64
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm2-DB845c-Add-ucm-for-DB845c-board.patch129
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0004-ucm2-Add-ucm-for-Lenovo-YOGA-C630-13Q50-laptop.patch135
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0005-ucm2-Lenovo-YOGA-C630-remove-cdev-which-is-already-p.patch61
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0006-ucm2-DB845c-remove-cdev-which-is-already-present-in-.patch66
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-DB845c-HDMI-update-cdev-to-correct-value.patch33
-rw-r--r--recipes-multimedia/alsa/alsa-ucm-conf_1.2.%.bbappend11
32 files changed, 2884 insertions, 742 deletions
diff --git a/conf/machine/include/qcom-sm8250.inc b/conf/machine/include/qcom-sm8250.inc
new file mode 100644
index 0000000..5039ba0
--- /dev/null
+++ b/conf/machine/include/qcom-sm8250.inc
@@ -0,0 +1,41 @@
+SOC_FAMILY = "sm8250"
+require conf/machine/include/soc-family.inc
+require conf/machine/include/arm/arch-armv8a.inc
+
+XSERVER_OPENGL ?= " \
+ xf86-video-modesetting \
+ xserver-xorg-extension-glx \
+"
+
+XSERVER ?= " \
+ xserver-xorg \
+ xserver-xorg-module-libint10 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${XSERVER_OPENGL}', 'xf86-video-fbdev', d)} \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-input-keyboard \
+"
+
+PREFERRED_PROVIDER_virtual/egl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-qcomlt"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ pd-mapper \
+ qrtr \
+ rmtfs \
+ tqftpserv \
+"
+
+MACHINE_EXTRA_RRECOMMENDS += " \
+ fastrpc \
+"
+
+IMAGE_FSTYPES ?= "ext4.gz"
+IMAGE_ROOTFS_ALIGNMENT = "4096"
+
+QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000"
+QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
diff --git a/conf/machine/qrb5165-rb5.conf b/conf/machine/qrb5165-rb5.conf
new file mode 100644
index 0000000..447c889
--- /dev/null
+++ b/conf/machine/qrb5165-rb5.conf
@@ -0,0 +1,25 @@
+#@TYPE: Machine
+#@NAME: RB5 Robotics platform
+#@DESCRIPTION: Machine configuration for the RB5 development board, with Qualcomm Snapdragon 865 QRB5165.
+
+require conf/machine/include/qcom-sm8250.inc
+
+MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
+
+KERNEL_IMAGETYPE ?= "Image.gz"
+KERNEL_DEVICETREE ?= "qcom/qrb5165-rb5.dtb"
+
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ kernel-modules \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+"
+# linux-firmware-qcom-adreno-a650
+
+# /dev/sda15 is 'userdata' partition, so wipe it and use for our build
+QCOM_BOOTIMG_ROOTFS ?= "sda15"
+
+# UFS partitions setup with 4096 logical sector size
+EXTRA_IMAGECMD_ext4 += " -b 4096 "
diff --git a/conf/machine/sm8250-mtp.conf b/conf/machine/sm8250-mtp.conf
new file mode 100644
index 0000000..d5f7eee
--- /dev/null
+++ b/conf/machine/sm8250-mtp.conf
@@ -0,0 +1,25 @@
+#@TYPE: Machine
+#@NAME: SM8250-MTP
+#@DESCRIPTION: Machine configuration for the SM8250-MTP development board, with Qualcomm Snapdragon 865 SM8250.
+
+require conf/machine/include/qcom-sm8250.inc
+
+MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
+
+KERNEL_IMAGETYPE ?= "Image.gz"
+KERNEL_DEVICETREE ?= "qcom/sm8250-mtp.dtb"
+
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ kernel-modules \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+"
+# linux-firmware-qcom-adreno-a650
+
+# /dev/sda15 is 'userdata' partition, so wipe it and use for our build
+QCOM_BOOTIMG_ROOTFS ?= "sda15"
+
+# UFS partitions setup with 4096 logical sector size
+EXTRA_IMAGECMD_ext4 += " -b 4096 "
diff --git a/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch b/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
new file mode 100644
index 0000000..15485fe
--- /dev/null
+++ b/recipes-graphics/mesa/files/0001-meson-misdetects-64bit-atomics-on-mips-clang.patch
@@ -0,0 +1,27 @@
+From bb2f0bea553d51d659a9bc46f7ae186885405151 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 13 Jan 2020 15:23:47 -0800
+Subject: [PATCH] meson misdetects 64bit atomics on mips/clang
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/util/u_atomic.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/util/u_atomic.c b/src/util/u_atomic.c
+index e4bffa8..58e1ddd 100644
+--- a/src/util/u_atomic.c
++++ b/src/util/u_atomic.c
+@@ -21,7 +21,7 @@
+ * IN THE SOFTWARE.
+ */
+
+-#if defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
++#if !defined(__clang__) && defined(MISSING_64BIT_ATOMICS) && defined(HAVE_PTHREAD)
+
+ #include <stdint.h>
+ #include <pthread.h>
+--
+2.24.1
+
diff --git a/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
new file mode 100644
index 0000000..0852543
--- /dev/null
+++ b/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch
@@ -0,0 +1,43 @@
+From 0d9ed002eff176b902da266d89829a9b0cb10946 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair@alistair23.me>
+Date: Thu, 14 Nov 2019 13:04:49 -0800
+Subject: [PATCH] meson.build: check for all linux host_os combinations
+
+Make sure that we are also looking for our host_os combinations like
+linux-musl etc. when assuming support for DRM/KMS.
+
+Also delete a duplicate line.
+
+Upstream-Status: Pending
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+Signed-off-by: Alistair Francis <alistair@alistair23.me>
+
+---
+ meson.build | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 898d025..09e3759 100644
+--- a/meson.build
++++ b/meson.build
+@@ -124,7 +124,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
+ # Only build shared_glapi if at least one OpenGL API is enabled
+ with_shared_glapi = with_shared_glapi and with_any_opengl
+
+-system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos'].contains(host_machine.system())
++system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly'].contains(host_machine.system()) or host_machine.system().startswith('linux')
+
+ dri_drivers = get_option('dri-drivers')
+ if dri_drivers.contains('auto')
+@@ -884,7 +884,7 @@ if cc.compiles('__uint128_t foo(void) { return 0; }',
+ endif
+
+ # TODO: this is very incomplete
+-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd'].contains(host_machine.system())
++if ['cygwin', 'gnu', 'gnu/kfreebsd'].contains(host_machine.system()) or host_machine.system().startswith('linux')
+ pre_args += '-D_GNU_SOURCE'
+ elif host_machine.system() == 'sunos'
+ pre_args += '-D__EXTENSIONS__'
diff --git a/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch b/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
new file mode 100644
index 0000000..3dd4124
--- /dev/null
+++ b/recipes-graphics/mesa/files/0002-meson.build-make-TLS-ELF-optional.patch
@@ -0,0 +1,46 @@
+From dd1d15c75f6ff8ee96cf1e7b74e582bff3183ef6 Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair@alistair23.me>
+Date: Thu, 14 Nov 2019 13:08:31 -0800
+Subject: [PATCH] meson.build: make TLS ELF optional
+
+USE_ELF_TLS has replaced GLX_USE_TLS so this patch is the original "make
+TLS GLX optional again" patch updated to the latest mesa.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Alistair Francis <alistair@alistair23.me>
+
+---
+ meson.build | 2 +-
+ meson_options.txt | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 261b588..311436e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -392,7 +392,7 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless or with_plat
+ endif
+
+ # Android uses emutls for versions <= P/28. For USE_ELF_TLS we need ELF TLS.
+-if not ['windows', 'freebsd'].contains(host_machine.system()) and (not with_platform_android or get_option('platform-sdk-version') >= 29)
++if (not with_platform_android or get_option('platform-sdk-version') >= 29) and get_option('elf-tls')
+ pre_args += '-DUSE_ELF_TLS'
+ endif
+
+diff --git a/meson_options.txt b/meson_options.txt
+index ab43150..d7b1555 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -355,6 +355,12 @@ option(
+ value : true,
+ description : 'Enable direct rendering in GLX and EGL for DRI',
+ )
++option(
++ 'elf-tls',
++ type : 'boolean',
++ value : true,
++ description : 'Enable TLS support in ELF',
++)
+ option(
+ 'prefer-iris',
+ type : 'boolean',
diff --git a/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch b/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
new file mode 100644
index 0000000..727227a
--- /dev/null
+++ b/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch
@@ -0,0 +1,46 @@
+From 7eaa21a79ce6d6e92f6bf98c28b68e3fcb4d7874 Mon Sep 17 00:00:00 2001
+From: Fabio Berton <fabio.berton@ossystems.com.br>
+Date: Wed, 12 Jun 2019 14:18:31 -0300
+Subject: [PATCH] Allow enable DRI without DRI drivers
+
+Upstream-Status: Pending
+
+Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
+Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+
+---
+ meson.build | 2 +-
+ meson_options.txt | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index a954118..62864c6 100644
+--- a/meson.build
++++ b/meson.build
+@@ -154,7 +154,7 @@ with_dri_r200 = dri_drivers.contains('r200')
+ with_dri_nouveau = dri_drivers.contains('nouveau')
+ with_dri_swrast = dri_drivers.contains('swrast')
+
+-with_dri = dri_drivers.length() != 0
++with_dri = get_option('dri') or (dri_drivers.length() != 0 and dri_drivers != [''])
+
+ gallium_drivers = get_option('gallium-drivers')
+ if gallium_drivers.contains('auto')
+diff --git a/meson_options.txt b/meson_options.txt
+index 637ff14..700c34c 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -35,6 +35,12 @@ option(
+ choices : ['auto', 'true', 'false', 'disabled', 'enabled'],
+ description : 'enable support for dri3'
+ )
++option(
++ 'dri',
++ type : 'boolean',
++ value : false,
++ description : 'enable support for dri'
++)
+ option(
+ 'dri-drivers',
+ type : 'array',
diff --git a/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch b/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
new file mode 100644
index 0000000..6bdbd4e
--- /dev/null
+++ b/recipes-graphics/mesa/files/0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch
@@ -0,0 +1,147 @@
+From 41cd8836d785c79381764e7de59319f87959a5cf Mon Sep 17 00:00:00 2001
+From: Alistair Francis <alistair@alistair23.me>
+Date: Thu, 14 Nov 2019 09:06:02 -0800
+Subject: [PATCH] Revert "mesa: Enable asm unconditionally, now that
+ gen_matypes is gone."
+
+This reverts commit 20294dceebc23236e33b22578245f7e6f41b6997.
+
+Upstream-Status: Inappropriate [configuration]
+Signed-off-by: Alistair Francis <alistair@alistair23.me>
+
+---
+ meson.build | 94 ++++++++++++++++++++++++++++++-----------------
+ meson_options.txt | 6 +++
+ 2 files changed, 67 insertions(+), 33 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 62864c6..b53be8d 100644
+--- a/meson.build
++++ b/meson.build
+@@ -49,6 +49,7 @@ with_vulkan_icd_dir = get_option('vulkan-icd-dir')
+
+ with_vulkan_icd_dir = get_option('vulkan-icd-dir')
+ with_tests = get_option('build-tests')
++with_asm = get_option('asm')
+ with_glx_read_only_text = get_option('glx-read-only-text')
+ with_glx_direct = get_option('glx-direct')
+ with_osmesa = get_option('osmesa')
+@@ -1093,41 +1094,68 @@ dep_ws2_32 = cc.find_library('ws2_32', required : with_platform_windows)
+
+ # TODO: shared/static? Is this even worth doing?
+
++# When cross compiling we generally need to turn off the use of assembly,
++# because mesa's assembly relies on building an executable for the host system,
++# and running it to get information about struct sizes. There is at least one
++# case of cross compiling where we can use asm, and that's x86_64 -> x86 when
++# host OS == build OS, since in that case the build machine can run the host's
++# binaries.
++if with_asm and meson.is_cross_build()
++ if build_machine.system() != host_machine.system()
++ # TODO: It may be possible to do this with an exe_wrapper (like wine).
++ message('Cross compiling from one OS to another, disabling assembly.')
++ with_asm = false
++ elif not (build_machine.cpu_family().startswith('x86') and host_machine.cpu_family() == 'x86')
++ # FIXME: Gentoo always sets -m32 for x86_64 -> x86 builds, resulting in an
++ # x86 -> x86 cross compile. We use startswith rather than == to handle this
++ # case.
++ # TODO: There may be other cases where the 64 bit version of the
++ # architecture can run 32 bit binaries (aarch64 and armv7 for example)
++ message('''
++ Cross compiling to different architectures, and the host cannot run
++ the build machine's binaries. Disabling assembly.
++ ''')
++ with_asm = false
++ endif
++endif
++
+ with_asm_arch = ''
+-if host_machine.cpu_family() == 'x86'
+- if system_has_kms_drm or host_machine.system() == 'gnu'
+- with_asm_arch = 'x86'
+- pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM',
+- '-DUSE_SSE_ASM']
+-
+- if with_glx_read_only_text
+- pre_args += ['-DGLX_X86_READONLY_TEXT']
++if with_asm
++ if host_machine.cpu_family() == 'x86'
++ if system_has_kms_drm or host_machine.system() == 'gnu'
++ with_asm_arch = 'x86'
++ pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM',
++ '-DUSE_SSE_ASM']
++
++ if with_glx_read_only_text
++ pre_args += ['-DGLX_X86_READONLY_TEXT']
++ endif
++ endif
++ elif host_machine.cpu_family() == 'x86_64'
++ if system_has_kms_drm
++ with_asm_arch = 'x86_64'
++ pre_args += ['-DUSE_X86_64_ASM']
++ endif
++ elif host_machine.cpu_family() == 'arm'
++ if system_has_kms_drm
++ with_asm_arch = 'arm'
++ pre_args += ['-DUSE_ARM_ASM']
++ endif
++ elif host_machine.cpu_family() == 'aarch64'
++ if system_has_kms_drm
++ with_asm_arch = 'aarch64'
++ pre_args += ['-DUSE_AARCH64_ASM']
++ endif
++ elif host_machine.cpu_family() == 'sparc64'
++ if system_has_kms_drm
++ with_asm_arch = 'sparc'
++ pre_args += ['-DUSE_SPARC_ASM']
++ endif
++ elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() == 'little'
++ if system_has_kms_drm
++ with_asm_arch = 'ppc64le'
++ pre_args += ['-DUSE_PPC64LE_ASM']
+ endif
+- endif
+-elif host_machine.cpu_family() == 'x86_64'
+- if system_has_kms_drm
+- with_asm_arch = 'x86_64'
+- pre_args += ['-DUSE_X86_64_ASM']
+- endif
+-elif host_machine.cpu_family() == 'arm'
+- if system_has_kms_drm
+- with_asm_arch = 'arm'
+- pre_args += ['-DUSE_ARM_ASM']
+- endif
+-elif host_machine.cpu_family() == 'aarch64'
+- if system_has_kms_drm
+- with_asm_arch = 'aarch64'
+- pre_args += ['-DUSE_AARCH64_ASM']
+- endif
+-elif host_machine.cpu_family() == 'sparc64'
+- if system_has_kms_drm
+- with_asm_arch = 'sparc'
+- pre_args += ['-DUSE_SPARC_ASM']
+- endif
+-elif host_machine.cpu_family().startswith('ppc64') and host_machine.endian() == 'little'
+- if system_has_kms_drm
+- with_asm_arch = 'ppc64le'
+- pre_args += ['-DUSE_PPC64LE_ASM']
+ endif
+ endif
+
+diff --git a/meson_options.txt b/meson_options.txt
+index 700c34c..62e8472 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -241,6 +241,12 @@ option(
+ value : false,
+ description : 'Enable GLVND support.'
+ )
++option(
++ 'asm',
++ type : 'boolean',
++ value : true,
++ description : 'Build assembly code if possible'
++)
+ option(
+ 'glx-read-only-text',
+ type : 'boolean',
diff --git a/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch b/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch
new file mode 100644
index 0000000..dacb1ea
--- /dev/null
+++ b/recipes-graphics/mesa/files/0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch
@@ -0,0 +1,51 @@
+From 281a636353666bfdd373c62591e744087e750e89 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 4 Dec 2019 14:15:28 -0800
+Subject: [PATCH] vc4: use intmax_t for formatted output of timespec members
+
+32bit architectures which have 64bit time_t does not fit the assumption
+of time_t being same as system long int
+
+Fixes
+error: format specifies type 'long' but the argument has type 'time_t' (aka 'long long') [-Werror,-Wformat]
+ time.tv_sec);
+ ^~~~~~~~~~~
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2966]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+---
+ src/gallium/drivers/v3d/v3d_bufmgr.c | 4 ++--
+ src/gallium/drivers/vc4/vc4_bufmgr.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/gallium/drivers/v3d/v3d_bufmgr.c b/src/gallium/drivers/v3d/v3d_bufmgr.c
+index 31a0803..cc2e2af 100644
+--- a/src/gallium/drivers/v3d/v3d_bufmgr.c
++++ b/src/gallium/drivers/v3d/v3d_bufmgr.c
+@@ -80,8 +80,8 @@ v3d_bo_dump_stats(struct v3d_screen *screen)
+
+ struct timespec time;
+ clock_gettime(CLOCK_MONOTONIC, &time);
+- fprintf(stderr, " now: %ld\n",
+- (long)time.tv_sec);
++ fprintf(stderr, " now: %jd\n",
++ (intmax_t)time.tv_sec);
+ }
+ }
+
+diff --git a/src/gallium/drivers/vc4/vc4_bufmgr.c b/src/gallium/drivers/vc4/vc4_bufmgr.c
+index a786e8e..975d49e 100644
+--- a/src/gallium/drivers/vc4/vc4_bufmgr.c
++++ b/src/gallium/drivers/vc4/vc4_bufmgr.c
+@@ -99,8 +99,8 @@ vc4_bo_dump_stats(struct vc4_screen *screen)
+
+ struct timespec time;
+ clock_gettime(CLOCK_MONOTONIC, &time);
+- fprintf(stderr, " now: %ld\n",
+- (long)time.tv_sec);
++ fprintf(stderr, " now: %jd\n",
++ (intmax_t)time.tv_sec);
+ }
+ }
+
diff --git a/recipes-graphics/mesa/files/fix-meson-config-compat.patch b/recipes-graphics/mesa/files/fix-meson-config-compat.patch
new file mode 100644
index 0000000..3eedbec
--- /dev/null
+++ b/recipes-graphics/mesa/files/fix-meson-config-compat.patch
@@ -0,0 +1,31 @@
+Index: git/meson_options.txt
+===================================================================
+--- git.orig/meson_options.txt
++++ git/meson_options.txt
+@@ -45,7 +45,7 @@ option(
+ 'dri-drivers',
+ type : 'array',
+ value : ['auto'],
+- choices : ['auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'],
++ choices : ['', 'auto', 'i915', 'i965', 'r100', 'r200', 'nouveau', 'swrast'],
+ description : 'List of dri drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
+ )
+ option(
+@@ -65,7 +65,7 @@ option(
+ type : 'array',
+ value : ['auto'],
+ choices : [
+- 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
++ '', 'auto', 'kmsro', 'radeonsi', 'r300', 'r600', 'nouveau', 'freedreno',
+ 'swrast', 'v3d', 'vc4', 'etnaviv', 'tegra', 'i915', 'svga', 'virgl',
+ 'swr', 'panfrost', 'iris', 'lima', 'zink'
+ ],
+@@ -165,7 +165,7 @@ option(
+ 'vulkan-drivers',
+ type : 'array',
+ value : ['auto'],
+- choices : ['auto', 'amd', 'freedreno', 'intel'],
++ choices : ['', 'auto', 'amd', 'freedreno', 'intel'],
+ description : 'List of vulkan drivers to build. If this is set to auto all drivers applicable to the target OS/architecture will be built'
+ )
+ option(
diff --git a/recipes-graphics/mesa/mesa-git.inc b/recipes-graphics/mesa/mesa-git.inc
new file mode 100644
index 0000000..bc41a3d
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-git.inc
@@ -0,0 +1,18 @@
+SRC_URI = "git://gitlab.freedesktop.org/mesa/mesa.git;protocol=https \
+ file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
+ file://0002-meson.build-make-TLS-ELF-optional.patch \
+ file://0003-Allow-enable-DRI-without-DRI-drivers.patch \
+ file://0004-Revert-mesa-Enable-asm-unconditionally-now-that-gen_.patch \
+ file://0005-vc4-use-intmax_t-for-formatted-output-of-timespec-me.patch \
+ file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
+ file://fix-meson-config-compat.patch \
+ "
+
+S = "${WORKDIR}/git"
+
+LIC_FILES_CHKSUM = "file://docs/license.rst;md5=9aa1bc48c9826ad9fdb16661f6930496"
+
+PV = "20.2-pre+git${SRCPV}"
+
+# Do not select this version by default
+DEFAULT_PREFERENCE = "-1"
diff --git a/recipes-graphics/mesa/mesa/0001-freedreno-clear-last_fence-after-resource-tracking.patch b/recipes-graphics/mesa/mesa/0001-freedreno-clear-last_fence-after-resource-tracking.patch
deleted file mode 100644
index 2d4aa00..0000000
--- a/recipes-graphics/mesa/mesa/0001-freedreno-clear-last_fence-after-resource-tracking.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 3c4e3006ef3318c1afe65341a1f92cf332ce0d81 Mon Sep 17 00:00:00 2001
-From: Rob Clark <robdclark@chromium.org>
-Date: Sat, 23 May 2020 10:52:52 -0700
-Subject: [PATCH] freedreno: clear last_fence after resource tracking
-
-The resource tracking in the clear/draw_vbo/blit paths could itself
-trigger a flush. Which would update last_fence. So we need to clear
-last_fence *after* all the dependency tracking.
-
-Fixes: ddb7fadaf8b ("freedreno: avoid no-op flushes by re-using last-fence")
-Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2992
-Signed-off-by: Rob Clark <robdclark@chromium.org>
----
- src/gallium/drivers/freedreno/a6xx/fd6_blitter.c | 8 ++++++--
- src/gallium/drivers/freedreno/freedreno_draw.c | 16 ++++++++++++----
- 2 files changed, 18 insertions(+), 6 deletions(-)
-
-diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c
-index f812aab37a6..21900312ae7 100644
---- a/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c
-+++ b/src/gallium/drivers/freedreno/a6xx/fd6_blitter.c
-@@ -632,8 +632,6 @@ handle_rgba_blit(struct fd_context *ctx, const struct pipe_blit_info *info)
- if (!can_do_blit(info))
- return false;
-
-- fd_fence_ref(&ctx->last_fence, NULL);
--
- batch = fd_bc_alloc_batch(&ctx->screen->batch_cache, ctx, true);
-
- fd6_emit_restore(batch, batch->draw);
-@@ -646,6 +644,12 @@ handle_rgba_blit(struct fd_context *ctx, const struct pipe_blit_info *info)
-
- mtx_unlock(&ctx->screen->lock);
-
-+ /* Clearing last_fence must come after the batch dependency tracking
-+ * (resource_read()/resource_write()), as that can trigger a flush,
-+ * re-populating last_fence
-+ */
-+ fd_fence_ref(&ctx->last_fence, NULL);
-+
- emit_setup(batch);
-
- if ((info->src.resource->target == PIPE_BUFFER) &&
-diff --git a/src/gallium/drivers/freedreno/freedreno_draw.c b/src/gallium/drivers/freedreno/freedreno_draw.c
-index 94e2aae9e68..e2a0a1260fa 100644
---- a/src/gallium/drivers/freedreno/freedreno_draw.c
-+++ b/src/gallium/drivers/freedreno/freedreno_draw.c
-@@ -93,8 +93,6 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
- return;
- }
-
-- fd_fence_ref(&ctx->last_fence, NULL);
--
- /* Upload a user index buffer. */
- struct pipe_resource *indexbuf = NULL;
- unsigned index_offset = 0;
-@@ -282,6 +280,12 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
- /* and any buffers used, need to be resolved: */
- batch->resolve |= buffers;
-
-+ /* Clearing last_fence must come after the batch dependency tracking
-+ * (resource_read()/resource_written()), as that can trigger a flush,
-+ * re-populating last_fence
-+ */
-+ fd_fence_ref(&ctx->last_fence, NULL);
-+
- DBG("%p: %x %ux%u num_draws=%u (%s/%s)", batch, buffers,
- pfb->width, pfb->height, batch->num_draws,
- util_format_short_name(pipe_surface_format(pfb->cbufs[0])),
-@@ -318,8 +322,6 @@ fd_clear(struct pipe_context *pctx, unsigned buffers,
- if (!fd_render_condition_check(pctx))
- return;
-
-- fd_fence_ref(&ctx->last_fence, NULL);
--
- if (ctx->in_blit) {
- fd_batch_reset(batch);
- fd_context_all_dirty(ctx);
-@@ -366,6 +368,12 @@ fd_clear(struct pipe_context *pctx, unsigned buffers,
-
- mtx_unlock(&ctx->screen->lock);
-
-+ /* Clearing last_fence must come after the batch dependency tracking
-+ * (resource_read()/resource_written()), as that can trigger a flush,
-+ * re-populating last_fence
-+ */
-+ fd_fence_ref(&ctx->last_fence, NULL);
-+
- DBG("%p: %x %ux%u depth=%f, stencil=%u (%s/%s)", batch, buffers,
- pfb->width, pfb->height, depth, stencil,
- util_format_short_name(pipe_surface_format(pfb->cbufs[0])),
---
-2.27.0.rc0
-
diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend
index fd40c39..c5794f4 100644
--- a/recipes-graphics/mesa/mesa_%.bbappend
+++ b/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,30 +1,13 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append = " \
- file://0001-freedreno-clear-last_fence-after-resource-tracking.patch \
-"
# Enable freedreno driver
-GALLIUMDRIVERS_append_apq8064 = ",freedreno"
-GALLIUMDRIVERS_append_apq8016 = ",freedreno"
-GALLIUMDRIVERS_append_apq8096 = ",freedreno"
-GALLIUMDRIVERS_append_sdm845 = ",freedreno"
-
-PACKAGECONFIG_append_apq8064 = " \
- gallium \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xa', '', d)} \
-"
-
-PACKAGECONFIG_append_apq8016 = " \
- gallium \
+PACKAGECONFIG_FREEDRENO = "\
+ freedreno \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xa', '', d)} \
"
-PACKAGECONFIG_append_apq8096 = " \
- gallium \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xa', '', d)} \
-"
-
-PACKAGECONFIG_append_sdm845 = " \
- gallium \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xa', '', d)} \
-"
+PACKAGECONFIG_append_apq8016 = "${PACKAGECONFIG_FREEDRENO}"
+PACKAGECONFIG_append_apq8064 = "${PACKAGECONFIG_FREEDRENO}"
+PACKAGECONFIG_append_apq8096 = "${PACKAGECONFIG_FREEDRENO}"
+PACKAGECONFIG_append_sdm845 = "${PACKAGECONFIG_FREEDRENO}"
+PACKAGECONFIG_append_sm8250 = "${PACKAGECONFIG_FREEDRENO}"
diff --git a/recipes-graphics/mesa/mesa_git.bb b/recipes-graphics/mesa/mesa_git.bb
new file mode 100644
index 0000000..537e849
--- /dev/null
+++ b/recipes-graphics/mesa/mesa_git.bb
@@ -0,0 +1,8 @@
+require recipes-graphics/mesa/mesa.inc
+
+require mesa-git.inc
+
+SRCREV = "d542bfc3066c86256748ccb681fad7f80e8668bd"
+#SRCREV_sm8250 = "${AUTOREV}"
+
+DEFAULT_PREFERENCE_sm8250 = "1"
diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
new file mode 100644
index 0000000..9a1115c
--- /dev/null
+++ b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
@@ -0,0 +1,7 @@
+
+do_install_append() {
+ rm -rf ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.2
+ rm -rf ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.4
+}
+
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-USB-and-PHY-device-nodes.patch b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-USB-and-PHY-device-nodes.patch
new file mode 100644
index 0000000..2975a2a
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-USB-and-PHY-device-nodes.patch
@@ -0,0 +1,207 @@
+From e4a349e3fce09e441f6568ca318be66709386514 Mon Sep 17 00:00:00 2001
+From: Jonathan Marek <jonathan@marek.ca>
+Date: Tue, 9 Jun 2020 15:40:24 -0400
+Subject: [PATCH] arm64: dts: qcom: sm8250: Add USB and PHY device nodes
+
+Add device nodes for the USB3 controller, QMP SS PHY and
+SNPS HS PHY.
+
+Signed-off-by: Jonathan Marek <jonathan@marek.ca>
+---
+ arch/arm64/boot/dts/qcom/sm8250.dtsi | 180 +++++++++++++++++++++++++++
+ 1 file changed, 180 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+index cc6c65883d88..68f9a3ce9760 100644
+--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
++++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+@@ -1097,6 +1097,186 @@ intc: interrupt-controller@17a00000 {
+ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
+ };
+
++ usb_1_hsphy: phy@88e3000 {
++ compatible = "qcom,sm8250-usb-hs-phy",
++ "qcom,usb-snps-hs-7nm-phy";
++ reg = <0 0x088e3000 0 0x400>;
++ status = "disabled";
++ #phy-cells = <0>;
++
++ clocks = <&rpmhcc RPMH_CXO_CLK>;
++ clock-names = "ref";
++
++ resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
++ };
++
++ usb_2_hsphy: phy@88e4000 {
++ compatible = "qcom,sm8250-usb-hs-phy",
++ "qcom,usb-snps-hs-7nm-phy";
++ reg = <0 0x088e4000 0 0x400>;
++ status = "disabled";
++ #phy-cells = <0>;
++
++ clocks = <&rpmhcc RPMH_CXO_CLK>;
++ clock-names = "ref";
++
++ resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
++ };
++
++ usb_1_qmpphy: phy@88e9000 {
++ compatible = "qcom,sm8250-qmp-usb3-phy";
++ reg = <0 0x088e9000 0 0x200>,
++ <0 0x088e8000 0 0x20>;
++ reg-names = "reg-base", "dp_com";
++ status = "disabled";
++ #clock-cells = <1>;
++ #address-cells = <2>;
++ #size-cells = <2>;
++ ranges;
++
++ clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
++ <&rpmhcc RPMH_CXO_CLK>,
++ <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>;
++ clock-names = "aux", "ref_clk_src", "com_aux";
++
++ resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>,
++ <&gcc GCC_USB3_PHY_PRIM_BCR>;
++ reset-names = "phy", "common";
++
++ usb_1_ssphy: lanes@88e9200 {
++ reg = <0 0x088e9200 0 0x200>,
++ <0 0x088e9400 0 0x200>,
++ <0 0x088e9c00 0 0x400>,
++ <0 0x088e9600 0 0x200>,
++ <0 0x088e9800 0 0x200>,
++ <0 0x088e9a00 0 0x100>;
++ #phy-cells = <0>;
++ clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
++ clock-names = "pipe0";
++ clock-output-names = "usb3_phy_pipe_clk_src";
++ };
++ };
++
++ usb_2_qmpphy: phy@88eb000 {
++ compatible = "qcom,sm8250-qmp-usb3-uni-phy";
++ reg = <0 0x088eb000 0 0x200>;
++ status = "disabled";
++ #clock-cells = <1>;
++ #address-cells = <2>;
++ #size-cells = <2>;
++ ranges;
++
++ clocks = <&gcc GCC_USB3_SEC_PHY_AUX_CLK>,
++ <&rpmhcc RPMH_CXO_CLK>,
++ <&gcc GCC_USB3_SEC_CLKREF_EN>,
++ <&gcc GCC_USB3_SEC_PHY_COM_AUX_CLK>;
++ clock-names = "aux", "ref_clk_src", "ref", "com_aux";
++
++ resets = <&gcc GCC_USB3PHY_PHY_SEC_BCR>,
++ <&gcc GCC_USB3_PHY_SEC_BCR>;
++ reset-names = "phy", "common";
++
++ usb_2_ssphy: lane@88eb200 {
++ reg = <0 0x088eb200 0 0x200>,
++ <0 0x088eb400 0 0x200>,
++ <0 0x088eb800 0 0x800>;
++ #phy-cells = <0>;
++ clocks = <&gcc GCC_USB3_SEC_PHY_PIPE_CLK>;
++ clock-names = "pipe0";
++ clock-output-names = "usb3_uni_phy_pipe_clk_src";
++ };
++ };
++
++ usb_1: usb@a6f8800 {
++ compatible = "qcom,sm8250-dwc3", "qcom,dwc3";
++ reg = <0 0x0a6f8800 0 0x400>;
++ status = "disabled";
++ #address-cells = <2>;
++ #size-cells = <2>;
++ ranges;
++ dma-ranges;
++
++ clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
++ <&gcc GCC_USB30_PRIM_MASTER_CLK>,
++ <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
++ <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
++ <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
++ <&gcc GCC_USB3_SEC_CLKREF_EN>;
++ clock-names = "cfg_noc", "core", "iface", "mock_utmi",
++ "sleep", "xo";
++
++ assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
++ <&gcc GCC_USB30_PRIM_MASTER_CLK>;
++ assigned-clock-rates = <19200000>, <200000000>;
++
++ interrupts-extended = <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
++ <&pdc 14 IRQ_TYPE_EDGE_BOTH>,
++ <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
++ <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "hs_phy_irq", "dp_hs_phy_irq",
++ "dm_hs_phy_irq", "ss_phy_irq";
++
++ power-domains = <&gcc USB30_PRIM_GDSC>;
++
++ resets = <&gcc GCC_USB30_PRIM_BCR>;
++
++ usb_1_dwc3: dwc3@a600000 {
++ compatible = "snps,dwc3";
++ reg = <0 0x0a600000 0 0xcd00>;
++ interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
++ //iommus = <&apps_smmu 0x0 0x0>;
++ snps,dis_u2_susphy_quirk;
++ snps,dis_enblslpm_quirk;
++ phys = <&usb_1_hsphy>, <&usb_1_ssphy>;
++ phy-names = "usb2-phy", "usb3-phy";
++ };
++ };
++
++ usb_2: usb@a8f8800 {
++ compatible = "qcom,sm8250-dwc3", "qcom,dwc3";
++ reg = <0 0x0a8f8800 0 0x400>;
++ status = "disabled";
++ #address-cells = <2>;
++ #size-cells = <2>;
++ ranges;
++ dma-ranges;
++
++ clocks = <&gcc GCC_CFG_NOC_USB3_SEC_AXI_CLK>,
++ <&gcc GCC_USB30_SEC_MASTER_CLK>,
++ <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
++ <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
++ <&gcc GCC_USB30_SEC_SLEEP_CLK>,
++ <&gcc GCC_USB3_SEC_CLKREF_EN>;
++ clock-names = "cfg_noc", "core", "iface", "mock_utmi",
++ "sleep", "xo";
++
++ assigned-clocks = <&gcc GCC_USB30_SEC_MOCK_UTMI_CLK>,
++ <&gcc GCC_USB30_SEC_MASTER_CLK>;
++ assigned-clock-rates = <19200000>, <200000000>;
++
++ interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
++ <&pdc 12 IRQ_TYPE_EDGE_BOTH>,
++ <&pdc 13 IRQ_TYPE_EDGE_BOTH>,
++ <&pdc 16 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "hs_phy_irq", "dp_hs_phy_irq",
++ "dm_hs_phy_irq", "ss_phy_irq";
++
++ power-domains = <&gcc USB30_SEC_GDSC>;
++
++ resets = <&gcc GCC_USB30_SEC_BCR>;
++
++ usb_2_dwc3: dwc3@a800000 {
++ compatible = "snps,dwc3";
++ reg = <0 0x0a800000 0 0xcd00>;
++ interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
++ //iommus = <&apps_smmu 0x20 0>;
++ snps,dis_u2_susphy_quirk;
++ snps,dis_enblslpm_quirk;
++ phys = <&usb_2_hsphy>, <&usb_2_ssphy>;
++ phy-names = "usb2-phy", "usb3-phy";
++ };
++ };
++
+ pdc: interrupt-controller@b220000 {
+ compatible = "qcom,sm8250-pdc", "qcom,pdc";
+ reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x60>;
+--
+2.27.0
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-support-for-SDC2.patch b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-support-for-SDC2.patch
new file mode 100644
index 0000000..b5e15c5
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Add-support-for-SDC2.patch
@@ -0,0 +1,45 @@
+From a1b05da240efec1780dc654dd12efe518e4a5068 Mon Sep 17 00:00:00 2001
+From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Date: Tue, 9 Jun 2020 11:10:58 +0530
+Subject: [PATCH] arm64: dts: qcom: sm8250: Add support for SDC2
+
+Add support for SDC2 which can be used to interface uSD card.
+
+Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+---
+ arch/arm64/boot/dts/qcom/sm8250.dtsi | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+index 68f9a3ce9760..8e4abe5aa01f 100644
+--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
++++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+@@ -983,6 +983,25 @@ ufs_mem_phy_lanes: lanes@1d87400 {
+ };
+ };
+
++ sdhc_2: sdhci@8804000 {
++ compatible = "qcom,sm8250-sdhci", "qcom,sdhci-msm-v5";
++ reg = <0 0x08804000 0 0x1000>;
++
++ interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
++ <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
++ interrupt-names = "hc_irq", "pwr_irq";
++
++ clocks = <&gcc GCC_SDCC2_AHB_CLK>,
++ <&gcc GCC_SDCC2_APPS_CLK>;
++ clock-names = "iface", "core";
++ //iommus = <&apps_smmu 0xa0 0xf>;
++ qcom,dll-config = <0x0007642c>;
++ qcom,ddr-config = <0x80040868>;
++ power-domains = <&rpmhpd SM8250_CX>;
++
++ status = "disabled";
++ };
++
+ intc: interrupt-controller@17a00000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <3>;
+--
+2.27.0
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Rename-UART2-node-to-UART12.patch b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Rename-UART2-node-to-UART12.patch
new file mode 100644
index 0000000..6eb26cd
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-Rename-UART2-node-to-UART12.patch
@@ -0,0 +1,74 @@
+From 7239ad605113c0945c94f0f75cfbeb3b1a38deb7 Mon Sep 17 00:00:00 2001
+From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Date: Mon, 29 Jun 2020 21:09:02 +0530
+Subject: [PATCH] arm64: dts: qcom: sm8250: Rename UART2 node to UART12
+
+The UART12 node has been mistakenly mentioned as UART2. Let's fix that
+for both SM8250 SoC and MTP board and also add pinctrl definition for
+it.
+
+Fixes: 60378f1a171e ("arm64: dts: qcom: sm8250: Add sm8250 dts file")
+Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+---
+ arch/arm64/boot/dts/qcom/sm8250-mtp.dts | 4 ++--
+ arch/arm64/boot/dts/qcom/sm8250.dtsi | 11 ++++++++++-
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
+index e9acda9f5b83..e844da89e688 100644
+--- a/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
++++ b/arch/arm64/boot/dts/qcom/sm8250-mtp.dts
+@@ -13,7 +13,7 @@ / {
+ compatible = "qcom,sm8250-mtp";
+
+ aliases {
+- serial0 = &uart2;
++ serial0 = &uart12;
+ };
+
+ chosen {
+@@ -359,7 +359,7 @@ &tlmm {
+ gpio-reserved-ranges = <28 4>, <40 4>;
+ };
+
+-&uart2 {
++&uart12 {
+ status = "okay";
+ };
+
+diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+index 3ecc780a005d..ba8e8b8a90d2 100644
+--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
++++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+@@ -865,11 +865,13 @@ spi12: spi@a90000 {
+ status = "disabled";
+ };
+
+- uart2: serial@a90000 {
++ uart12: serial@a90000 {
+ compatible = "qcom,geni-debug-uart";
+ reg = <0x0 0x00a90000 0x0 0x4000>;
+ clock-names = "se";
+ clocks = <&gcc 113>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_uart12_default>;
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
+@@ -1839,6 +1841,13 @@ config {
+ bias-disable;
+ };
+ };
++
++ qup_uart12_default: qup-uart12-default {
++ mux {
++ pins = "gpio34", "gpio35";
++ function = "qup12";
++ };
++ };
+ };
+
+ timer@17c20000 {
+--
+2.27.0
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-add-I2C-and-SPI-nodes.patch b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-add-I2C-and-SPI-nodes.patch
new file mode 100644
index 0000000..8183286
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-add-I2C-and-SPI-nodes.patch
@@ -0,0 +1,1202 @@
+From ba21e7e0130be07dadf415e277524b6544680656 Mon Sep 17 00:00:00 2001
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Wed, 3 Jun 2020 18:42:42 +0300
+Subject: [PATCH] arm64: dts: qcom: sm8250: add I2C and SPI nodes
+
+Much like SDM845 each serial engine has 4 pins attached. Add all
+possible I2C and SPI nodes for all 20 serial engines.
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+---
+ arch/arm64/boot/dts/qcom/sm8250.dtsi | 1147 ++++++++++++++++++++++++++
+ 1 file changed, 1147 insertions(+)
+
+diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+index 384839cb036c..37d3abeabf87 100644
+--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
++++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+@@ -15,6 +15,49 @@ / {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
++ aliases {
++ i2c0 = &i2c0;
++ i2c1 = &i2c1;
++ i2c2 = &i2c2;
++ i2c3 = &i2c3;
++ i2c4 = &i2c4;
++ i2c5 = &i2c5;
++ i2c6 = &i2c6;
++ i2c7 = &i2c7;
++ i2c8 = &i2c8;
++ i2c9 = &i2c9;
++ i2c10 = &i2c10;
++ i2c11 = &i2c11;
++ i2c12 = &i2c12;
++ i2c13 = &i2c13;
++ i2c14 = &i2c14;
++ i2c15 = &i2c15;
++ i2c16 = &i2c16;
++ i2c17 = &i2c17;
++ i2c18 = &i2c18;
++ i2c19 = &i2c19;
++ spi0 = &spi0;
++ spi1 = &spi1;
++ spi2 = &spi2;
++ spi3 = &spi3;
++ spi4 = &spi4;
++ spi5 = &spi5;
++ spi6 = &spi6;
++ spi7 = &spi7;
++ spi8 = &spi8;
++ spi9 = &spi9;
++ spi10 = &spi10;
++ spi11 = &spi11;
++ spi12 = &spi12;
++ spi13 = &spi13;
++ spi14 = &spi14;
++ spi15 = &spi15;
++ spi16 = &spi16;
++ spi17 = &spi17;
++ spi18 = &spi18;
++ spi19 = &spi19;
++ };
++
+ chosen { };
+
+ clocks {
+@@ -294,6 +337,394 @@ gcc: clock-controller@100000 {
+ clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>;
+ };
+
++ qupv3_id_2: geniqup@8c0000 {
++ compatible = "qcom,geni-se-qup";
++ reg = <0x0 0x008c0000 0x0 0x6000>;
++ clock-names = "m-ahb", "s-ahb";
++ clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
++ <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
++ #address-cells = <2>;
++ #size-cells = <2>;
++ ranges;
++ status = "disabled";
++
++ i2c14: i2c@880000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00880000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c14_default>;
++ interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi14: spi@880000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00880000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi14_default>;
++ interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c15: i2c@884000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00884000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c15_default>;
++ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi15: spi@884000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00884000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi15_default>;
++ interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c16: i2c@888000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00888000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c16_default>;
++ interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi16: spi@888000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00888000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi16_default>;
++ interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c17: i2c@88c000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x0088c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c17_default>;
++ interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi17: spi@88c000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x0088c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi17_default>;
++ interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c18: i2c@890000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00890000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c18_default>;
++ interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi18: spi@890000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00890000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi18_default>;
++ interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c19: i2c@894000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00894000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c19_default>;
++ interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi19: spi@894000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00894000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi19_default>;
++ interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++ };
++
++ qupv3_id_0: geniqup@9c0000 {
++ compatible = "qcom,geni-se-qup";
++ reg = <0x0 0x009c0000 0x0 0x6000>;
++ clock-names = "m-ahb", "s-ahb";
++ clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
++ <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
++ #address-cells = <2>;
++ #size-cells = <2>;
++ ranges;
++ status = "disabled";
++
++ i2c0: i2c@980000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00980000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c0_default>;
++ interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi0: spi@980000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00980000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi0_default>;
++ interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c1: i2c@984000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00984000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c1_default>;
++ interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi1: spi@984000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00984000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi1_default>;
++ interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c2: i2c@988000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00988000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c2_default>;
++ interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi2: spi@988000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00988000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi2_default>;
++ interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c3: i2c@98c000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x0098c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c3_default>;
++ interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi3: spi@98c000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x0098c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi3_default>;
++ interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c4: i2c@990000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00990000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c4_default>;
++ interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi4: spi@990000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00990000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi4_default>;
++ interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c5: i2c@994000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00994000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c5_default>;
++ interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi5: spi@994000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00994000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi5_default>;
++ interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c6: i2c@998000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00998000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c6_default>;
++ interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi6: spi@998000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00998000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi6_default>;
++ interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c7: i2c@99c000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x0099c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c7_default>;
++ interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi7: spi@99c000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x0099c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi7_default>;
++ interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++ };
++
+ qupv3_id_1: geniqup@ac0000 {
+ compatible = "qcom,geni-se-qup";
+ reg = <0x0 0x00ac0000 0x0 0x6000>;
+@@ -304,6 +735,136 @@ qupv3_id_1: geniqup@ac0000 {
+ ranges;
+ status = "disabled";
+
++ i2c8: i2c@a80000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00a80000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c8_default>;
++ interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi8: spi@a80000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00a80000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi8_default>;
++ interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c9: i2c@a84000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00a84000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c9_default>;
++ interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi9: spi@a84000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00a84000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi9_default>;
++ interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c10: i2c@a88000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00a88000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c10_default>;
++ interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi10: spi@a88000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00a88000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi10_default>;
++ interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c11: i2c@a8c000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00a8c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c11_default>;
++ interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi11: spi@a8c000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00a8c000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi11_default>;
++ interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ i2c12: i2c@a90000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00a90000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c12_default>;
++ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi12: spi@a90000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00a90000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi12_default>;
++ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
+ uart2: serial@a90000 {
+ compatible = "qcom,geni-debug-uart";
+ reg = <0x0 0x00a90000 0x0 0x4000>;
+@@ -312,6 +873,32 @@ uart2: serial@a90000 {
+ interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
++
++ i2c13: i2c@a94000 {
++ compatible = "qcom,geni-i2c";
++ reg = <0 0x00a94000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_i2c13_default>;
++ interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
++
++ spi13: spi@a94000 {
++ compatible = "qcom,geni-spi";
++ reg = <0 0x00a94000 0 0x4000>;
++ clock-names = "se";
++ clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&qup_spi13_default>;
++ interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "disabled";
++ };
+ };
+
+ ufs_mem_hc: ufshc@1d84000 {
+@@ -512,6 +1099,566 @@ tlmm: pinctrl@f100000 {
+ #interrupt-cells = <2>;
+ gpio-ranges = <&tlmm 0 0 180>;
+ wakeup-parent = <&pdc>;
++
++ qup_i2c0_default: qup-i2c0-default {
++ mux {
++ pins = "gpio28", "gpio29";
++ function = "qup0";
++ };
++
++ config {
++ pins = "gpio28", "gpio29";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c1_default: qup-i2c1-default {
++ pinmux {
++ pins = "gpio4", "gpio5";
++ function = "qup1";
++ };
++
++ config {
++ pins = "gpio4", "gpio5";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c2_default: qup-i2c2-default {
++ mux {
++ pins = "gpio115", "gpio116";
++ function = "qup2";
++ };
++
++ config {
++ pins = "gpio115", "gpio116";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c3_default: qup-i2c3-default {
++ mux {
++ pins = "gpio119", "gpio120";
++ function = "qup3";
++ };
++
++ config {
++ pins = "gpio119", "gpio120";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c4_default: qup-i2c4-default {
++ mux {
++ pins = "gpio8", "gpio9";
++ function = "qup4";
++ };
++
++ config {
++ pins = "gpio8", "gpio9";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c5_default: qup-i2c5-default {
++ mux {
++ pins = "gpio12", "gpio13";
++ function = "qup5";
++ };
++
++ config {
++ pins = "gpio12", "gpio13";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c6_default: qup-i2c6-default {
++ mux {
++ pins = "gpio16", "gpio17";
++ function = "qup6";
++ };
++
++ config {
++ pins = "gpio16", "gpio17";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c7_default: qup-i2c7-default {
++ mux {
++ pins = "gpio20", "gpio21";
++ function = "qup7";
++ };
++
++ config {
++ pins = "gpio20", "gpio21";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c8_default: qup-i2c8-default {
++ mux {
++ pins = "gpio24", "gpio25";
++ function = "qup8";
++ };
++
++ config {
++ pins = "gpio24", "gpio25";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c9_default: qup-i2c9-default {
++ mux {
++ pins = "gpio125", "gpio126";
++ function = "qup9";
++ };
++
++ config {
++ pins = "gpio125", "gpio126";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c10_default: qup-i2c10-default {
++ mux {
++ pins = "gpio129", "gpio130";
++ function = "qup10";
++ };
++
++ config {
++ pins = "gpio129", "gpio130";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c11_default: qup-i2c11-default {
++ mux {
++ pins = "gpio60", "gpio61";
++ function = "qup11";
++ };
++
++ config {
++ pins = "gpio60", "gpio61";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c12_default: qup-i2c12-default {
++ mux {
++ pins = "gpio32", "gpio33";
++ function = "qup12";
++ };
++
++ config {
++ pins = "gpio32", "gpio33";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c13_default: qup-i2c13-default {
++ mux {
++ pins = "gpio36", "gpio37";
++ function = "qup13";
++ };
++
++ config {
++ pins = "gpio36", "gpio37";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c14_default: qup-i2c14-default {
++ mux {
++ pins = "gpio40", "gpio41";
++ function = "qup14";
++ };
++
++ config {
++ pins = "gpio40", "gpio41";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c15_default: qup-i2c15-default {
++ mux {
++ pins = "gpio44", "gpio45";
++ function = "qup15";
++ };
++
++ config {
++ pins = "gpio44", "gpio45";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c16_default: qup-i2c16-default {
++ mux {
++ pins = "gpio48", "gpio49";
++ function = "qup16";
++ };
++
++ config {
++ pins = "gpio48", "gpio49";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c17_default: qup-i2c17-default {
++ mux {
++ pins = "gpio52", "gpio53";
++ function = "qup17";
++ };
++
++ config {
++ pins = "gpio52", "gpio53";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c18_default: qup-i2c18-default {
++ mux {
++ pins = "gpio56", "gpio57";
++ function = "qup18";
++ };
++
++ config {
++ pins = "gpio56", "gpio57";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_i2c19_default: qup-i2c19-default {
++ mux {
++ pins = "gpio0", "gpio1";
++ function = "qup19";
++ };
++
++ config {
++ pins = "gpio0", "gpio1";
++ drive-strength = <2>;
++ bias-disable;
++ };
++ };
++
++ qup_spi0_default: qup-spi0-default {
++ mux {
++ pins = "gpio28", "gpio29",
++ "gpio30", "gpio31";
++ function = "qup0";
++ };
++
++ config {
++ pins = "gpio28", "gpio29",
++ "gpio30", "gpio31";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi1_default: qup-spi1-default {
++ mux {
++ pins = "gpio4", "gpio5",
++ "gpio6", "gpio7";
++ function = "qup1";
++ };
++
++ config {
++ pins = "gpio4", "gpio5",
++ "gpio6", "gpio7";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi2_default: qup-spi2-default {
++ mux {
++ pins = "gpio115", "gpio116",
++ "gpio117", "gpio118";
++ function = "qup2";
++ };
++
++ config {
++ pins = "gpio115", "gpio116",
++ "gpio117", "gpio118";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi3_default: qup-spi3-default {
++ mux {
++ pins = "gpio119", "gpio120",
++ "gpio121", "gpio122";
++ function = "qup3";
++ };
++
++ config {
++ pins = "gpio119", "gpio120",
++ "gpio121", "gpio122";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi4_default: qup-spi4-default {
++ mux {
++ pins = "gpio8", "gpio9",
++ "gpio10", "gpio11";
++ function = "qup4";
++ };
++
++ config {
++ pins = "gpio8", "gpio9",
++ "gpio10", "gpio11";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi5_default: qup-spi5-default {
++ mux {
++ pins = "gpio12", "gpio13",
++ "gpio14", "gpio15";
++ function = "qup5";
++ };
++
++ config {
++ pins = "gpio12", "gpio13",
++ "gpio14", "gpio15";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi6_default: qup-spi6-default {
++ mux {
++ pins = "gpio16", "gpio17",
++ "gpio18", "gpio19";
++ function = "qup6";
++ };
++
++ config {
++ pins = "gpio16", "gpio17",
++ "gpio18", "gpio19";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi7_default: qup-spi7-default {
++ mux {
++ pins = "gpio20", "gpio21",
++ "gpio22", "gpio23";
++ function = "qup7";
++ };
++
++ config {
++ pins = "gpio20", "gpio21",
++ "gpio22", "gpio23";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi8_default: qup-spi8-default {
++ mux {
++ pins = "gpio24", "gpio25",
++ "gpio26", "gpio27";
++ function = "qup8";
++ };
++
++ config {
++ pins = "gpio24", "gpio25",
++ "gpio26", "gpio27";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi9_default: qup-spi9-default {
++ mux {
++ pins = "gpio125", "gpio126",
++ "gpio127", "gpio128";
++ function = "qup9";
++ };
++
++ config {
++ pins = "gpio125", "gpio126",
++ "gpio127", "gpio128";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi10_default: qup-spi10-default {
++ mux {
++ pins = "gpio129", "gpio130",
++ "gpio131", "gpio132";
++ function = "qup10";
++ };
++
++ config {
++ pins = "gpio129", "gpio130",
++ "gpio131", "gpio132";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi11_default: qup-spi11-default {
++ mux {
++ pins = "gpio60", "gpio61",
++ "gpio62", "gpio63";
++ function = "qup11";
++ };
++
++ config {
++ pins = "gpio60", "gpio61",
++ "gpio62", "gpio63";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi12_default: qup-spi12-default {
++ mux {
++ pins = "gpio32", "gpio33",
++ "gpio34", "gpio35";
++ function = "qup12";
++ };
++
++ config {
++ pins = "gpio32", "gpio33",
++ "gpio34", "gpio35";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi13_default: qup-spi13-default {
++ mux {
++ pins = "gpio36", "gpio37",
++ "gpio38", "gpio39";
++ function = "qup13";
++ };
++
++ config {
++ pins = "gpio36", "gpio37",
++ "gpio38", "gpio39";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi14_default: qup-spi14-default {
++ mux {
++ pins = "gpio40", "gpio41",
++ "gpio42", "gpio43";
++ function = "qup14";
++ };
++
++ config {
++ pins = "gpio40", "gpio41",
++ "gpio42", "gpio43";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi15_default: qup-spi15-default {
++ mux {
++ pins = "gpio44", "gpio45",
++ "gpio46", "gpio47";
++ function = "qup15";
++ };
++
++ config {
++ pins = "gpio44", "gpio45",
++ "gpio46", "gpio47";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi16_default: qup-spi16-default {
++ mux {
++ pins = "gpio48", "gpio49",
++ "gpio50", "gpio51";
++ function = "qup16";
++ };
++
++ config {
++ pins = "gpio48", "gpio49",
++ "gpio50", "gpio51";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi17_default: qup-spi17-default {
++ mux {
++ pins = "gpio52", "gpio53",
++ "gpio54", "gpio55";
++ function = "qup17";
++ };
++
++ config {
++ pins = "gpio52", "gpio53",
++ "gpio54", "gpio55";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi18_default: qup-spi18-default {
++ mux {
++ pins = "gpio56", "gpio57",
++ "gpio58", "gpio59";
++ function = "qup18";
++ };
++
++ config {
++ pins = "gpio56", "gpio57",
++ "gpio58", "gpio59";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
++
++ qup_spi19_default: qup-spi19-default {
++ mux {
++ pins = "gpio0", "gpio1",
++ "gpio2", "gpio3";
++ function = "qup19";
++ };
++
++ config {
++ pins = "gpio0", "gpio1",
++ "gpio2", "gpio3";
++ drive-strength = <6>;
++ bias-disable;
++ };
++ };
+ };
+
+ timer@17c20000 {
+--
+2.27.0
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-change-spmi-node-label.patch b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-change-spmi-node-label.patch
new file mode 100644
index 0000000..1913a6f
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/0001-arm64-dts-qcom-sm8250-change-spmi-node-label.patch
@@ -0,0 +1,29 @@
+From 6cdc941e6bf4df72844bd8b0fef2eff65d2c0726 Mon Sep 17 00:00:00 2001
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Thu, 4 Jun 2020 00:41:53 +0300
+Subject: [PATCH] arm64: dts: qcom: sm8250: change spmi node label
+
+PMIC dtsi files (pm8150*.dtsi) expect to have spmi_bus label, rather
+than just spmi. Rename spmi label accordingly.
+
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+---
+ arch/arm64/boot/dts/qcom/sm8250.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+index 1e2862bbfb11..9dd27aecdfda 100644
+--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
++++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
+@@ -991,7 +991,7 @@ pdc: interrupt-controller@b220000 {
+ interrupt-controller;
+ };
+
+- spmi: qcom,spmi@c440000 {
++ spmi_bus: qcom,spmi@c440000 {
+ compatible = "qcom,spmi-pmic-arb";
+ reg = <0x0 0x0c440000 0x0 0x0001100>,
+ <0x0 0x0c600000 0x0 0x2000000>,
+--
+2.27.0
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5-enable.patch b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5-enable.patch
new file mode 100644
index 0000000..278c9e5
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5-enable.patch
@@ -0,0 +1,9 @@
+Index: git/arch/arm64/boot/dts/qcom/Makefile
+===================================================================
+--- git.orig/arch/arm64/boot/dts/qcom/Makefile
++++ git/arch/arm64/boot/dts/qcom/Makefile
+@@ -26,3 +26,4 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8150-mtp.dt
+ dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb
+ dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb
+ dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
++dtb-$(CONFIG_ARCH_QCOM) += qrb5165-rb5.dtb
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5.dts b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5.dts
new file mode 100644
index 0000000..09003da
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-5.7/qrb5165-rb5.dts
@@ -0,0 +1,760 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2020, Linaro Ltd.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "sm8250.dtsi"
+#include "pm8150.dtsi"
+#include "pm8150b.dtsi"
+#include "pm8150l.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. Robotics RB5";
+ compatible = "qcom,qrb5165-rb5", "qcom,sm8250";
+
+ aliases {
+ serial0 = &uart12;
+ sdhc2 = &sdhc_2;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ dc12v: dc12v-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "DC12V";
+ regulator-min-microvolt = <12000000>;
+ regulator-max-microvolt = <12000000>;
+ regulator-always-on;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ user4 {
+ label = "green:user4";
+ gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "panic-indicator";
+ default-state = "off";
+ };
+
+ wlan {
+ label = "yellow:wlan";
+ gpios = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "phy0tx";
+ default-state = "off";
+ };
+
+ bt {
+ label = "blue:bt";
+ gpios = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
+ linux,default-trigger = "bluetooth-power";
+ default-state = "off";
+ };
+
+ };
+
+ vbat: vbat-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VBAT";
+
+ vin-supply = <&dc12v>;
+ regulator-min-microvolt = <4200000>;
+ regulator-max-microvolt = <4200000>;
+ regulator-always-on;
+ };
+
+ vbat_som: vbat-som-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VBAT_SOM";
+
+ vin-supply = <&dc12v>;
+ regulator-min-microvolt = <4200000>;
+ regulator-max-microvolt = <4200000>;
+ regulator-always-on;
+ };
+
+ vdc_3v3: vdc-3v3-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VDC_3V3";
+ vin-supply = <&dc12v>;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ vdc_5v: vdc-5v-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "VDC_5V";
+
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <500000>;
+ regulator-always-on;
+ vin-supply = <&vreg_l11c_3p3>;
+ };
+
+ vph_pwr: vph-pwr-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vph_pwr";
+ regulator-min-microvolt = <3700000>;
+ regulator-max-microvolt = <3700000>;
+ };
+
+ vreg_s4a_1p8: vreg-s4a-1p8 {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_s4a_1p8";
+
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ vin-supply = <&vph_pwr>;
+ };
+
+ vreg_s6c_0p88: smpc6-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vreg_s6c_0p88";
+
+ regulator-min-microvolt = <752000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ vin-supply = <&vph_pwr>;
+ };
+};
+
+&apps_rsc {
+ pm8150-rpmh-regulators {
+ compatible = "qcom,pm8150-rpmh-regulators";
+ qcom,pmic-id = "a";
+
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+ vdd-s3-supply = <&vph_pwr>;
+ vdd-s4-supply = <&vph_pwr>;
+ vdd-s5-supply = <&vph_pwr>;
+ vdd-s6-supply = <&vph_pwr>;
+ vdd-s7-supply = <&vph_pwr>;
+ vdd-s8-supply = <&vph_pwr>;
+ vdd-s9-supply = <&vph_pwr>;
+ vdd-s10-supply = <&vph_pwr>;
+ vdd-l2-l10-supply = <&vreg_bob>;
+ vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
+ vdd-l6-l9-supply = <&vreg_s8c_1p3>;
+ vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
+ vdd-l13-l16-l17-supply = <&vreg_bob>;
+
+ vreg_s5a_1p9: smps5 {
+ regulator-name = "vreg_s5a_1p9";
+ regulator-min-microvolt = <1904000>;
+ regulator-max-microvolt = <2000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s6a_0p95: smps6 {
+ regulator-name = "vreg_s6a_0p95";
+ regulator-min-microvolt = <920000>;
+ regulator-max-microvolt = <1128000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2a_3p1: ldo2 {
+ regulator-name = "vreg_l2a_3p1";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3a_0p9: ldo3 {
+ regulator-name = "vreg_l3a_0p9";
+ regulator-min-microvolt = <928000>;
+ regulator-max-microvolt = <932000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5a_0p875: ldo5 {
+ regulator-name = "vreg_l5a_0p875";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6a_1p2: ldo6 {
+ regulator-name = "vreg_l6a_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7a_1p7: ldo7 {
+ regulator-name = "vreg_l7a_1p7";
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9a_1p2: ldo9 {
+ regulator-name = "vreg_l9a_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10a_1p8: ldo10 {
+ regulator-name = "vreg_l10a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l12a_1p8: ldo12 {
+ regulator-name = "vreg_l12a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l13a_ts_3p0: ldo13 {
+ regulator-name = "vreg_l13a_ts_3p0";
+ regulator-min-microvolt = <3008000>;
+ regulator-max-microvolt = <3008000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l14a_1p8: ldo14 {
+ regulator-name = "vreg_l14a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l15a_11ad_io_1p8: ldo15 {
+ regulator-name = "vreg_l15a_11ad_io_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l16a_2p7: ldo16 {
+ regulator-name = "vreg_l16a_2p7";
+ regulator-min-microvolt = <2704000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l17a_3p0: ldo17 {
+ regulator-name = "vreg_l17a_3p0";
+ regulator-min-microvolt = <2856000>;
+ regulator-max-microvolt = <3008000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l18a_0p92: ldo18 {
+ regulator-name = "vreg_l18a_0p92";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ pm8150l-rpmh-regulators {
+ compatible = "qcom,pm8150l-rpmh-regulators";
+ qcom,pmic-id = "c";
+
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+ vdd-s3-supply = <&vph_pwr>;
+ vdd-s4-supply = <&vph_pwr>;
+ vdd-s5-supply = <&vph_pwr>;
+ vdd-s6-supply = <&vph_pwr>;
+ vdd-s7-supply = <&vph_pwr>;
+ vdd-s8-supply = <&vph_pwr>;
+ vdd-l1-l8-supply = <&vreg_s4a_1p8>;
+ vdd-l2-l3-supply = <&vreg_s8c_1p3>;
+ vdd-l4-l5-l6-supply = <&vreg_bob>;
+ vdd-l7-l11-supply = <&vreg_bob>;
+ vdd-l9-l10-supply = <&vreg_bob>;
+ vdd-bob-supply = <&vph_pwr>;
+
+ vreg_bob: bob {
+ regulator-name = "vreg_bob";
+ regulator-min-microvolt = <3008000>;
+ regulator-max-microvolt = <4000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+ };
+
+ vreg_s8c_1p3: smps8 {
+ regulator-name = "vreg_s8c_1p3";
+ regulator-min-microvolt = <1352000>;
+ regulator-max-microvolt = <1352000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l1c_1p8: ldo1 {
+ regulator-name = "vreg_l1c_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2c_1p2: ldo2 {
+ regulator-name = "vreg_l2c_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3c_0p92: ldo3 {
+ regulator-name = "vreg_l3c_0p92";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l4c_1p7: ldo4 {
+ regulator-name = "vreg_l4c_1p7";
+ regulator-min-microvolt = <1704000>;
+ regulator-max-microvolt = <2928000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5c_1p8: ldo5 {
+ regulator-name = "vreg_l5c_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2928000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6c_2p9: ldo6 {
+ regulator-name = "vreg_l6c_2p9";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7c_cam_vcm0_2p85: ldo7 {
+ regulator-name = "vreg_l7c_cam_vcm0_2p85";
+ regulator-min-microvolt = <2856000>;
+ regulator-max-microvolt = <3104000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8c_1p8: ldo8 {
+ regulator-name = "vreg_l8c_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9c_2p9: ldo9 {
+ regulator-name = "vreg_l9c_2p9";
+ regulator-min-microvolt = <2704000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l10c_3p0: ldo10 {
+ regulator-name = "vreg_l10c_3p0";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l11c_3p3: ldo11 {
+ regulator-name = "vreg_l11c_3p3";
+ regulator-min-microvolt = <3296000>;
+ regulator-max-microvolt = <3296000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ };
+ };
+
+ pm8009-rpmh-regulators {
+ compatible = "qcom,pm8009-rpmh-regulators";
+ qcom,pmic-id = "f";
+
+ vdd-s1-supply = <&vph_pwr>;
+ vdd-s2-supply = <&vph_pwr>;
+ vdd-l2-supply = <&vreg_s8c_1p3>;
+ vdd-l5-l6-supply = <&vreg_bob>;
+ vdd-l7-supply = <&vreg_s4a_1p8>;
+
+ vreg_l1f_cam_dvdd1_1p1: ldo1 {
+ regulator-name = "vreg_l1f_cam_dvdd1_1p1";
+ regulator-min-microvolt = <1104000>;
+ regulator-max-microvolt = <1104000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2f_cam_dvdd0_1p2: ldo2 {
+ regulator-name = "vreg_l2f_cam_dvdd0_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3f_cam_dvdd2_1p05: ldo3 {
+ regulator-name = "vreg_l3f_cam_dvdd2_1p05";
+ regulator-min-microvolt = <1056000>;
+ regulator-max-microvolt = <1056000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l5f_cam_avdd0_2p85: ldo5 {
+ regulator-name = "vreg_l5f_cam_avdd0_2p85";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6f_cam_avdd1_2p85: ldo6 {
+ regulator-name = "vreg_l6f_cam_avdd1_2p85";
+ regulator-min-microvolt = <2856000>;
+ regulator-max-microvolt = <2856000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7f_1p8: ldo7 {
+ regulator-name = "vreg_l7f_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+/* LS-I2C0 */
+&i2c4 {
+ status = "okay";
+};
+
+&i2c5 {
+ status = "okay";
+};
+
+/* LS-I2C1 */
+&i2c15 {
+ status = "okay";
+};
+
+&pm8150_gpios {
+ gpio-reserved-ranges = <1 1>, <3 2>, <7 1>;
+ gpio-line-names =
+ "NC",
+ "OPTION2",
+ "PM_GPIO-F",
+ "PM_SLP_CLK_IN",
+ "OPTION1",
+ "VOL_UP_N",
+ "PM8250_GPIO7", /* Blue LED */
+ "SP_ARI_PWR_ALARM",
+ "GPIO_9_P", /* Yellow LED */
+ "GPIO_10_P"; /* Green LED */
+};
+
+&pm8150b_gpios {
+ gpio-line-names =
+ "NC",
+ "NC",
+ "NC",
+ "NC",
+ "HAP_BOOST_EN", /* SOM */
+ "SMB_STAT", /* SOM */
+ "NC",
+ "NC",
+ "SDM_FORCE_USB_BOOT",
+ "NC",
+ "NC",
+ "NC";
+};
+
+&pm8150l_gpios {
+ gpio-line-names =
+ "NC",
+ "PM3003A_EN",
+ "NC",
+ "NC",
+ "PM_GPIO5", /* HDMI RST_N */
+ "PM_GPIO-A", /* PWM */
+ "PM_GPIO7",
+ "NC",
+ "NC",
+ "PM_GPIO-B",
+ "NC",
+ "PM3003A_MODE";
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ status = "okay";
+};
+
+&qupv3_id_2 {
+ status = "okay";
+};
+
+/* CAN */
+&spi0 {
+ status = "okay";
+};
+
+&tlmm {
+ gpio-reserved-ranges = <40 4>;
+ gpio-line-names =
+ "GPIO-MM",
+ "GPIO-NN",
+ "GPIO-OO",
+ "GPIO-PP",
+ "GPIO-A",
+ "GPIO-C",
+ "GPIO-E",
+ "GPIO-D",
+ "I2C0-SDA",
+ "I2C0-SCL",
+ "GPIO-TT", /* GPIO_10 */
+ "NC",
+ "GPIO_12_I2C_SDA",
+ "GPIO_13_I2C_SCL",
+ "GPIO-X",
+ "GPIO_15_RGMII_INT",
+ "HST_BT_UART_CTS",
+ "HST_BT_UART_RFR",
+ "HST_BT_UART_TX",
+ "HST_BT_UART_RX",
+ "HST_WLAN_EN", /* GPIO_20 */
+ "HST_BT_EN",
+ "GPIO-AAA",
+ "GPIO-BBB",
+ "GPIO-CCC",
+ "GPIO-Z",
+ "GPIO-DDD",
+ "GPIO-BB",
+ "GPIO_28_CAN_SPI_MISO",
+ "GPIO_29_CAN_SPI_MOSI",
+ "GPIO_30_CAN_SPI_CLK", /* GPIO_30 */
+ "GPIO_31_CAN_SPI_CS",
+ "GPIO-UU",
+ "NC",
+ "UART1_TXD_SOM",
+ "UART1_RXD_SOM",
+ "UART0_CTS",
+ "UART0_RTS",
+ "UART0_TXD",
+ "UART0_RXD",
+ "SPI1_MISO", /* GPIO_40 */
+ "SPI1_MOSI",
+ "SPI1_CLK",
+ "SPI1_CS",
+ "I2C1_SDA",
+ "I2C1_SCL",
+ "GPIO-F",
+ "GPIO-JJ",
+ "Board_ID1",
+ "Board_ID2",
+ "NC", /* GPIO_50 */
+ "NC",
+ "SPI0_MISO",
+ "SPI0_MOSI",
+ "SPI0_SCLK",
+ "SPI0_CS",
+ "GPIO-QQ",
+ "GPIO-RR",
+ "USB2LAN_RESET",
+ "USB2LAN_EXTWAKE",
+ "NC", /* GPIO_60 */
+ "NC",
+ "NC",
+ "LT9611_INT",
+ "GPIO-AA",
+ "USB_CC_DIR",
+ "GPIO-G",
+ "GPIO-LL",
+ "USB_DP_HPD_1P8",
+ "NC",
+ "NC", /* GPIO_70 */
+ "SD_CMD",
+ "SD_DAT3",
+ "SD_SCLK",
+ "SD_DAT2",
+ "SD_DAT1",
+ "SD_DAT0", /* BOOT_CFG3 */
+ "SD_UFS_CARD_DET_N",
+ "GPIO-II",
+ "PCIE0_RST_N",
+ "PCIE0_CLK_REQ_N", /* GPIO_80 */
+ "PCIE0_WAKE_N",
+ "GPIO-CC",
+ "GPIO-DD",
+ "GPIO-EE",
+ "GPIO-FF",
+ "GPIO-GG",
+ "GPIO-HH",
+ "GPIO-VV",
+ "GPIO-WW",
+ "NC", /* GPIO_90 */
+ "NC",
+ "GPIO-K",
+ "GPIO-I",
+ "CSI0_MCLK",
+ "CSI1_MCLK",
+ "CSI2_MCLK",
+ "CSI3_MCLK",
+ "GPIO-AA", /* CSI4_MCLK */
+ "GPIO-BB", /* CSI5_MCLK */
+ "GPIO-KK", /* GPIO_100 */
+ "CCI_I2C_SDA0",
+ "CCI_I2C_SCL0",
+ "CCI_I2C_SDA1",
+ "CCI_I2C_SCL1",
+ "CCI_I2C_SDA2",
+ "CCI_I2C_SCL2",
+ "CCI_I2C_SDA3",
+ "CCI_I2C_SCL3",
+ "GPIO-L",
+ "NC", /* GPIO_110 */
+ "NC",
+ "ACCEL_INT",
+ "GYRO_INT",
+ "GPIO-J",
+ "GPIO-YY",
+ "GPIO-H",
+ "GPIO-ZZ",
+ "NC",
+ "NC",
+ "NC", /* GPIO_120 */
+ "NC",
+ "MAG_INT",
+ "MAG_DRDY_INT",
+ "HST_SW_CTRL",
+ "GPIO-M",
+ "GPIO-N",
+ "GPIO-O",
+ "GPIO-P",
+ "PS_INT",
+ "WSA1_EN", /* GPIO_130 */
+ "USB_HUB_RESET",
+ "SDM_FORCE_USB_BOOT",
+ "I2S1_CLK_HDMI",
+ "I2S1_DATA0_HDMI",
+ "I2S1_WS_HDMI",
+ "GPIO-B",
+ "GPIO_137", /* To LT9611_I2S_MCLK_3V3 */
+ "PCM_CLK",
+ "PCM_DI",
+ "PCM_DO", /* GPIO_140 */
+ "PCM_FS",
+ "HST_SLIM_CLK",
+ "HST_SLIM_DATA",
+ "GPIO-U",
+ "GPIO-Y",
+ "GPIO-R",
+ "GPIO-Q",
+ "GPIO-S",
+ "GPIO-T",
+ "GPIO-V", /* GPIO_150 */
+ "GPIO-W",
+ "DMIC_CLK1",
+ "DMIC_DATA1",
+ "DMIC_CLK2",
+ "DMIC_DATA2",
+ "WSA_SWR_CLK",
+ "WSA_SWR_DATA",
+ "DMIC_CLK3",
+ "DMIC_DATA3",
+ "I2C4_SDA", /* GPIO_160 */
+ "I2C4_SCL",
+ "SPI3_CS1",
+ "SPI3_CS2",
+ "SPI2_MISO_LS3",
+ "SPI2_MOSI_LS3",
+ "SPI2_CLK_LS3",
+ "SPI2_ACCEL_CS_LS3",
+ "SPI2_CS1",
+ "NC",
+ "GPIO-SS", /* GPIO_170 */
+ "GPIO-XX",
+ "SPI3_MISO",
+ "SPI3_MOSI",
+ "SPI3_CLK",
+ "SPI3_CS",
+ "HST_BLE_SNS_UART_TX",
+ "HST_BLE_SNS_UART_RX",
+ "HST_WLAN_UART_TX",
+ "HST_WLAN_UART_RX";
+};
+
+&uart12 {
+ status = "okay";
+};
+
+&ufs_mem_hc {
+ status = "okay";
+
+ vcc-supply = <&vreg_l17a_3p0>;
+ vcc-max-microamp = <800000>;
+ vccq-supply = <&vreg_l6a_1p2>;
+ vccq-max-microamp = <800000>;
+ vccq2-supply = <&vreg_s4a_1p8>;
+ vccq2-max-microamp = <800000>;
+};
+
+&ufs_mem_phy {
+ status = "okay";
+
+ vdda-phy-supply = <&vreg_l5a_0p875>;
+ vdda-max-microamp = <89900>;
+ vdda-pll-supply = <&vreg_l9a_1p2>;
+ vdda-pll-max-microamp = <18800>;
+};
+
+&usb_1 {
+ status = "okay";
+};
+
+&usb_1_dwc3 {
+ dr_mode = "peripheral";
+};
+
+&usb_1_hsphy {
+ status = "okay";
+
+ vdda-pll-supply = <&vreg_l5a_0p875>;
+ vdda33-supply = <&vreg_l2a_3p1>;
+ vdda18-supply = <&vreg_l12a_1p8>;
+};
+
+&usb_1_qmpphy {
+ status = "okay";
+
+ vdda-phy-supply = <&vreg_l9a_1p2>;
+ vdda-pll-supply = <&vreg_l18a_0p92>;
+};
+
+&usb_2 {
+ status = "okay";
+};
+
+&usb_2_dwc3 {
+ dr_mode = "host";
+};
+
+&usb_2_hsphy {
+ status = "okay";
+
+ vdda-pll-supply = <&vreg_l5a_0p875>;
+ vdda33-supply = <&vreg_l2a_3p1>;
+ vdda18-supply = <&vreg_l12a_1p8>;
+};
+
+&usb_2_qmpphy {
+ status = "okay";
+
+ vdda-phy-supply = <&vreg_l9a_1p2>;
+ vdda-pll-supply = <&vreg_l18a_0p92>;
+};
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
new file mode 100644
index 0000000..82cf263
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
@@ -0,0 +1,24 @@
+# Copyright (C) 2014-2020 Linaro
+# Released under the MIT license (see COPYING.MIT for the terms)
+#
+# This recipe is disabled by default.
+# To enable it add the following line to conf/local.conf:
+# PREFERRED_PROVIDER_virtual/kernel = "linux-linaro-qcomlt-dev"
+
+DESCRIPTION = "Linaro Qualcomm Landing team Integration Kernel ${PV}"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+require recipes-kernel/linux/linux-linaro-qcom.inc
+require recipes-kernel/linux/linux-qcom-bootimg.inc
+
+SRCBRANCH ?= "integration-linux-qcomlt"
+SRCREV ?= "${AUTOREV}"
+
+LINUX_VERSION = "5.8-rc+"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+
+# Wifi firmware has a recognizable arch :(
+ERROR_QA_remove = "arch"
+
+# Disable by default
+DEFAULT_PREFERENCE = "-1"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
index 0bb06a7..cfc879e 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
@@ -9,11 +9,21 @@ inherit python3native
require recipes-kernel/linux/linux-linaro-qcom.inc
require recipes-kernel/linux/linux-qcom-bootimg.inc
+SRC_URI_append_qrb5165-rb5 = " \
+ file://qrb5165-rb5.dts;subdir=git/arch/arm64/boot/dts/qcom \
+ file://qrb5165-rb5-enable.patch \
+ file://0001-arm64-dts-qcom-sm8250-change-spmi-node-label.patch \
+ file://0001-arm64-dts-qcom-sm8250-add-I2C-and-SPI-nodes.patch \
+ file://0001-arm64-dts-qcom-sm8250-Add-USB-and-PHY-device-nodes.patch \
+ file://0001-arm64-dts-qcom-sm8250-Rename-UART2-node-to-UART12.patch \
+ file://0001-arm64-dts-qcom-sm8250-Add-support-for-SDC2.patch \
+"
+
LOCALVERSION ?= "-linaro-lt-qcom"
SRCBRANCH ?= "release/qcomlt-5.7"
-SRCREV ?= "209751f3ff3e1bde123f6d1261269ca85c1f838c"
+SRCREV ?= "21bb88052948b35bdce926f301f2ba7970040812"
-COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845)"
+COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845|sm8250)"
# Wifi firmware has a recognizable arch :(
ERROR_QA_remove = "arch"
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-wcd934x-Add-Codec-sequences.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-wcd934x-Add-Codec-sequences.patch
deleted file mode 100644
index d8bd3a3..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0001-ucm2-codecs-wcd934x-Add-Codec-sequences.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 816bd950c67f114068761cb311a8185cd2c3f6dd Mon Sep 17 00:00:00 2001
-From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Date: Mon, 1 Jun 2020 15:12:57 +0100
-Subject: [PATCH 1/4] ucm2: codecs: wcd934x: Add Codec sequences.
-
-Add WCD934x codec sequences to be used by other platforms like DB845c
-and Lenovo YOGA C630
-
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
----
- ucm2/codecs/wcd934x/DefaultDisableSeq.conf | 5 +++++
- ucm2/codecs/wcd934x/DefaultEnableSeq.conf | 14 ++++++++++++++
- ucm2/codecs/wcd934x/HeadphoneDisableSeq.conf | 6 ++++++
- ucm2/codecs/wcd934x/HeadphoneEnableSeq.conf | 6 ++++++
- ucm2/codecs/wcd934x/HeadphoneMicDisableSeq.conf | 2 ++
- ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.conf | 3 +++
- ucm2/codecs/wcd934x/SpeakerDisableSeq.conf | 4 ++++
- ucm2/codecs/wcd934x/SpeakerEnableSeq.conf | 4 ++++
- 8 files changed, 44 insertions(+)
- create mode 100644 ucm2/codecs/wcd934x/DefaultDisableSeq.conf
- create mode 100644 ucm2/codecs/wcd934x/DefaultEnableSeq.conf
- create mode 100644 ucm2/codecs/wcd934x/HeadphoneDisableSeq.conf
- create mode 100644 ucm2/codecs/wcd934x/HeadphoneEnableSeq.conf
- create mode 100644 ucm2/codecs/wcd934x/HeadphoneMicDisableSeq.conf
- create mode 100644 ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.conf
- create mode 100644 ucm2/codecs/wcd934x/SpeakerDisableSeq.conf
- create mode 100644 ucm2/codecs/wcd934x/SpeakerEnableSeq.conf
-
-diff --git a/ucm2/codecs/wcd934x/DefaultDisableSeq.conf b/ucm2/codecs/wcd934x/DefaultDisableSeq.conf
-new file mode 100644
-index 0000000..88d82a3
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/DefaultDisableSeq.conf
-@@ -0,0 +1,5 @@
-+cset "name='RX INT7_1 MIX1 INP0' ZERO"
-+cset "name='RX INT8_1 MIX1 INP0' ZERO"
-+cset "name='RX INT1_2 MUX' ZERO"
-+cset "name='RX INT2_2 MUX' ZERO"
-+cset "name='CDC_IF TX0 MUX' ZERO"
-diff --git a/ucm2/codecs/wcd934x/DefaultEnableSeq.conf b/ucm2/codecs/wcd934x/DefaultEnableSeq.conf
-new file mode 100644
-index 0000000..e5bdbbd
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/DefaultEnableSeq.conf
-@@ -0,0 +1,14 @@
-+cset "name='SLIM RX1 MUX' AIF1_PB"
-+cset "name='SLIM RX2 MUX' AIF1_PB"
-+cset "name='SLIM RX6 MUX' ZERO"
-+cset "name='SLIM RX7 MUX' ZERO"
-+cset "name='SLIM RX3 MUX' ZERO"
-+cset "name='SLIM RX4 MUX' ZERO"
-+cset "name='SLIM RX5 MUX' ZERO"
-+cset "name='AIF1_CAP Mixer SLIM TX0' 1"
-+
-+cset "name='RX INT7_1 MIX1 INP0' RX1"
-+cset "name='RX INT8_1 MIX1 INP0' RX2"
-+cset "name='RX INT1_2 MUX' RX1"
-+cset "name='RX INT2_2 MUX' RX2"
-+cset "name='CDC_IF TX0 MUX' DEC0"
-diff --git a/ucm2/codecs/wcd934x/HeadphoneDisableSeq.conf b/ucm2/codecs/wcd934x/HeadphoneDisableSeq.conf
-new file mode 100644
-index 0000000..0206e87
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/HeadphoneDisableSeq.conf
-@@ -0,0 +1,6 @@
-+cset "name='COMP1 Switch' 0"
-+cset "name='COMP2 Switch' 0"
-+cset "name='RX1 Digital Volume' 0"
-+cset "name='RX2 Digital Volume' 0"
-+cset "name='RX INT1 DEM MUX' ZERO"
-+cset "name='RX INT2 DEM MUX' ZERO"
-diff --git a/ucm2/codecs/wcd934x/HeadphoneEnableSeq.conf b/ucm2/codecs/wcd934x/HeadphoneEnableSeq.conf
-new file mode 100644
-index 0000000..5ce7950
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/HeadphoneEnableSeq.conf
-@@ -0,0 +1,6 @@
-+cset "name='COMP1 Switch' 1"
-+cset "name='COMP2 Switch' 1"
-+cset "name='RX INT1 DEM MUX' CLSH_DSM_OUT"
-+cset "name='RX INT2 DEM MUX' CLSH_DSM_OUT"
-+cset "name='RX1 Digital Volume' 68"
-+cset "name='RX2 Digital Volume' 68"
-diff --git a/ucm2/codecs/wcd934x/HeadphoneMicDisableSeq.conf b/ucm2/codecs/wcd934x/HeadphoneMicDisableSeq.conf
-new file mode 100644
-index 0000000..5558446
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/HeadphoneMicDisableSeq.conf
-@@ -0,0 +1,2 @@
-+cset "name='AMIC MUX0' ZERO"
-+cset "name='ADC2 Volume' 0"
-diff --git a/ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.conf b/ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.conf
-new file mode 100644
-index 0000000..ad43830
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/HeadphoneMicEnableSeq.conf
-@@ -0,0 +1,3 @@
-+cset "name='AMIC MUX0' ADC2"
-+cset "name='ADC2 Volume' 12"
-+cset "name='ADC MUX0' AMIC"
-diff --git a/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf b/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf
-new file mode 100644
-index 0000000..3c977c8
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/SpeakerDisableSeq.conf
-@@ -0,0 +1,4 @@
-+cset "name='RX7 Digital Volume' 0"
-+cset "name='RX8 Digital Volume' 0"
-+cset "name='COMP7 Switch' 0"
-+cset "name='COMP8 Switch' 0"
-diff --git a/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf b/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf
-new file mode 100644
-index 0000000..2d9a3d8
---- /dev/null
-+++ b/ucm2/codecs/wcd934x/SpeakerEnableSeq.conf
-@@ -0,0 +1,4 @@
-+cset "name='COMP7 Switch' 1"
-+cset "name='COMP8 Switch' 1"
-+cset "name='RX7 Digital Volume' 80"
-+cset "name='RX8 Digital Volume' 80"
---
-2.27.0.rc0
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-codecs-wsa881x-add-codec-sequences.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-codecs-wsa881x-add-codec-sequences.patch
deleted file mode 100644
index 6bdeeb9..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0002-ucm2-codecs-wsa881x-add-codec-sequences.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 81689f1b4b8b511cc51a7dee4a3151b6fcb8cd2c Mon Sep 17 00:00:00 2001
-From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Date: Mon, 1 Jun 2020 15:12:58 +0100
-Subject: [PATCH 2/4] ucm2: codecs: wsa881x: add codec sequences
-
-Add default, enable/disable codec sequence for wsa881x codec
-
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
----
- ucm2/codecs/wsa881x/DefaultEnableSeq.conf | 8 ++++++++
- ucm2/codecs/wsa881x/SpeakerDisableSeq.conf | 8 ++++++++
- ucm2/codecs/wsa881x/SpeakerEnableSeq.conf | 10 ++++++++++
- 3 files changed, 26 insertions(+)
- create mode 100644 ucm2/codecs/wsa881x/DefaultEnableSeq.conf
- create mode 100644 ucm2/codecs/wsa881x/SpeakerDisableSeq.conf
- create mode 100644 ucm2/codecs/wsa881x/SpeakerEnableSeq.conf
-
-diff --git a/ucm2/codecs/wsa881x/DefaultEnableSeq.conf b/ucm2/codecs/wsa881x/DefaultEnableSeq.conf
-new file mode 100644
-index 0000000..499342b
---- /dev/null
-+++ b/ucm2/codecs/wsa881x/DefaultEnableSeq.conf
-@@ -0,0 +1,8 @@
-+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"
-diff --git a/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf b/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf
-new file mode 100644
-index 0000000..9614422
---- /dev/null
-+++ b/ucm2/codecs/wsa881x/SpeakerDisableSeq.conf
-@@ -0,0 +1,8 @@
-+cset "name='SpkrLeft COMP Switch' 0"
-+cset "name='SpkrLeft BOOST Switch' 0"
-+cset "name='SpkrLeft DAC Switch' 0"
-+cset "name='SpkrLeft VISENSE Switch' 0"
-+cset "name='SpkrRight COMP Switch' 0"
-+cset "name='SpkrRight BOOST Switch' 0"
-+cset "name='SpkrRight DAC Switch' 0"
-+cset "name='SpkrRight VISENSE Switch' 0"
-diff --git a/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf b/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf
-new file mode 100644
-index 0000000..31c27f3
---- /dev/null
-+++ b/ucm2/codecs/wsa881x/SpeakerEnableSeq.conf
-@@ -0,0 +1,10 @@
-+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='SpkrLeft PA Volume' 12"
-+cset "name='SpkrRight COMP Switch' 1"
-+cset "name='SpkrRight BOOST Switch' 1"
-+cset "name='SpkrRight DAC Switch' 1"
-+cset "name='SpkrRight VISENSE Switch' 0"
-+cset "name='SpkrRight PA Volume' 12"
---
-2.27.0.rc0
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm2-DB845c-Add-ucm-for-DB845c-board.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm2-DB845c-Add-ucm-for-DB845c-board.patch
deleted file mode 100644
index caa6741..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0003-ucm2-DB845c-Add-ucm-for-DB845c-board.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From b225c35639a76b07f90c4bc310b9d4c057d8ae42 Mon Sep 17 00:00:00 2001
-From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Date: Mon, 1 Jun 2020 15:12:59 +0100
-Subject: [PATCH 3/4] ucm2: DB845c: Add ucm for DB845c board
-
-DB845c board by default has two WSA881x speakers and HDMI
-audio connections.
-
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
----
- ucm2/DB845c/DB845c.conf | 11 ++++++++++
- ucm2/DB845c/HDMI.conf | 33 +++++++++++++++++++++++++++++
- ucm2/DB845c/HiFi.conf | 46 +++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 90 insertions(+)
- create mode 100644 ucm2/DB845c/DB845c.conf
- create mode 100644 ucm2/DB845c/HDMI.conf
- create mode 100644 ucm2/DB845c/HiFi.conf
-
-diff --git a/ucm2/DB845c/DB845c.conf b/ucm2/DB845c/DB845c.conf
-new file mode 100644
-index 0000000..bfd1ee5
---- /dev/null
-+++ b/ucm2/DB845c/DB845c.conf
-@@ -0,0 +1,11 @@
-+Syntax 2
-+
-+SectionUseCase."HiFi" {
-+ File "HiFi.conf"
-+ Comment "HiFi quality Music."
-+}
-+
-+SectionUseCase."HDMI" {
-+ File "HDMI.conf"
-+ Comment "HDMI output."
-+}
-diff --git a/ucm2/DB845c/HDMI.conf b/ucm2/DB845c/HDMI.conf
-new file mode 100644
-index 0000000..fe1045c
---- /dev/null
-+++ b/ucm2/DB845c/HDMI.conf
-@@ -0,0 +1,33 @@
-+# Use case configuration for DB845c board.
-+# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-+
-+SectionVerb {
-+ EnableSequence [
-+ cdev "hw:${CardId}"
-+ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1"
-+ ]
-+
-+ DisableSequence [
-+ cdev "hw:${CardId}"
-+ cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0"
-+ ]
-+ Value {
-+ TQ "HiFi"
-+ PlaybackPCM "hw:${CardId}"
-+ }
-+}
-+
-+SectionDevice."HDMI-stereo" {
-+ #Name "HDMI-stereo"
-+ Comment "HDMI Digital Stereo Output"
-+
-+ EnableSequence [
-+ ]
-+
-+ DisableSequence [
-+ ]
-+
-+ Value {
-+ PlaybackPriority 200
-+ }
-+}
-diff --git a/ucm2/DB845c/HiFi.conf b/ucm2/DB845c/HiFi.conf
-new file mode 100644
-index 0000000..f88e8ec
---- /dev/null
-+++ b/ucm2/DB845c/HiFi.conf
-@@ -0,0 +1,46 @@
-+# Use case configuration for DB845c.
-+# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-+
-+SectionVerb {
-+
-+ EnableSequence [
-+ cdev "hw:${CardId}"
-+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1"
-+
-+ <codecs/wcd934x/DefaultEnableSeq.conf>
-+ <codecs/wsa881x/DefaultEnableSeq.conf>
-+ ]
-+
-+ DisableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wcd934x/DefaultDisableSeq.conf>
-+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0"
-+ ]
-+
-+ Value {
-+ TQ "HiFi"
-+ }
-+}
-+
-+SectionDevice."Speaker" {
-+ Comment "Speaker playback"
-+
-+ EnableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wcd934x/SpeakerEnableSeq.conf>
-+ <codecs/wsa881x/SpeakerEnableSeq.conf>
-+ ]
-+
-+ DisableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wsa881x/SpeakerDisableSeq.conf>
-+ <codecs/wcd934x/SpeakerDisableSeq.conf>
-+ ]
-+
-+ Value {
-+ PlaybackPriority 100
-+ PlaybackPCM "hw:${CardId},1"
-+ PlaybackVolume "RX1 Digital Volume"
-+ PlaybackVolume "RX2 Digital Volume"
-+ }
-+}
---
-2.27.0.rc0
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0004-ucm2-Add-ucm-for-Lenovo-YOGA-C630-13Q50-laptop.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0004-ucm2-Add-ucm-for-Lenovo-YOGA-C630-13Q50-laptop.patch
deleted file mode 100644
index c415af7..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0004-ucm2-Add-ucm-for-Lenovo-YOGA-C630-13Q50-laptop.patch
+++ /dev/null
@@ -1,135 +0,0 @@
-From 0c817e5a484960787d4cf46ba18cfcbca40ff8b2 Mon Sep 17 00:00:00 2001
-From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Date: Mon, 1 Jun 2020 15:13:00 +0100
-Subject: [PATCH 4/4] ucm2: Add ucm for Lenovo-YOGA-C630-13Q50 laptop
-
-This laptop has by 2 WSA Smart speakers over Soundwire and 3.5mm
-headset audio connection.
-
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
----
- ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf | 98 +++++++++++++++++++
- .../Lenovo-YOGA-C630-13Q50.conf | 6 ++
- 2 files changed, 104 insertions(+)
- create mode 100644 ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf
- create mode 100644 ucm2/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf
-
-diff --git a/ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf b/ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf
-new file mode 100644
-index 0000000..0bd68f0
---- /dev/null
-+++ b/ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf
-@@ -0,0 +1,98 @@
-+# Use case configuration for LenovoYOGAC6301.
-+# Author: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-+
-+SectionVerb {
-+
-+ EnableSequence [
-+ cdev "hw:${CardId}"
-+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
-+ cset "name='MultiMedia2 Mixer SLIMBUS_0_TX' 1"
-+
-+ <codecs/wcd934x/DefaultEnableSeq.conf>
-+ <codecs/wsa881x/DefaultEnableSeq.conf>
-+ ]
-+
-+ DisableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wcd934x/DefaultDisableSeq.conf>
-+ cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
-+ cset "name='MultiMedia2 Mixer SLIMBUS_0_TX' 0"
-+ ]
-+
-+ Value {
-+ TQ "HiFi"
-+ }
-+}
-+
-+SectionDevice."Speaker" {
-+ Comment "Speaker playback"
-+
-+ ConflictingDevice [
-+ "Headphones"
-+ ]
-+
-+
-+ EnableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wcd934x/SpeakerEnableSeq.conf>
-+ <codecs/wsa881x/SpeakerEnableSeq.conf>
-+ ]
-+
-+ DisableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wsa881x/SpeakerDisableSeq.conf>
-+ <codecs/wcd934x/SpeakerDisableSeq.conf>
-+ ]
-+
-+ Value {
-+ PlaybackPriority 100
-+ PlaybackPCM "hw:${CardId}"
-+ PlaybackVolume "RX7 Digital Volume"
-+ PlaybackVolume "RX8 Digital Volume"
-+ }
-+}
-+
-+SectionDevice."Headphones" {
-+ Comment "Headphones playback"
-+
-+ ConflictingDevice [
-+ "Speaker"
-+ ]
-+
-+ EnableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wcd934x/HeadphoneEnableSeq.conf>
-+ ]
-+
-+ DisableSequence [
-+ cdev "hw:${CardId}"
-+ <codecs/wcd934x/HeadphoneDisableSeq.conf>
-+ ]
-+
-+ Value {
-+ PlaybackPriority 200
-+ PlaybackPCM "hw:${CardId}"
-+ PlaybackVolume "RX1 Digital Volume"
-+ PlaybackVolume "RX2 Digital Volume"
-+ }
-+}
-+
-+SectionDevice."Mic" {
-+ Comment "Mic"
-+
-+ EnableSequence [
-+ <codecs/wcd934x/HeadphoneMicEnableSeq.conf>
-+ ]
-+
-+ DisableSequence [
-+ <codecs/wcd934x/HeadphoneMicDisableSeq.conf>
-+ cset "name='AMIC MUX0' ZERO"
-+ cset "name='ADC2 Volume' 0"
-+ ]
-+
-+ Value {
-+ CapturePriority 100
-+ CapturePCM "hw:${CardId},1"
-+ CaptureVolume "ADC2 Volume"
-+ }
-+}
-diff --git a/ucm2/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf b/ucm2/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf
-new file mode 100644
-index 0000000..114466a
---- /dev/null
-+++ b/ucm2/Lenovo-YOGA-C630-13Q50/Lenovo-YOGA-C630-13Q50.conf
-@@ -0,0 +1,6 @@
-+Syntax 2
-+
-+SectionUseCase."HiFi" {
-+ File "HiFi.conf"
-+ Comment "HiFi Music."
-+}
---
-2.27.0.rc0
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0005-ucm2-Lenovo-YOGA-C630-remove-cdev-which-is-already-p.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0005-ucm2-Lenovo-YOGA-C630-remove-cdev-which-is-already-p.patch
deleted file mode 100644
index 56682a3..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0005-ucm2-Lenovo-YOGA-C630-remove-cdev-which-is-already-p.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 9353445dab6c863dd031161fa37009e4bba31821 Mon Sep 17 00:00:00 2001
-From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Date: Mon, 1 Jun 2020 17:20:26 +0100
-Subject: [PATCH 5/6] ucm2: Lenovo-YOGA-C630: remove cdev which is already
- present in ucm2
-
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
----
- ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf b/ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf
-index 0bd68f0..39e91f4 100644
---- a/ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf
-+++ b/ucm2/Lenovo-YOGA-C630-13Q50/HiFi.conf
-@@ -4,7 +4,6 @@
- SectionVerb {
-
- EnableSequence [
-- cdev "hw:${CardId}"
- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 1"
- cset "name='MultiMedia2 Mixer SLIMBUS_0_TX' 1"
-
-@@ -13,7 +12,6 @@ SectionVerb {
- ]
-
- DisableSequence [
-- cdev "hw:${CardId}"
- <codecs/wcd934x/DefaultDisableSeq.conf>
- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia1' 0"
- cset "name='MultiMedia2 Mixer SLIMBUS_0_TX' 0"
-@@ -33,13 +31,11 @@ SectionDevice."Speaker" {
-
-
- EnableSequence [
-- cdev "hw:${CardId}"
- <codecs/wcd934x/SpeakerEnableSeq.conf>
- <codecs/wsa881x/SpeakerEnableSeq.conf>
- ]
-
- DisableSequence [
-- cdev "hw:${CardId}"
- <codecs/wsa881x/SpeakerDisableSeq.conf>
- <codecs/wcd934x/SpeakerDisableSeq.conf>
- ]
-@@ -60,12 +56,10 @@ SectionDevice."Headphones" {
- ]
-
- EnableSequence [
-- cdev "hw:${CardId}"
- <codecs/wcd934x/HeadphoneEnableSeq.conf>
- ]
-
- DisableSequence [
-- cdev "hw:${CardId}"
- <codecs/wcd934x/HeadphoneDisableSeq.conf>
- ]
-
---
-2.27.0.rc0
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0006-ucm2-DB845c-remove-cdev-which-is-already-present-in-.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0006-ucm2-DB845c-remove-cdev-which-is-already-present-in-.patch
deleted file mode 100644
index 6ed85d4..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0006-ucm2-DB845c-remove-cdev-which-is-already-present-in-.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 604914c07ffb10946711c2e5ca95d3a9bb6ad399 Mon Sep 17 00:00:00 2001
-From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Date: Mon, 1 Jun 2020 17:20:25 +0100
-Subject: [PATCH 6/6] ucm2: DB845c: remove cdev which is already present in
- ucm2
-
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
----
- ucm2/DB845c/HDMI.conf | 2 --
- ucm2/DB845c/HiFi.conf | 4 ----
- 2 files changed, 6 deletions(-)
-
-diff --git a/ucm2/DB845c/HDMI.conf b/ucm2/DB845c/HDMI.conf
-index fe1045c..5a0a933 100644
---- a/ucm2/DB845c/HDMI.conf
-+++ b/ucm2/DB845c/HDMI.conf
-@@ -3,12 +3,10 @@
-
- SectionVerb {
- EnableSequence [
-- cdev "hw:${CardId}"
- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 1"
- ]
-
- DisableSequence [
-- cdev "hw:${CardId}"
- cset "name='QUAT_MI2S_RX Audio Mixer MultiMedia1' 0"
- ]
- Value {
-diff --git a/ucm2/DB845c/HiFi.conf b/ucm2/DB845c/HiFi.conf
-index f88e8ec..ef7c341 100644
---- a/ucm2/DB845c/HiFi.conf
-+++ b/ucm2/DB845c/HiFi.conf
-@@ -4,7 +4,6 @@
- SectionVerb {
-
- EnableSequence [
-- cdev "hw:${CardId}"
- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 1"
-
- <codecs/wcd934x/DefaultEnableSeq.conf>
-@@ -12,7 +11,6 @@ SectionVerb {
- ]
-
- DisableSequence [
-- cdev "hw:${CardId}"
- <codecs/wcd934x/DefaultDisableSeq.conf>
- cset "name='SLIMBUS_0_RX Audio Mixer MultiMedia2' 0"
- ]
-@@ -26,13 +24,11 @@ SectionDevice."Speaker" {
- Comment "Speaker playback"
-
- EnableSequence [
-- cdev "hw:${CardId}"
- <codecs/wcd934x/SpeakerEnableSeq.conf>
- <codecs/wsa881x/SpeakerEnableSeq.conf>
- ]
-
- DisableSequence [
-- cdev "hw:${CardId}"
- <codecs/wsa881x/SpeakerDisableSeq.conf>
- <codecs/wcd934x/SpeakerDisableSeq.conf>
- ]
---
-2.27.0.rc0
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-DB845c-HDMI-update-cdev-to-correct-value.patch b/recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-DB845c-HDMI-update-cdev-to-correct-value.patch
deleted file mode 100644
index b148078..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf/0007-ucm2-DB845c-HDMI-update-cdev-to-correct-value.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 1448e9df35c7773e197c868a9463e9edfc7b1998 Mon Sep 17 00:00:00 2001
-From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
-Date: Tue, 2 Jun 2020 10:23:54 +0100
-Subject: [PATCH 7/7] ucm2: DB845c: HDMI: update cdev to correct value
-
-Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
----
- ucm2/DB845c/HDMI.conf | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ucm2/DB845c/HDMI.conf b/ucm2/DB845c/HDMI.conf
-index 5a0a933..c233cef 100644
---- a/ucm2/DB845c/HDMI.conf
-+++ b/ucm2/DB845c/HDMI.conf
-@@ -11,7 +11,6 @@ SectionVerb {
- ]
- Value {
- TQ "HiFi"
-- PlaybackPCM "hw:${CardId}"
- }
- }
-
-@@ -26,6 +25,7 @@ SectionDevice."HDMI-stereo" {
- ]
-
- Value {
-+ PlaybackPCM "hw:${CardId},0"
- PlaybackPriority 200
- }
- }
---
-2.27.0.rc0
-
diff --git a/recipes-multimedia/alsa/alsa-ucm-conf_1.2.%.bbappend b/recipes-multimedia/alsa/alsa-ucm-conf_1.2.%.bbappend
deleted file mode 100644
index 0c346e4..0000000
--- a/recipes-multimedia/alsa/alsa-ucm-conf_1.2.%.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-
-SRC_URI_append_sdm845 = " \
- file://0001-ucm2-codecs-wcd934x-Add-Codec-sequences.patch \
- file://0002-ucm2-codecs-wsa881x-add-codec-sequences.patch \
- file://0003-ucm2-DB845c-Add-ucm-for-DB845c-board.patch \
- file://0004-ucm2-Add-ucm-for-Lenovo-YOGA-C630-13Q50-laptop.patch \
- file://0005-ucm2-Lenovo-YOGA-C630-remove-cdev-which-is-already-p.patch \
- file://0006-ucm2-DB845c-remove-cdev-which-is-already-present-in-.patch \
- file://0007-ucm2-DB845c-HDMI-update-cdev-to-correct-value.patch \
-"