From 73055a50b23f3e1b9c5a6ceb21bbece356713e15 Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Fri, 12 Jun 2026 15:37:17 +0530 Subject: [PATCH 1/9] qcom-dtb-metadata: update to build version V0.8 Update SRCREV to pick up V0.8 tag. Changes since V0.5: v0.6: - Update qcom-next-fitimage.its for overlay of monaco-camx-el2.dtbo - Update qcom-next-fitimage.its for Hamoa EL2 by @LXQUALCOMM - Update qcom-next-fitimage.its for Lemans and Monaco boards - Update qcom-next-fitimage.its for Purwa EL2 by @LXQUALCOMM - Update qcom-next-fitimage.its for Lemans and Monaco upstream camera DTB overlay v0.7: - scripts: add build-dtb-image.sh, self-contained FIT DTB image builder co-located with metadata - Update bit definition for board-subtype - qcom-metadata: dts: add Shikra msm-id entries v0.8: - Update qcom-next-fitimage.its to add camera overlay for Hamoa EL2 - workflow: add a test workflow to build dtb.bin - build-dtb-image: optionally prune its based on kernel input - qcom-next-fitimage.its: Add CamX DTBO support for Hamoa and Purwa EVK - Add ITP board-id entry in qcom-metadata - Add Shikra CQM, CQS and IQS variant support Signed-off-by: Vivek Puar --- .../{qcom-dtb-metadata_0.5.bb => qcom-dtb-metadata_0.8.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename recipes-kernel/linux/{qcom-dtb-metadata_0.5.bb => qcom-dtb-metadata_0.8.bb} (91%) diff --git a/recipes-kernel/linux/qcom-dtb-metadata_0.5.bb b/recipes-kernel/linux/qcom-dtb-metadata_0.8.bb similarity index 91% rename from recipes-kernel/linux/qcom-dtb-metadata_0.5.bb rename to recipes-kernel/linux/qcom-dtb-metadata_0.8.bb index cdbdf5d64..0ab0cd413 100644 --- a/recipes-kernel/linux/qcom-dtb-metadata_0.5.bb +++ b/recipes-kernel/linux/qcom-dtb-metadata_0.8.bb @@ -8,7 +8,7 @@ DEPENDS += "dtc-native" SRC_URI = "git://github.com/qualcomm-linux/qcom-dtb-metadata.git;branch=main;protocol=https;tag=v${PV}" -SRCREV = "bf60e31a7eebbf5f54b5af55d182f869716966c0" +SRCREV = "3bad7a71dd87df675353ec6c07d97f8bf6c68761" INHIBIT_DEFAULT_DEPS = "1" From d8a39836f54cb141f72b4326cbc0ae457d6cf224 Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Fri, 12 Jun 2026 15:50:02 +0530 Subject: [PATCH 2/9] fit-dtb-compatible: add compatible strings for Shikra ITP boards Shikra platform has multiple variants that share same soc but differ in board subtype. Without their compatible strings, the FIT image loader cannot match the correct DTB at boot. Add the compatible string 'qcom_shikracqm-itp', 'qcom_shikracqs-itp' and 'qcom_shikraiqs-itp' for the Shikra DTB to ensure correct DTB matching for the Shikra ITP boards. Also add compatible strings to include the imx577-camera overlay for the Shikra ITP boards. Signed-off-by: Vivek Puar --- conf/machine/include/fit-dtb-compatible.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/conf/machine/include/fit-dtb-compatible.inc b/conf/machine/include/fit-dtb-compatible.inc index 1fb4fd642..0ac76253d 100644 --- a/conf/machine/include/fit-dtb-compatible.inc +++ b/conf/machine/include/fit-dtb-compatible.inc @@ -63,6 +63,11 @@ FIT_DTB_COMPATIBLE[qcom_qcs8275-iot] = \ FIT_DTB_COMPATIBLE[qcom_qcs8300-adp] = "qcs8300-ride" +# ---------- shikra ---------- +FIT_DTB_COMPATIBLE[qcom_shikracqm-itp] = "shikra-cqm-evk shikra-cqm-evk-imx577-camera" +FIT_DTB_COMPATIBLE[qcom_shikracqs-itp] = "shikra-cqs-evk shikra-cqm-evk-imx577-camera" +FIT_DTB_COMPATIBLE[qcom_shikraiqs-itp] = "shikra-iqs-evk shikra-iqs-evk-imx577-camera" + # ---------- talos ---------- FIT_DTB_COMPATIBLE[qcom_qcs615-adp] = "qcs615-ride" FIT_DTB_COMPATIBLE[qcom_qcs615-iot] = "talos-evk talos-evk-camera-imx577" From 0c1738bb4ef5bf543f5dd2875864abfc64c9d869 Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Fri, 12 Jun 2026 16:28:48 +0530 Subject: [PATCH 3/9] firmware-qcom-boot-shikra: Add boot firmware recipe Add recipe to deliver edk2 based boot firmware for Shikra ITP board. This enables UEFI compatible boot flow and ensures integration with flat build targets. LIC_FILES_CHKSUM will refer LICENSE.qcom-2.txt from within the bootbinaries zip instead of fetching a standalone LICENSE.txt Signed-off-by: Vivek Puar --- .../firmware-boot/firmware-qcom-boot-shikra.inc | 14 ++++++++++++++ .../firmware-qcom-boot-shikra_00036.bb | 3 +++ 2 files changed, 17 insertions(+) create mode 100644 recipes-bsp/firmware-boot/firmware-qcom-boot-shikra.inc create mode 100644 recipes-bsp/firmware-boot/firmware-qcom-boot-shikra_00036.bb diff --git a/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra.inc b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra.inc new file mode 100644 index 000000000..b34997052 --- /dev/null +++ b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra.inc @@ -0,0 +1,14 @@ +DESCRIPTION = "QCOM NHLOS Firmware for Qualcomm Shikra-EVK platform" +LICENSE = "LICENSE.qcom-2" +LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BOOTBINARIES}/LICENSE.qcom-2.txt;md5=165287851294f2fb8ac8cbc5e24b02b0" + +FW_ARTIFACTORY = "softwarecenter.qualcomm.com/nexus/generic/product/chip/tech-package/SHIKRA_bootbinaries.1.0/shikra_bootbinaries.1.0-test-device-public" +BOOTBINARIES = "SHIKRA_bootbinaries" + +SRC_URI = " \ + https://${FW_ARTIFACTORY}/${PV}/${BOOTBINARIES}_${PV}.zip;name=bootbinaries \ + " + +QCOM_BOOT_IMG_SUBDIR = "shikra" + +include firmware-qcom-boot-common.inc diff --git a/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra_00036.bb b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra_00036.bb new file mode 100644 index 000000000..ad5af97a6 --- /dev/null +++ b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra_00036.bb @@ -0,0 +1,3 @@ +require firmware-qcom-boot-shikra.inc + +SRC_URI[bootbinaries.sha256sum] = "df2437405516034fb2d33585c8436891f7fb765e92022256364b4cf609089d0e" From d60609d5fd92ad06480a558f0795c8e9c98942f5 Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Thu, 18 Jun 2026 20:59:26 +0530 Subject: [PATCH 4/9] firmware-qcom-cdt-shikra: add recipe to fetch CDT The Shikra board requires a board-specific Configuration Data Table (CDT) to correctly initialize hardware parameters such as DDR and RF calibration data during early boot. Without the CDT, the bootloader may be unable to correctly configure the hardware, resulting in boot failures or incorrect hardware behavior. Add recipe to fetch CDT required for Shikra ITP Board. Signed-off-by: Vivek Puar --- recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb diff --git a/recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb b/recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb new file mode 100644 index 000000000..ee0fa300f --- /dev/null +++ b/recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "CDT (Configuration Data Table) Firmware for Qualcomm Shikra Evaluation Kit (EVK)" + +SRC_URI = " \ + https://${CDT_ARTIFACTORY}/CQ2390/cdt/cq2390-itp.zip;downloadfilename=cq2390-itp_${PV}.zip;name=cq2390-itp \ + " +SRC_URI[cq2390-itp.sha256sum] = "acc8b39a9a8ccde5e04b762e9e4c7bbddf66f0420a5d32ed69a5a74761699f7b" + +QCOM_CDT_SUBDIR = "shikra" + +include firmware-qcom-cdt-common.inc From 1387e2cadc4faebf015fc4c3d141107a116e45a3 Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Fri, 12 Jun 2026 16:30:19 +0530 Subject: [PATCH 5/9] packagegroup-shikra-evk: packagegroup for Shikra-EVK Add firmware and Hexagon DSP packages into image for the Shikra-EVK boards. 'linux-firmware-qcom-shikra-adreno' package is not provided by oe-core and 'packagegroup-shikra-evk' depends on the patch that brings the package which will only be applied if qcom machine is selected. COMPATIBLE_MACHINE can be dropped once the linux-firmware will upgrade to 202606+ Signed-off-by: Vivek Puar --- .../packagegroups/packagegroup-shikra-evk.bb | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 recipes-bsp/packagegroups/packagegroup-shikra-evk.bb diff --git a/recipes-bsp/packagegroups/packagegroup-shikra-evk.bb b/recipes-bsp/packagegroups/packagegroup-shikra-evk.bb new file mode 100644 index 000000000..4d3fa7c9f --- /dev/null +++ b/recipes-bsp/packagegroups/packagegroup-shikra-evk.bb @@ -0,0 +1,26 @@ +SUMMARY = "Packages for the Shikra-EVK platform" + +inherit packagegroup + +COMPATIBLE_MACHINE = "(qcom)" + +PACKAGES = " \ + ${PN}-firmware \ + ${PN}-hexagon-dsp-binaries \ +" + +RRECOMMENDS:${PN}-firmware = " \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'opencl opengl vulkan', 'linux-firmware-qcom-adreno-a702 linux-firmware-qcom-shikra-adreno', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca-wcn3950', '', d)} \ + linux-firmware-qcom-shikra-compute \ + linux-firmware-qcom-shikra-audio \ + linux-firmware-qcom-shikra-modem \ + linux-firmware-qcom-shikra-qupv3fw \ + linux-firmware-qcom-vpu \ +" + +RDEPENDS:${PN}-hexagon-dsp-binaries = " \ + hexagon-dsp-binaries-qcom-shikra-cqm-evk-cdsp \ + hexagon-dsp-binaries-qcom-shikra-cqs-evk-cdsp \ + hexagon-dsp-binaries-qcom-shikra-iqs-evk-cdsp \ +" From a9d6ee8488c6604c2c2504449e29b832ea58d82e Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Mon, 15 Jun 2026 17:00:40 +0530 Subject: [PATCH 6/9] packagegroup-machine-essential: define shikra-soc package Define a new package with shikra-soc specific kernel modules. Signed-off-by: Vivek Puar --- .../packagegroups/packagegroup-machine-essential.bb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/recipes-bsp/packagegroups/packagegroup-machine-essential.bb b/recipes-bsp/packagegroups/packagegroup-machine-essential.bb index ee2eb50da..51f37a382 100644 --- a/recipes-bsp/packagegroups/packagegroup-machine-essential.bb +++ b/recipes-bsp/packagegroups/packagegroup-machine-essential.bb @@ -12,6 +12,7 @@ PACKAGES = " \ ${PN}-qcom-qcs6490-soc \ ${PN}-qcom-qcs8300-soc \ ${PN}-qcom-qcs9100-soc \ + ${PN}-qcom-shikra-soc \ " # The list of packages is kept sorted alphabetically which might break @@ -212,3 +213,10 @@ RRECOMMENDS:${PN}-qcom-qcs9100-soc += " \ kernel-module-videocc-sa8775p \ " +RRECOMMENDS:${PN}-qcom-shikra-soc += " \ + ${PN}-board-generic \ + ${PN}-qcom-generic \ + kernel-module-dispcc-shikra \ + kernel-module-gpucc-shikra \ + kernel-module-pwrseq-qcom-wcn \ +" From 4b8853577059086c387a132b81f40637f5532e1a Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Fri, 12 Jun 2026 16:38:50 +0530 Subject: [PATCH 7/9] conf/machine: add Shikra-EVK machine configuration The Shikra EVK is a new Qualcomm development board that has no machine definition in meta-qcom. Without this, it is not possible to build a Yocto image targeting Shikra hardware, blocking any software bring-up or validation work on this platform. This is an initial bring-up configuration, not all features are validated to GA quality yet. Signed-off-by: Vivek Puar --- conf/machine/include/qcom-shikra.inc | 17 +++++++++++++++++ conf/machine/shikra-evk.conf | 27 +++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 conf/machine/include/qcom-shikra.inc create mode 100644 conf/machine/shikra-evk.conf diff --git a/conf/machine/include/qcom-shikra.inc b/conf/machine/include/qcom-shikra.inc new file mode 100644 index 000000000..1b7cb71a7 --- /dev/null +++ b/conf/machine/include/qcom-shikra.inc @@ -0,0 +1,17 @@ +# Configurations and variables for Shikra SoC family. + +SOC_FAMILY = "shikra" +require conf/machine/include/qcom-base.inc +require conf/machine/include/qcom-common.inc + +DEFAULTTUNE = "armv8-2a-crypto" +require conf/machine/include/arm/arch-armv8-2a.inc + +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ + packagegroup-qcom-boot-essential \ + packagegroup-machine-essential-qcom-shikra-soc \ +" + +MACHINE_EXTRA_RRECOMMENDS += " \ + packagegroup-qcom-boot-additional \ +" diff --git a/conf/machine/shikra-evk.conf b/conf/machine/shikra-evk.conf new file mode 100644 index 000000000..3024f4eda --- /dev/null +++ b/conf/machine/shikra-evk.conf @@ -0,0 +1,27 @@ +#@TYPE: Machine +#@NAME: Qualcomm Shikra Alpha Evaluation Kit (EVK) +#@DESCRIPTION: Machine configuration for Qualcomm Shikra Evaluation Kit (EVK) + +require conf/machine/include/qcom-shikra.inc + +MACHINE_FEATURES += "efi pci" + +KERNEL_DEVICETREE ?= " \ + qcom/shikra-cqm-evk.dtb \ + qcom/shikra-cqs-evk.dtb \ + qcom/shikra-iqs-evk.dtb \ + qcom/shikra-cqm-evk-imx577-camera.dtbo \ + qcom/shikra-iqs-evk-imx577-camera.dtbo \ + " + +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ + packagegroup-shikra-evk-firmware \ + packagegroup-shikra-evk-hexagon-dsp-binaries \ +" + +QCOM_CDT_FILE = "cdt_cq2390_itp_0.2.0" +QCOM_BOOT_FILES_SUBDIR = "shikra" +QCOM_PARTITION_FILES_SUBDIR ?= "partitions/shikra-evk/emmc" + +QCOM_BOOT_FIRMWARE = "firmware-qcom-boot-shikra" +QCOM_CDT_FIRMWARE = "firmware-qcom-cdt-shikra" From a88711ea32d3fa135baf6085c011f556b10a0201 Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Fri, 12 Jun 2026 16:41:19 +0530 Subject: [PATCH 8/9] ci: add KAS configuration file for shikra-evk Board Without a KAS configuration file, developers and CI systems have no standardized way to set up the correct layers, MACHINE and build configuration for Shikra-EVK. Signed-off-by: Vivek Puar --- ci/shikra-evk.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 ci/shikra-evk.yml diff --git a/ci/shikra-evk.yml b/ci/shikra-evk.yml new file mode 100644 index 000000000..647e6ac6b --- /dev/null +++ b/ci/shikra-evk.yml @@ -0,0 +1,8 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json + +header: + version: 14 + includes: + - ci/base.yml + +machine: shikra-evk From b4d2916c93635774d812efa67b49408d8d2a9318 Mon Sep 17 00:00:00 2001 From: Vivek Puar Date: Mon, 15 Jun 2026 16:55:53 +0530 Subject: [PATCH 9/9] ci: Add support for shikra-evk machine in github workflow The Shikra-EVK machine configuration is new and not yet covered by CI. Without a build job for this target, regressions in the machine config, packagegroups or firmware recipes can go undetected until a developer manually attempts a build. Signed-off-by: Vivek Puar --- .github/workflows/build-yocto.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-yocto.yml b/.github/workflows/build-yocto.yml index 6f645f165..d23025188 100644 --- a/.github/workflows/build-yocto.yml +++ b/.github/workflows/build-yocto.yml @@ -241,6 +241,7 @@ jobs: - qcs9100-ride-sx - rb1-core-kit - rb3gen2-core-kit + - shikra-evk - sm8750-mtp distro: - name: nodistro