aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/premerge.yml16
-rw-r--r--.github/workflows/push.yml21
-rw-r--r--README.md17
-rw-r--r--conf/machine/dragonboard-820c.conf1
-rw-r--r--conf/machine/include/qcom-common.inc8
-rw-r--r--conf/machine/include/qcom-sa8155p.inc14
-rw-r--r--conf/machine/qcom-armv7a.conf38
-rw-r--r--conf/machine/qcom-armv8a.conf5
-rw-r--r--conf/machine/qrb5165-rb5.conf7
-rw-r--r--conf/machine/sa8155p-adp.conf24
-rw-r--r--dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend5
-rw-r--r--dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend3
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc36
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb37
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb15
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb4
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb14
-rw-r--r--recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb30
-rw-r--r--recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb2
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb19
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh21
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service11
-rw-r--r--recipes-devtools/skales/skales_git.bb4
-rw-r--r--recipes-kernel/images/initramfs-rootfs-image.bb26
-rw-r--r--recipes-kernel/linux/linux-linaro-qcom.inc36
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-dev.bb22
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch46
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb11
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb6
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb6
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb11
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb13
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb9
-rw-r--r--recipes-kernel/linux/linux-qcom-bootimg.inc50
-rw-r--r--recipes-rt/rt-tests/rt-tests_%.bbappend17
-rw-r--r--recipes-support/fastrpc/fastrpc_git.bb4
-rw-r--r--recipes-support/initrdscripts/files/copy-modules.sh17
-rw-r--r--recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb15
-rw-r--r--recipes-support/rmtfs/rmtfs_git.bb2
-rw-r--r--recipes-test/images/initramfs-kerneltest-full-image.bb3
-rw-r--r--recipes-test/images/initramfs-kerneltest-image.bb3
-rw-r--r--recipes-test/images/initramfs-test-full-image.bb70
-rw-r--r--recipes-test/images/initramfs-test-image.bb53
-rw-r--r--recipes-test/images/initramfs-tiny-image.bb35
44 files changed, 547 insertions, 260 deletions
diff --git a/.github/workflows/premerge.yml b/.github/workflows/premerge.yml
new file mode 100644
index 0000000..471bc9a
--- /dev/null
+++ b/.github/workflows/premerge.yml
@@ -0,0 +1,16 @@
+name: PR build
+
+on:
+ pull_request_target:
+
+jobs:
+ build:
+ uses: ndechesne/meta-qcom/.github/workflows/build-template.yml@master
+ with:
+ host: ubuntu-20.04
+ images: core-image-base core-image-weston core-image-x11 initramfs-test-image initramfs-test-full-image cryptodev-module
+ machines: dragonboard-410c dragonboard-845c qrb5165-rb5 qcom-armv8a sa8155p-adp
+ ref: refs/pull/${{github.event.pull_request.number}}/merge
+ branch: ${{github.base_ref}}
+ url: ${{github.server_url}}/${{github.repository}}
+ secrets: inherit
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
new file mode 100644
index 0000000..8c69c5d
--- /dev/null
+++ b/.github/workflows/push.yml
@@ -0,0 +1,21 @@
+name: Push build
+
+on:
+ push:
+ branches:
+ - master
+ - honister
+ - dunfell
+
+jobs:
+ build:
+ uses: ndechesne/meta-qcom/.github/workflows/build-template.yml@master
+ with:
+ host: ubuntu-20.04
+ images: core-image-base core-image-weston core-image-x11 initramfs-test-image initramfs-test-full-image cryptodev-module
+ machines: dragonboard-410c dragonboard-845c qrb5165-rb5 qcom-armv8a sa8155p-adp
+ ref: ${{github.sha}}
+ ref_type: sha
+ branch: ${{github.ref_name}}
+ url: ${{github.server_url}}/${{github.repository}}
+ secrets: inherit
diff --git a/README.md b/README.md
index 5702186..8bf3173 100644
--- a/README.md
+++ b/README.md
@@ -30,25 +30,14 @@ for the implementation details.
## Contributing
If you want to contribute changes, you can send Github pull requests at
-https://github.com/ndechesne/meta-qcom/pulls.
-
-Alternatively you can send patches to openembedded@lists.linaro.org, in which
-case, please:
-
-* When creating patches, please use something like:
-
-`git format-patch -s --subject-prefix='meta-qcom][PATCH' origin`
-
-* When sending patches, please use something like:
-
-`git send-email --to openembedded@lists.linaro.org <generated patch>`
+https://github.com/Linaro/meta-qcom/pulls.
You can discuss about this layer, on `#linaro` on FreeNode IRC network.
## Reporting issues
-Please report any issue on https://github.com/ndechesne/meta-qcom/issues
+Please report any issue on https://github.com/Linaro/meta-qcom/issues
## Maintainer(s)
-Nicolas Dechesne <nicolas.dechesne@linaro.org>
+Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff --git a/conf/machine/dragonboard-820c.conf b/conf/machine/dragonboard-820c.conf
index ed61911..b36d148 100644
--- a/conf/machine/dragonboard-820c.conf
+++ b/conf/machine/dragonboard-820c.conf
@@ -16,6 +16,7 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a530 mesa-driver-msm', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
linux-firmware-qcom-venus-4.2 \
"
diff --git a/conf/machine/include/qcom-common.inc b/conf/machine/include/qcom-common.inc
index fd86574..18b9ce7 100644
--- a/conf/machine/include/qcom-common.inc
+++ b/conf/machine/include/qcom-common.inc
@@ -31,3 +31,11 @@ IMAGE_ROOTFS_ALIGNMENT ?= "4096"
# Android boot image settings
QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000"
QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
+
+# Default serial console for QCOM devices
+SERIAL_CONSOLES ?= "115200;ttyMSM0"
+
+# Increase INITRAMFS_MAXSIZE to 384 MiB to cover initramfs-kerneltest-full
+# image. All our boards (except db410c) have 2GiB and db410c has 1GiB of RAM,
+# so this image would fit.
+INITRAMFS_MAXSIZE = "393216"
diff --git a/conf/machine/include/qcom-sa8155p.inc b/conf/machine/include/qcom-sa8155p.inc
new file mode 100644
index 0000000..b3b521e
--- /dev/null
+++ b/conf/machine/include/qcom-sa8155p.inc
@@ -0,0 +1,14 @@
+SOC_FAMILY = "sa8155p"
+require conf/machine/include/qcom-common.inc
+require conf/machine/include/arm/arch-armv8a.inc
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ pd-mapper \
+ qrtr \
+ rmtfs \
+ tqftpserv \
+"
+
+MACHINE_EXTRA_RRECOMMENDS += " \
+ fastrpc \
+"
diff --git a/conf/machine/qcom-armv7a.conf b/conf/machine/qcom-armv7a.conf
new file mode 100644
index 0000000..d71e366
--- /dev/null
+++ b/conf/machine/qcom-armv7a.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: Qualcomm Snapdragon ARMv7-a (with Krait cores)
+#@DESCRIPTION: Unified 32-bit machine configuration for the devices with Qualcomm Snapdragon ARMv7-a based CPUs (S4 and later)
+#
+# Note: This machine targets Snapdragon S4 Plus/Pro/Prime and early (32-bit
+# ARM) models of Snapdragon 400/600/800 series SoCs. It will most probably
+# work on Snapdragon S4 (MSM8x25, Cortex-A5 with VFPv4) or on 32-bit IPQ SoCs
+#
+# Do not use this machine for SDXnn modems or for Snapdragon S1/S2/S3.
+
+require conf/machine/include/qcom-common.inc
+
+# Krait is not Cortex-A15, but its features are close enough
+DEFAULTTUNE = "cortexa15thf-neon-vfpv4"
+require conf/machine/include/tune-cortexa15.inc
+
+# Android boot image settings
+QCOM_BOOTIMG_PAGE_SIZE = "2048"
+
+MACHINE_FEATURES = "alsa screen alsa bluetooth ext2 ext3 opengl usb usbhost usbgadget"
+
+KERNEL_IMAGETYPE ?= "zImage"
+KERNEL_DEVICETREE ?= " \
+ qcom-apq8064-asus-nexus7-flo.dtb \
+ qcom-apq8064-ifc6410.dtb \
+ qcom-apq8084-ifc6540.dtb \
+ qcom-msm8974-lge-nexus5-hammerhead.dtb \
+ qcom-msm8974-sony-xperia-castor.dtb \
+"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wireless-regdb-static', '', d)} \
+"
+
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+
+QCOM_BOOTIMG_ROOTFS ?= "PARTLABEL=userdata"
diff --git a/conf/machine/qcom-armv8a.conf b/conf/machine/qcom-armv8a.conf
index 58c9719..54ab0cd 100644
--- a/conf/machine/qcom-armv8a.conf
+++ b/conf/machine/qcom-armv8a.conf
@@ -40,8 +40,11 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca linux-firmware-qcom-sdm845-modem', '', d)} \
linux-firmware-qcom-sdm845-audio \
linux-firmware-qcom-sdm845-compute \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a3xx linux-firmware-qcom-adreno-a530 linux-firmware-qcom-adreno-a630', '', d)} \
+ linux-firmware-qcom-sm8250-audio \
+ linux-firmware-qcom-sm8250-compute \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a3xx linux-firmware-qcom-adreno-a530 linux-firmware-qcom-adreno-a630 linux-firmware-qcom-adreno-a650', '', d)} \
linux-firmware-qcom-venus-1.8 \
linux-firmware-qcom-venus-4.2 \
linux-firmware-qcom-venus-5.2 \
+ linux-firmware-qcom-vpu-1.0 \
"
diff --git a/conf/machine/qrb5165-rb5.conf b/conf/machine/qrb5165-rb5.conf
index f261075..b27de12 100644
--- a/conf/machine/qrb5165-rb5.conf
+++ b/conf/machine/qrb5165-rb5.conf
@@ -15,12 +15,13 @@ SERIAL_CONSOLE ?= "115200 ttyMSM0"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
firmware-qcom-rb5 linux-firmware-lt9611uxc \
- lt9611uxc-upgrade \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k wireless-regdb-static', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ linux-firmware-qcom-sm8250-audio \
+ linux-firmware-qcom-sm8250-compute \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a650 mesa-driver-msm', '', d)} \
+ linux-firmware-qcom-vpu-1.0 \
"
-# linux-firmware-qcom-adreno-a650
# /dev/sda1 is 'rootfs' partition after installing the latest bootloader package from linaro
QCOM_BOOTIMG_ROOTFS ?= "/dev/sda1"
diff --git a/conf/machine/sa8155p-adp.conf b/conf/machine/sa8155p-adp.conf
new file mode 100644
index 0000000..19734d9
--- /dev/null
+++ b/conf/machine/sa8155p-adp.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: SA8155P-ADP
+#@DESCRIPTION: Machine configuration for the SA8155P-ADP (and IOT v2) development board, with Qualcomm Snapdragon SA8155p.
+
+require conf/machine/include/qcom-sa8155p.inc
+
+MACHINE_FEATURES = "usbhost usbgadget ext2"
+
+KERNEL_IMAGETYPE ?= "Image.gz"
+KERNEL_DEVICETREE ?= "qcom/sa8155p-adp.dtb qcom/sa8155p-iot-v2-adp.dtb"
+
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ kernel-modules \
+"
+
+# /dev/sda6 is 'system' partition for adp board, but its very small, so we
+# use 'userdata' partition here.
+# /dev/sda9 is 'userdata' partition for adp board, so wipe it and use for our build
+QCOM_BOOTIMG_ROOTFS ?= "/dev/sda9"
+
+# UFS partitions setup with 4096 logical sector size
+EXTRA_IMAGECMD:ext4 += " -b 4096 "
diff --git a/dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend b/dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend
deleted file mode 100644
index bd946f8..0000000
--- a/dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-PACKAGE_INSTALL += " \
- iperf2 \
- iperf3 \
- tcpdump \
-"
diff --git a/dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend b/dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend
deleted file mode 100644
index 16f4e3c..0000000
--- a/dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-PACKAGE_INSTALL += " \
- devmem2 \
-"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc b/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
new file mode 100644
index 0000000..d8361f3
--- /dev/null
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
@@ -0,0 +1,36 @@
+DESCRIPTION = "QCOM Firmware for DragonBoard 410c"
+
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4d087ee0965cb059f1b2f9429e166f64"
+
+DEPENDS += "mtools-native"
+
+inherit allarch
+
+S = "${WORKDIR}/linux-board-support-package-r${PV}"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/
+
+ install -d ${D}/boot
+ cp ./efs-seed/fs_image_linux.tar.gz.mbn.img ${D}/boot/modem_fsg
+
+ cp -r ./proprietary-linux/wlan ${D}${nonarch_base_libdir}/firmware/
+
+ install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
+ MTOOLS_SKIP_CHECK=1 mcopy -i ./bootloaders-linux/NON-HLOS.bin \
+ ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
+
+ install -d ${D}${sysconfdir}/
+ install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
+}
+
+FILES_${PN} += "/boot/modem_fsg"
+FILES_${PN} += "${nonarch_base_libdir}/firmware/wlan/*"
+FILES_${PN} += "${nonarch_base_libdir}/firmware/qcom/msm8916/*"
+
+INSANE_SKIP_${PN} += "arch"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb
index 7ea3a7d..6f188bc 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb
@@ -1,40 +1,5 @@
-DESCRIPTION = "QCOM Firmware for DragonBoard 410c"
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4d087ee0965cb059f1b2f9429e166f64"
+require recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
SRC_URI = "http://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/linux-board-support-package-r${PV}.zip"
SRC_URI[md5sum] = "25c241bfd5fb2e55e8185752d5fe92ce"
SRC_URI[sha256sum] = "46953b974c5c58c7ca66db414437c0268b033ac9d28127e98d9c4e1a49359da5"
-
-DEPENDS += "mtools-native"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-S = "${WORKDIR}/linux-board-support-package-r${PV}"
-
-do_compile() {
- :
-}
-
-do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/
-
- install -d ${D}/boot
- cp ./efs-seed/fs_image_linux.tar.gz.mbn.img ${D}/boot/modem_fsg
-
- cp -r ./proprietary-linux/wlan ${D}${nonarch_base_libdir}/firmware/
-
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
- MTOOLS_SKIP_CHECK=1 mcopy -i ./bootloaders-linux/NON-HLOS.bin \
- ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
-
- install -d ${D}${sysconfdir}/
- install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
-}
-
-FILES_${PN} += "/boot/modem_fsg"
-FILES_${PN} += "${nonarch_base_libdir}/firmware/wlan/*"
-FILES_${PN} += "${nonarch_base_libdir}/firmware/qcom/msm8916/*"
-
-INSANE_SKIP_${PN} += "arch"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb
new file mode 100644
index 0000000..194c3e5
--- /dev/null
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb
@@ -0,0 +1,15 @@
+# This firmware is not released for redistribution, however it can be
+# downloaded from https://developer.qualcomm.com/hardware/dragonboard-410c
+#
+# Add the following line to local.conf to use it:
+# PREFERRED_VERSION_firmware-qcom-dragonboard410c = "1036.1"
+# You have to manually put the downloaded file into ${DL_DIR}
+
+require recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
+
+SRC_URI = '${@oe.utils.conditional("PREFERRED_VERSION_firmware-qcom-dragonboard410c", "1036.1", "file://dragonboard_410c.zip.1.0-r1036.1.zip", "", d)}'
+SRC_URI[md5sum] = "3092fccf7a97fa319d7732a98425f9d4"
+SRC_URI[sha256sum] = "93070f58fa3aa6467baa881935c37c4da2df2a8af3248746931ce3d11a3a1200"
+
+# This should not be selected by default as the firmware archive is behind the accept&click wall.
+DEFAULT_PREFERENCE = "-1"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
index 494db0d..bb0d9b6 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
@@ -7,7 +7,7 @@ SRC_URI = "https://releases.linaro.org/96boards/dragonboard820c/qualcomm/firmwar
SRC_URI[md5sum] = "587138c5e677342db9a88d5c8747ec6c"
SRC_URI[sha256sum] = "6ee9c461b2b5dd2d3bd705bb5ea3f44b319ecb909b2772f305ce12439e089cd9"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit allarch
S = "${WORKDIR}/linux-board-support-package-r${PV}"
@@ -21,6 +21,8 @@ do_install() {
install -m 0444 ./proprietary-linux/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/
+ install -m 0444 ./bootloaders-linux/adspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/
+
install -d ${D}${sysconfdir}/
install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
}
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
index dd03753..9011f87 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
@@ -7,28 +7,18 @@ SRC_URI = "https://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmwar
SRC_URI[md5sum] = "ad69855a1275547b16d94a1b5405ac62"
SRC_URI[sha256sum] = "4289d2f2a7124b104d0274879e702aae9b1e50c42eec3747f8584c6744ef65e3"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-DEPENDS += "qca-swiss-army-knife-native"
-inherit python3native
-
-do_compile() {
- # Build board-2.bin needed by WiFi
- ath10k-generate-board-2_json.sh ./38-bdwlan_split board-2.json
- python3 "${STAGING_BINDIR_NATIVE}/ath10k-bdencoder" -c board-2.json -o board-2.bin
-}
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/
install -d ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
+ install -m 0444 ./08-dspso/dspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
+
install -m 0444 ./17-USB3-201-202-FW/K2026090.mem ${D}${nonarch_base_libdir}/firmware/renesas_usb_fw.mem
install -m 0444 ./18-adreno-fw/a630_zap*.* ${D}${nonarch_base_libdir}/firmware/qcom/
install -m 0444 ./20-adsp_split/firmware/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
install -m 0444 ./21-cdsp_split/firmware/cdsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
- install -d ${D}${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/
- install -m 0444 ./board-2.bin ${D}${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/
-
install -d ${D}${sysconfdir}/
install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
}
diff --git a/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb b/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
index 428a904..8cafe7f 100644
--- a/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
+++ b/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
@@ -1,9 +1,3 @@
-# Provide base URI of NHLOS_Binaries.zip and adreno_1.0_qrb5165_rb5.tar.gz
-# files. Use "file://" if those files are copied into
-# recipes-bsp/firmware/files/ directory.
-# NHLOS_URI ?= "file://"
-# ADRENO_URI ?= "file://"
-
DESCRIPTION = "QCOM Firmware for Qualcomm Robotics RB5 platform"
LICENSE = "Proprietary"
@@ -22,9 +16,7 @@ PE = "1"
DEPENDS += "qca-swiss-army-knife-native"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-VENUS_FW = "vpu-1.0"
+inherit allarch
do_compile() {
# Build board-2.bin needed by WiFi
@@ -35,18 +27,10 @@ do_compile() {
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 ./18-adreno-fw/a650_gmu.bin ${D}${nonarch_base_libdir}/firmware/qcom
- install -m 0444 ./18-adreno-fw/a650_sqe.fw ${D}${nonarch_base_libdir}/firmware/qcom
- install -m 0444 ./18-adreno-fw/a650_zap.elf ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/a650_zap.mbn
+ install -m 0444 ./08-dspso/dspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 ./20-adsp_split/adsp.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
- install -m 0444 ./21-cdsp_split/cdsp.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
install -m 0444 ./30-slpi_split/slpi.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
-
- install -m 0444 ./39-jsn/*.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
-
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/${VENUS_FW}
- install -m 0444 ./33-venus_split/venus.b* ./33-venus_split/venus.mdt ${D}${nonarch_base_libdir}/firmware/qcom/${VENUS_FW}
+ install -m 0444 ./39-jsn/slpi*.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
install -d ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/
install -m 0444 ${S}/board-2.bin ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/board-2.bin
@@ -61,14 +45,6 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_DEFAULT_DEPS = "1"
-RPROVIDES_${PN} += "linux-firmware-qcom-adreno-a650"
-RREPLACES_${PN} += "linux-firmware-qcom-adreno-a650"
-RCONFLICTS_${PN} += "linux-firmware-qcom-adreno-a650"
-
-RPROVIDES_${PN} += "linux-firmware-qcom-${VENUS_FW}"
-RREPLACES_${PN} += "linux-firmware-qcom-${VENUS_FW}"
-RCONFLICTS_${PN} += "linux-firmware-qcom-${VENUS_FW}"
-
inherit update-alternatives
ALTERNATIVE_${PN} = "qca6390-board2"
diff --git a/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb b/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb
index 791f781..a3af887 100644
--- a/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb
+++ b/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb
@@ -7,7 +7,7 @@ SRC_URI = "https://eragon.einfochips.com/pub/media/datasheet/SD_600eval-linux_pr
SRC_URI[md5sum] = "0903e9f656d3cea005ecc8e26f1243b2"
SRC_URI[sha256sum] = "fdffcb2cedc0d0215ee3dec95ce3683a780d9280960d27200379fbe1b21af979"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit allarch
S = "${WORKDIR}/SD_600eval-linux_proprietary_firmware-v${PV}"
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb
deleted file mode 100644
index e6ae271..0000000
--- a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Upgrade Lontium LT9611UXC firmware to the latest image"
-
-SRC_URI = "file://lt9611uxc.service file://lt9611uxc-upgrade.sh"
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit systemd
-
-RDEPENDS_${PN} += "linux-firmware-lt9611uxc"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/lt9611uxc-upgrade.sh ${D}${bindir}
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/lt9611uxc.service ${D}${systemd_system_unitdir}
-}
-
-SYSTEMD_SERVICE_${PN} = "lt9611uxc.service"
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh
deleted file mode 100644
index 0886980..0000000
--- a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ ! -r /lib/firmware/lt9611uxc_fw.bin ] ; then
- echo "LT9611UXC firmware not found"
- exit 1
-fi
-
-if [ ! -d /sys/bus/i2c/drivers/lt9611uxc ] ; then
- modprobe lontium-lt9611uxc
- sleep 1
-fi
-
-for f in /sys/bus/i2c/drivers/lt9611uxc/* ; do
- [ -L $f ] || continue
- version=`cat $f/lt9611uxc_firmware`
- if [ "$version" -lt "43" ] ; then
- echo > $f/lt9611uxc_firmware
- fi
-done
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service
deleted file mode 100644
index 79c510c..0000000
--- a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Update LT9611UXC Firmware
-ConditionFirstBoot=true
-After=systemd-udev-settle.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/lt9611uxc-upgrade.sh
-
-[Install]
-WantedBy=getty.target
diff --git a/recipes-devtools/skales/skales_git.bb b/recipes-devtools/skales/skales_git.bb
index 782d20c..134cc1e 100644
--- a/recipes-devtools/skales/skales_git.bb
+++ b/recipes-devtools/skales/skales_git.bb
@@ -1,6 +1,6 @@
SUMMARY = "Tools to create boot images for QCOM SoC"
-HOMEPAGE = "https://www.codeaurora.org/cgit/quic/kernel/skales/"
+HOMEPAGE = "https://git.codelinaro.org/clo/qsdk/oss/tools/skales"
SECTION = "devel"
LICENSE = "BSD-3-Clause"
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://mkbootimg;beginline=3;endline=29;md5=114b84083e657f38
SRCREV = "6eac9e943de53c4aaaede3697e9226a47686fe25"
PV = "1.5.0+git${SRCPV}"
-SRC_URI = "git://source.codeaurora.org/quic/kernel/skales;protocol=http \
+SRC_URI = "git://git.codelinaro.org/clo/qsdk/oss/tools/skales.git;protocol=https;branch=caf_migration/skales/master \
file://0002-mkbootimg-use-python3.patch \
"
diff --git a/recipes-kernel/images/initramfs-rootfs-image.bb b/recipes-kernel/images/initramfs-rootfs-image.bb
new file mode 100644
index 0000000..9bc9dc5
--- /dev/null
+++ b/recipes-kernel/images/initramfs-rootfs-image.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Ramdisk image for pivoting into rootfs"
+
+PACKAGE_INSTALL = " \
+ base-passwd \
+ initramfs-module-copy-modules \
+ initramfs-module-rootfs \
+ initramfs-module-udev \
+ ${VIRTUAL-RUNTIME_base-utils} \
+ ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
+ ${ROOTFS_BOOTSTRAP_INSTALL} \
+"
+
+# Do not pollute the initrd image with rootfs features
+IMAGE_FEATURES = "debug-tweaks"
+IMAGE_LINGUAS = ""
+
+LICENSE = "MIT"
+
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+inherit core-image
+
+IMAGE_ROOTFS_SIZE = "8192"
+IMAGE_ROOTFS_EXTRA_SPACE = "0"
+
+# Exclude all kernel images from the rootfs
+PACKAGE_EXCLUDE = "kernel-image-*"
diff --git a/recipes-kernel/linux/linux-linaro-qcom.inc b/recipes-kernel/linux/linux-linaro-qcom.inc
index b9e2714..b193b63 100644
--- a/recipes-kernel/linux/linux-linaro-qcom.inc
+++ b/recipes-kernel/linux/linux-linaro-qcom.inc
@@ -1,27 +1,33 @@
-# Copyright (C) 2014 Linaro
+# Copyright (C) 2014-2021 Linaro
# Copyright (C) 2012, 2013 O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linux kernel for MSM platforms"
+DESCRIPTION ??= "Linaro Qualcomm Landing team ${PV} Kernel"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit kernel
-# Put a local version until we have a true SRCREV to point to
-LOCALVERSION ?= "+linaro"
+LOCALVERSION ?= "-linaro-lt-qcom"
SCMVERSION ?= "y"
-LINUX_LINARO_QCOM_GIT ?= "git://git.linaro.org/landing-teams/working/qualcomm/kernel.git;protocol=https"
+SRCBRANCH = "release/qcomlt-${PV}"
+
+COMPATIBLE_MACHINE = "(qcom)"
+
+LINUX_LINARO_QCOM_GIT ?= "git://git.codelinaro.org/linaro/qcomlt/kernel.git;protocol=https"
SRC_URI = "${LINUX_LINARO_QCOM_GIT};branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
KERNEL_DEFCONFIG_aarch64 ?= "${S}/arch/arm64/configs/defconfig"
-KERNEL_DEFCONFIG_apq8064 ?= "${S}/arch/arm/configs/qcom_defconfig"
+KERNEL_DEFCONFIG_arm ?= "${S}/arch/arm/configs/qcom_defconfig"
KERNEL_CONFIG_FRAGMENTS += "${S}/kernel/configs/distro.config"
+require recipes-kernel/linux/linux-qcom-bootimg.inc
+
kernel_conf_variable() {
- CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
+ sed -e "/CONFIG_$1[ =]/d;" -i ${B}/.config
if test "$2" = "n"
then
echo "# CONFIG_$1 is not set" >> ${B}/.config
@@ -31,18 +37,15 @@ kernel_conf_variable() {
}
do_configure_prepend() {
- echo "" > ${B}/.config
- CONF_SED_SCRIPT=""
-
- kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
- kernel_conf_variable LOCALVERSION_AUTO y
-
if [ -f '${WORKDIR}/defconfig' ]; then
- sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
+ cp '${WORKDIR}/defconfig' '${B}/.config'
else
- sed -e "${CONF_SED_SCRIPT}" < '${KERNEL_DEFCONFIG}' >> '${B}/.config'
+ cp '${KERNEL_DEFCONFIG}' '${B}/.config'
fi
+ kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
+ kernel_conf_variable LOCALVERSION_AUTO y
+
if [ "${SCMVERSION}" = "y" ]; then
# Add GIT revision to the local version
head=`git --git-dir=${S}/.git rev-parse --verify --short HEAD 2> /dev/null`
@@ -76,7 +79,8 @@ do_configure_prepend() {
# Now that all the fragments are located merge them.
( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${B} ${B}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
fi
+}
- yes '' | oe_runmake -C ${S} O=${B} oldconfig
+do_configure_append() {
oe_runmake -C ${S} O=${B} savedefconfig && cp ${B}/defconfig ${WORKDIR}/defconfig.saved
}
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
index 82cf263..9aae535 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
@@ -5,20 +5,16 @@
# 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}"
+DESCRIPTION = "Linaro Qualcomm Landing team Integration Kernel ${PV}"
+SRCBRANCH = "integration-linux-qcomlt"
-# Wifi firmware has a recognizable arch :(
-ERROR_QA_remove = "arch"
+# Set default SRCREV. it is statically set to the korg v3.7 tag, and
+# hence prevent network access during parsing. If linux-linaro-qcomlt-dev
+# is the preferred provider, they will be overridden to AUTOREV in following
+# anonymous python routine and resolved when the variables are finalized.
+SRCREV ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-linaro-qcomlt-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
-# Disable by default
-DEFAULT_PREFERENCE = "-1"
+LINUX_VERSION = "5.11+"
+PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch b/recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch
new file mode 100644
index 0000000..e792fe9
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch
@@ -0,0 +1,46 @@
+From 75e895343d5a2fcbdf4cb3d31ab7492bd65925f0 Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Wed, 8 Dec 2021 15:39:16 -0600
+Subject: [PATCH] Revert "kbuild: Enable DT schema checks for %.dtb targets"
+
+This reverts commit 53182e81f47d4ea0c727c49ad23cb782173ab849.
+
+This added tool dependencies on various build systems using %.dtb
+targets. Validation will need to be controlled by a kconfig or make
+variable instead, but for now let's just revert it.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ Makefile | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9e12c14ea0fb..fa5070e53979 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1374,17 +1374,17 @@ endif
+
+ ifneq ($(dtstree),)
+
+-%.dtb: dt_binding_check include/config/kernel.release scripts_dtc
+- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
++%.dtb: include/config/kernel.release scripts_dtc
++ $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+
+-%.dtbo: dt_binding_check include/config/kernel.release scripts_dtc
+- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
++%.dtbo: include/config/kernel.release scripts_dtc
++ $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+
+ PHONY += dtbs dtbs_install dtbs_check
+ dtbs: include/config/kernel.release scripts_dtc
+ $(Q)$(MAKE) $(build)=$(dtstree)
+
+-ifneq ($(filter dtbs_check %.dtb %.dtbo, $(MAKECMDGOALS)),)
++ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
+ export CHECK_DTBS=y
+ dtbs: dt_binding_check
+ endif
+--
+2.33.1
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
index 57ae852..f1652f0 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
@@ -1,15 +1,6 @@
# Copyright (C) 2014-2020 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.10 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
-LOCALVERSION ?= "-linaro-lt-qcom"
-
-SRCBRANCH = "release/qcomlt-5.10"
-SRCREV = "6afb1155f01df9871e14e4189d83d31000b308ee"
-COMPATIBLE_MACHINE = "(qcom)"
+SRCREV = "9ab492e76768cd1bd9f2da52004ed537c8b329f3"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb
index 254b94a..2587152 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb
@@ -1,13 +1,7 @@
# Copyright (C) 2014-2021 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.12 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
-LOCALVERSION ?= "-linaro-lt-qcom"
SRCBRANCH = "release/rb5/qcomlt-5.12"
SRCREV = "deeb40c41728645cd6971b1d7bd08281238caba0"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb
new file mode 100644
index 0000000..3636b5e
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb
@@ -0,0 +1,6 @@
+# Copyright (C) 2014-2020 Linaro
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-kernel/linux/linux-linaro-qcom.inc
+
+SRCREV = "1429722a220973e881d8cb5b5b486693457b4f11"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb
new file mode 100644
index 0000000..6e4171c
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb
@@ -0,0 +1,11 @@
+# Copyright (C) 2021 Linaro
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-kernel/linux/linux-linaro-qcom.inc
+
+# SRCBRANCH set to "release/qcomlt-5.15" in linux-linaro-qcom.inc
+SRCREV = "9bc25b368335b6d3d59be44db0c4818bdfbfa546"
+
+# SRCBRANCH set to adp stable release branch
+SRCBRANCH:sa8155p = "release/sa8155p-adp/v5.15.y"
+SRCREV:sa8155p = "38b7066ac1084c74759f1314c54b5735a1e5031d"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
index 88b33be..dcf8220 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
@@ -1,14 +1,10 @@
# Copyright (C) 2014-2019 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.7 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+require recipes-kernel/linux/linux-linaro-qcom.inc
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 \
@@ -19,11 +15,4 @@ SRC_URI_append_qrb5165-rb5 = " \
file://0001-arm64-dts-qcom-sm8250-Add-support-for-SDC2.patch \
"
-LOCALVERSION ?= "-linaro-lt-qcom"
-SRCBRANCH ?= "release/qcomlt-5.7"
SRCREV ?= "4af49ea41ecf17e5e6243f3ac81dfc2f84d8a3a1"
-
-COMPATIBLE_MACHINE = "(qcom)"
-
-# Wifi firmware has a recognizable arch :(
-ERROR_QA_remove = "arch"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
index 118ff78..baf2a08 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
@@ -1,18 +1,9 @@
# Copyright (C) 2014-2019 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.9 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
-LOCALVERSION ?= "-linaro-lt-qcom"
-SRCBRANCH ?= "release/qcomlt-5.9"
SRCREV ?= "b5ff44498a19a685aa10a07ec67e3d12bc95a33a"
SRCBRANCH_sm8250 = "release/rb5/qcomlt-5.9"
SRCREV_sm8250 = "6d5a9a5da79684f69e4c66a7cf9108ab4e77025f"
-
-COMPATIBLE_MACHINE = "(qcom)"
diff --git a/recipes-kernel/linux/linux-qcom-bootimg.inc b/recipes-kernel/linux/linux-qcom-bootimg.inc
index 15b3397..9e3fef9 100644
--- a/recipes-kernel/linux/linux-qcom-bootimg.inc
+++ b/recipes-kernel/linux/linux-qcom-bootimg.inc
@@ -1,5 +1,17 @@
QIMG_DEPLOYDIR = "${WORKDIR}/qcom_deploy-${PN}"
+# Define INITRAMFS_IMAGE to create kernel+initramfs Android boot images in
+# addition to default boot images. For example add the following line to your
+# conf/local.conf:
+#
+# INITRAMFS_IMAGE = "initramfs-kerneltest-image"
+#
+
+python __anonymous () {
+ if d.getVar('INITRAMFS_IMAGE') != '':
+ d.appendVarFlag('do_qcom_img_deploy', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
+}
+
python do_qcom_img_deploy() {
import shutil
import subprocess
@@ -12,6 +24,17 @@ python do_qcom_img_deploy() {
qcom_deploy_dir = d.getVar("QIMG_DEPLOYDIR")
image_dir = d.getVar("DEPLOY_DIR_IMAGE")
+ initrd = None
+ if d.getVar('INITRAMFS_IMAGE') != '':
+ initrd_image_name = d.getVar("INITRAMFS_IMAGE_NAME")
+ baseinitrd = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), initrd_image_name)
+ for img in (".cpio.gz", ".cpio.lz4", ".cpio.lzo", ".cpio.lzma", ".cpio.xz", ".cpio"):
+ if os.path.exists(baseinitrd + img):
+ initrd = baseinitrd + img
+ break
+ if not initrd:
+ bb.fatal("Could not find initramfs image %s for bundling" % d.getVar("INITRAMFS_IMAGE"))
+
B = d.getVar("B")
D = d.getVar("D")
kernel_output_dir = d.getVar("KERNEL_OUTPUT_DIR")
@@ -47,12 +70,10 @@ python do_qcom_img_deploy() {
def getVarDTB(name):
return d.getVarFlag(name, dtb_name) or d.getVar(name)
- def make_image(template, rootfs):
- output = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_image_name))
- output_link = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_link_name))
+ def make_image_internal(output, output_link, rootfs, initrd = definitrd):
subprocess.check_call([mkbootimg,
"--kernel", kernel,
- "--ramdisk", definitrd,
+ "--ramdisk", initrd,
"--output", output,
"--pagesize", getVarDTB("QCOM_BOOTIMG_PAGE_SIZE"),
"--base", getVarDTB("QCOM_BOOTIMG_KERNEL_BASE"),
@@ -60,6 +81,21 @@ python do_qcom_img_deploy() {
if os.path.exists(output_link):
os.unlink(output_link)
os.symlink(os.path.basename(output), output_link)
+
+ def make_image(template, rootfs):
+ output = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_image_name))
+ output_link = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_link_name))
+ make_image_internal(output, output_link, rootfs)
+ return output
+
+ def make_initramfs_image(template, rootfs, initrd, initrd_image_name):
+ output = os.path.join(qcom_deploy_dir, template % (initrd_image_name, dtb_name, kernel_image_name))
+ output_link = os.path.join(qcom_deploy_dir, template % (initrd_image_name, dtb_name, kernel_link_name))
+ make_image_internal(output, output_link, rootfs, initrd)
+ output_link = os.path.join(qcom_deploy_dir, template % ("initramfs", dtb_name, kernel_link_name))
+ if os.path.exists(output_link):
+ os.unlink(output_link)
+ os.symlink(os.path.basename(output), output_link)
return output
consoles = ' '.join(map(lambda c: "console=%(tty)s,%(rate)sn8" % dict(zip(("rate", "tty"), c.split(';'))), getVarDTB("SERIAL_CONSOLES").split()))
@@ -79,11 +115,17 @@ python do_qcom_img_deploy() {
if not os.path.exists(output_img):
os.symlink(os.path.basename(output), output_img)
+ if initrd:
+ make_initramfs_image("boot-%s-%s-%s.img", rootfs, initrd, d.getVar("INITRAMFS_IMAGE"))
+
sd_rootfs = getVarDTB("SD_QCOM_BOOTIMG_ROOTFS")
if sd_rootfs:
output = make_image("boot-sd-%s-%s.img", sd_rootfs)
if not os.path.exists(output_sd_img):
os.symlink(os.path.basename(output), output_sd_img)
+
+ if initrd:
+ make_initramfs_image("boot-sd-%s-%s-%s.img", rootfs, initrd, d.getVar("INITRAMFS_IMAGE"))
}
do_qcom_img_deploy[depends] += "skales-native:do_populate_sysroot"
diff --git a/recipes-rt/rt-tests/rt-tests_%.bbappend b/recipes-rt/rt-tests/rt-tests_%.bbappend
new file mode 100644
index 0000000..2ae7c6d
--- /dev/null
+++ b/recipes-rt/rt-tests/rt-tests_%.bbappend
@@ -0,0 +1,17 @@
+# Upstream repo no longer has 'master' branch, and switched to
+# 'main'. To avoid issue such as:
+#
+# ERROR: rt-tests-1_1.1-r0 do_fetch: Fetcher failure: Unable to find
+# revision dff174f994f547a5785d32454865f140daacb0f5 in branch master
+# even from upstream
+#
+# we need to set the default branch name to 'main' in the recipe.
+#
+# Upstream patch is in progress
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=main \
+ file://run-ptest \
+ file://rt_bmark.py \
+ file://0001-gzip-with-n-for-build-reproducibilty.patch \
+"
+
diff --git a/recipes-support/fastrpc/fastrpc_git.bb b/recipes-support/fastrpc/fastrpc_git.bb
index 179d42b..18f477f 100644
--- a/recipes-support/fastrpc/fastrpc_git.bb
+++ b/recipes-support/fastrpc/fastrpc_git.bb
@@ -1,4 +1,4 @@
-HOMEPAGE = "https://git.linaro.org/landing-teams/working/qualcomm/fastrpc.git"
+HOMEPAGE = "https://git.codelinaro.org/linaro/qcomlt/fastrpc.git"
SUMMARY = "Qualcomm FastRPC applications and library"
SECTION = "devel"
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://src/fastrpc_apps_user.c;beginline=1;endline=29;md5=f9
SRCREV = "bc36c705c9b057ca880a423021d3c19f02edeadd"
SRC_URI = "\
- git://git.linaro.org/landing-teams/working/qualcomm/fastrpc.git;branch=automake;protocol=https \
+ git://git.codelinaro.org/linaro/qcomlt/fastrpc.git;branch=automake;protocol=https \
file://0001-apps_std_fopen_with_env-account-for-domain-kinds-whe.patch \
file://adsprpcd.service \
file://cdsprpcd.service \
diff --git a/recipes-support/initrdscripts/files/copy-modules.sh b/recipes-support/initrdscripts/files/copy-modules.sh
new file mode 100644
index 0000000..12dc052
--- /dev/null
+++ b/recipes-support/initrdscripts/files/copy-modules.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# Copyright (C) 2022 Linaro Ltd.
+# Licensed on MIT
+
+copy_modules_enabled() {
+ [ -n "${bootparam_copy_modules}" -a -d /lib/modules/`uname -r` ]
+}
+
+copy_modules_run() {
+ if [ -n "$ROOTFS_DIR" ]; then
+ rm -rf $ROOTFS_DIR/lib/modules/`uname -r`
+ mkdir -p $ROOTFS_DIR/lib/modules
+ cp -a /lib/modules/`uname -r` $ROOTFS_DIR/lib/modules
+ else
+ debug "No rootfs has been set"
+ fi
+}
diff --git a/recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb b/recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb
new file mode 100644
index 0000000..effc7df
--- /dev/null
+++ b/recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "initramfs-framework module for copying kernel modules from initramfs to rootfs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+RDEPENDS:${PN} = "initramfs-framework-base ${VIRTUAL-RUNTIME_base-utils}"
+
+SRC_URI = "file://copy-modules.sh"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${D}/init.d
+ install -m 0755 ${WORKDIR}/copy-modules.sh ${D}/init.d/95-copy_modules
+}
+
+FILES:${PN} = "/init.d/"
diff --git a/recipes-support/rmtfs/rmtfs_git.bb b/recipes-support/rmtfs/rmtfs_git.bb
index 249e21e..e935bdd 100644
--- a/recipes-support/rmtfs/rmtfs_git.bb
+++ b/recipes-support/rmtfs/rmtfs_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ca25dbf5ebfc1a058bfc657c895aac2f"
inherit systemd
-SRCREV = "1cc12d3dc1f251f6d3151970621a06fdd013a1d0"
+SRCREV = "293ab8babb27ac0f24247bb101fed9420c629c29"
SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https"
DEPENDS = "qmic-native qrtr udev"
diff --git a/recipes-test/images/initramfs-kerneltest-full-image.bb b/recipes-test/images/initramfs-kerneltest-full-image.bb
new file mode 100644
index 0000000..ea60bfe
--- /dev/null
+++ b/recipes-test/images/initramfs-kerneltest-full-image.bb
@@ -0,0 +1,3 @@
+require initramfs-test-full-image.bb
+
+PACKAGE_INSTALL += "${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
diff --git a/recipes-test/images/initramfs-kerneltest-image.bb b/recipes-test/images/initramfs-kerneltest-image.bb
new file mode 100644
index 0000000..9dea43c
--- /dev/null
+++ b/recipes-test/images/initramfs-kerneltest-image.bb
@@ -0,0 +1,3 @@
+require initramfs-test-image.bb
+
+PACKAGE_INSTALL += "${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
diff --git a/recipes-test/images/initramfs-test-full-image.bb b/recipes-test/images/initramfs-test-full-image.bb
new file mode 100644
index 0000000..c7580ca
--- /dev/null
+++ b/recipes-test/images/initramfs-test-full-image.bb
@@ -0,0 +1,70 @@
+require recipes-test/images/initramfs-tiny-image.bb
+
+DESCRIPTION = "Relatively larger ramdisk image for running tests (bootrr, etc)"
+
+PACKAGE_INSTALL += " \
+ bluez5 \
+ coreutils \
+ dhcp-client \
+ diag \
+ e2fsprogs \
+ e2fsprogs-e2fsck \
+ e2fsprogs-mke2fs \
+ e2fsprogs-resize2fs \
+ e2fsprogs-tune2fs \
+ ethtool \
+ gptfdisk \
+ iw \
+ hdparm \
+ kexec \
+ lava-test-shell \
+ libdrm-tests \
+ lsof \
+ ncurses \
+ ncurses-terminfo \
+ ncurses-terminfo-base \
+ pciutils \
+ pd-mapper \
+ qrtr \
+ rmtfs \
+ stress-ng \
+ tqftpserv \
+ usbutils \
+ util-linux \
+ util-linux-chrt \
+ util-linux-lsblk \
+ wpa-supplicant \
+"
+
+PACKAGE_INSTALL:append:libc-glibc += " \
+ rt-tests \
+"
+
+# We'd like to include extra packages provided by layers which we do not depend
+# on. This can be handled by .bbappends, but then image recipes including this
+# one would not get all these tools. So simulate dynamic bbappend here.
+PACKAGE_INSTALL_openembedded_layer += " \
+ crash \
+ cryptsetup \
+ devmem2 \
+ dhrystone \
+ iozone3 \
+ libgpiod \
+ libgpiod-tools \
+ lmbench \
+ makedumpfile \
+ mbw \
+ sysbench \
+ tinymembench \
+ tiobench \
+ whetstone \
+"
+
+PACKAGE_INSTALL_networking_layer += " \
+ iperf2 \
+ iperf3 \
+ tcpdump \
+"
+
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "openembedded-layer", "${PACKAGE_INSTALL_openembedded_layer}", "", d)}"
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "networking-layer", "${PACKAGE_INSTALL_networking_layer}", "", d)}"
diff --git a/recipes-test/images/initramfs-test-image.bb b/recipes-test/images/initramfs-test-image.bb
index 6ae22b6..591e649 100644
--- a/recipes-test/images/initramfs-test-image.bb
+++ b/recipes-test/images/initramfs-test-image.bb
@@ -1,12 +1,12 @@
+require recipes-test/images/initramfs-tiny-image.bb
+
DESCRIPTION = "Small ramdisk image for running tests (bootrr, etc)"
-PACKAGE_INSTALL = " \
- ${ROOTFS_BOOTSTRAP_INSTALL} \
+PACKAGE_INSTALL += " \
bluez5 \
- busybox \
- base-passwd \
dhcp-client \
diag \
+ dropbear \
e2fsprogs \
e2fsprogs-e2fsck \
e2fsprogs-mke2fs \
@@ -16,41 +16,32 @@ PACKAGE_INSTALL = " \
gptfdisk \
iw \
lava-test-shell \
- packagegroup-core-boot \
+ libdrm-tests \
+ lrzsz \
pciutils \
pd-mapper \
qrtr \
rmtfs \
+ strace \
tqftpserv \
- udev \
usbutils \
wpa-supplicant \
"
-# Do not pollute the initrd image with rootfs features
-IMAGE_FEATURES = "debug-tweaks"
-
-export IMAGE_BASENAME = "initramfs-test-image"
-IMAGE_LINGUAS = ""
-
-LICENSE = "MIT"
-
-IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
-inherit core-image
-
-IMAGE_ROOTFS_SIZE = "8192"
-IMAGE_ROOTFS_EXTRA_SPACE = "0"
-
-# Disable installation of kernel and modules via packagegroup-core-boot
-NO_RECOMMENDATIONS = "1"
+# We'd like to include extra packages provided by layers which we do not depend
+# on. This can be handled by .bbappends, but then image recipes including this
+# one would not get all these tools. So simulate dynamic bbappend here.
+PACKAGE_INSTALL_openembedded_layer += " \
+ cryptsetup \
+ devmem2 \
+"
-# Enable local auto-login (on systemd) of the root user (local = serial port and
-# virtual console by default, can be configured).
-LOCAL_GETTY ?= " \
- ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service \
- ${IMAGE_ROOTFS}${systemd_system_unitdir}/getty@.service \
+PACKAGE_INSTALL_networking_layer += " \
+ iperf2 \
+ iperf3 \
+ phytool \
+ tcpdump \
"
-local_autologin () {
- sed -i -e 's/^\(ExecStart *=.*getty \)/\1--autologin root /' ${LOCAL_GETTY}
-}
-ROOTFS_POSTPROCESS_COMMAND += "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'local_autologin;', '', d)}"
+
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "openembedded-layer", "${PACKAGE_INSTALL_openembedded_layer}", "", d)}"
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "networking-layer", "${PACKAGE_INSTALL_networking_layer}", "", d)}"
diff --git a/recipes-test/images/initramfs-tiny-image.bb b/recipes-test/images/initramfs-tiny-image.bb
new file mode 100644
index 0000000..c70ccee
--- /dev/null
+++ b/recipes-test/images/initramfs-tiny-image.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Tiny ramdisk image for board bringup"
+
+PACKAGE_INSTALL = " \
+ ${ROOTFS_BOOTSTRAP_INSTALL} \
+ busybox \
+ base-passwd \
+ packagegroup-core-boot \
+ udev \
+"
+
+# Do not pollute the initrd image with rootfs features
+IMAGE_FEATURES = "debug-tweaks"
+IMAGE_LINGUAS = ""
+
+LICENSE = "MIT"
+
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+inherit core-image
+
+IMAGE_ROOTFS_SIZE = "8192"
+IMAGE_ROOTFS_EXTRA_SPACE = "0"
+
+# Disable installation of kernel and modules via packagegroup-core-boot
+NO_RECOMMENDATIONS ?= "1"
+
+# Enable local auto-login (on systemd) of the root user (local = serial port and
+# virtual console by default, can be configured).
+LOCAL_GETTY ?= " \
+ ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service \
+ ${IMAGE_ROOTFS}${systemd_system_unitdir}/getty@.service \
+"
+local_autologin () {
+ sed -i -e 's/^\(ExecStart *=.*getty \)/\1--autologin root /' ${LOCAL_GETTY}
+}
+ROOTFS_POSTPROCESS_COMMAND += "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'local_autologin;', '', d)}"