From 81a65163955a172c2299d30b026273df3bd526b9 Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Thu, 13 Aug 2026 18:03:20 +0530 Subject: [PATCH 1/8] oeqa/selftest: accept el2gh as a compatible-string suffix The el2gh suffix selects the Gunyah hypervisor variant of a board's compatible string, the same way el2kvm selects the KVM variant. Like camx and staging, it is a feature/hypervisor selector rather than board metadata, so it has no corresponding node in qcom-metadata.dtb. test_fitimage_compatible_metadata_validation validates every dash-separated suffix of the generated ITS compatible strings against the metadata node names, and so already fails today on the pre-existing el2gh entries in fit-dtb-compatible-linux-qcom.inc. Add el2gh to the skip set to match the metadata-check script's blacklist, and to COMPAT_EXTENSIONS so the unit-level fixtures stay in sync. Signed-off-by: Viswanath Kraleti --- lib/oeqa/selftest/cases/qcom_fitimage.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/oeqa/selftest/cases/qcom_fitimage.py b/lib/oeqa/selftest/cases/qcom_fitimage.py index 2e15f8658..6ab9b161f 100644 --- a/lib/oeqa/selftest/cases/qcom_fitimage.py +++ b/lib/oeqa/selftest/cases/qcom_fitimage.py @@ -49,8 +49,10 @@ class QcomFitImageTests(OESelftestTestCase): "sku0", "softsku0", "softsku1", } - # Suffixes allowed by the metadata-check script's blacklist - COMPAT_EXTENSIONS = {"camx", "el2kvm", "staging"} + # Suffixes allowed by the metadata-check script's blacklist. + # el2kvm/el2gh select the hypervisor (KVM or Gunyah) and, like camx and + # staging, are not board metadata so they have no qcom-metadata node. + COMPAT_EXTENSIONS = {"camx", "el2gh", "el2kvm", "staging"} # ------------------------------------------------------------------ # Helpers @@ -578,7 +580,7 @@ class QcomFitImageIntegrationTests(OESelftestTestCase): _meta_nodes = None # Suffixes allowed by the metadata-check blacklist - COMPAT_SKIP_PATTERNS = {"camx", "el2kvm", "staging"} + COMPAT_SKIP_PATTERNS = {"camx", "el2gh", "el2kvm", "staging"} # ------------------------------------------------------------------ # Helpers @@ -772,7 +774,7 @@ def test_fitimage_compatible_metadata_validation(self): Every dash-separated suffix in each compatible string must either be a node name in the metadata DTS or be listed in - the skip patterns (camx, el2kvm). + the skip patterns (camx, el2gh, el2kvm, staging). This replicates the core check from check-fitimage-metadata.sh without requiring dtc. From 6b291ff495b66dbe3d7c7b468cb361b4bbc11a52 Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Sun, 7 Jun 2026 11:20:45 +0530 Subject: [PATCH 2/8] rb3gen2-core-kit: make kvm the default hypervisor KVM is the preffered hypervisor for Qualcomm Linux SoCs. Gunyah was used as an interim solution till KVM is fully functional. Now that KVM support on Rb3Gen2 Core Kit has been validated, it no longer requires Gunyah as an interim solution. Add 'kvm' to MACHINE_FEATURES so that the KVM-specific XBL configuration is selected during boot. This switches the default hypervisor to KVM and aligns Rb3Gen2 Core Kit with IQ-615-EVK, IQ-8275-EVK, and IQ-9075-EVK. Signed-off-by: Viswanath Kraleti --- conf/machine/rb3gen2-core-kit.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/machine/rb3gen2-core-kit.conf b/conf/machine/rb3gen2-core-kit.conf index 02f4b8e7b..95f923bf2 100644 --- a/conf/machine/rb3gen2-core-kit.conf +++ b/conf/machine/rb3gen2-core-kit.conf @@ -5,7 +5,7 @@ require conf/machine/include/qcom-qcs6490.inc # NOTE: TPM hardware is only present on rb3gen2-industrial kit -MACHINE_FEATURES += "efi m2connector pci tpm2 phone" +MACHINE_FEATURES += "efi kvm m2connector pci tpm2 phone" KERNEL_DEVICETREE ?= " \ qcom/qcs6490-rb3gen2.dtb \ From 8a3ce07598eff46f0fdf2ee50f88fdadb61867cc Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Sun, 7 Jun 2026 11:32:50 +0530 Subject: [PATCH 3/8] qcm6490-idp: make kvm the default hypervisor KVM is the preffered hypervisor for Qualcomm Linux SoCs. Gunyah was used as an interim solution till KVM is fully functional. Now that KVM support on QCM6490-IDP has been validated, it no longer requires Gunyah as an interim solution. Add 'kvm' to MACHINE_FEATURES so that the KVM-specific XBL configuration is selected during boot. This switches the default hypervisor to KVM and aligns QCM6490-IDP with IQ-615-EVK, IQ-8275-EVK, and IQ-9075-EVK. Signed-off-by: Viswanath Kraleti --- conf/machine/qcm6490-idp.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/machine/qcm6490-idp.conf b/conf/machine/qcm6490-idp.conf index 1c271258f..aeeef1406 100644 --- a/conf/machine/qcm6490-idp.conf +++ b/conf/machine/qcm6490-idp.conf @@ -4,7 +4,7 @@ require conf/machine/include/qcom-qcs6490.inc -MACHINE_FEATURES += "efi pci phone" +MACHINE_FEATURES += "efi kvm pci phone" KERNEL_DEVICETREE ?= " \ qcom/qcm6490-idp.dtb \ From d45717ef603ec4948be7e62773b207ce3b7dbf02 Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Thu, 17 Sep 2026 13:20:14 +0530 Subject: [PATCH 4/8] fit-dtb-compatible: align kodiak compatible strings with kvm-by-default Kodiak FIT_DTB_COMPATIBLE entries currently use el2kvm-suffixed compatible strings to load el2.dtbo for KVM. Entries without any el2 suffix implicitly meant Gunyah. As KVM is the default hypervisor now, rename the kodiak entries to match: drop the -el2kvm suffix from the entries that select kodiak-el2.dtbo, and append -el2gh to the sibling entries that don't, so the unsuffixed compatible string is KVM by default. Signed-off-by: Viswanath Kraleti --- .../include/fit-dtb-compatible-linux-qcom.inc | 52 +++++++++---------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc index 15f92edc0..1b631c839 100644 --- a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc +++ b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc @@ -193,59 +193,59 @@ FIT_DTB_COMPATIBLE[qcom_talos-evk-lvds-auo_g133han01-staging] = \ "talos-evk talos-evk-lvds-auo_g133han01 talos-el2 talos-staging" # ---------- kodiak ---------- -FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-staging] = "qcm6490-idp kodiak-staging" -FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-el2kvm] = "qcm6490-idp kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-el2gh-staging] = "qcm6490-idp kodiak-staging" +FIT_DTB_COMPATIBLE[qcom_qcm6490-idp] = "qcm6490-idp kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot] = \ "qcs6490-rb3gen2 kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot] = \ "qcs6490-rb3gen2 kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-el2gh-staging] = \ "qcs6490-rb3gen2 kodiak-staging qcs6490-rb3gen2-staging" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2gh-staging] = \ "qcs6490-rb3gen2 kodiak-staging qcs6490-rb3gen2-staging" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-staging qcs6490-rb3gen2-industrial-mezzanine-staging" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-staging qcs6490-rb3gen2-industrial-mezzanine-staging" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-staging qcs6490-rb3gen2-staging" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-staging qcs6490-rb3gen2-staging" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-camx] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-el2gh-camx] = \ "qcs6490-rb3gen2 qcs5430-fps-camx" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-camx] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-el2gh-camx] = \ "qcs6490-rb3gen2 qcs5430-fps-camx" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2gh-camx] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-el2gh-camx] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-camx-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-camx] = \ "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-camx-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-camx] = \ "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx-el2kvm] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-el2" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-camx-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-staging qcs6490-rb3gen2-staging" -FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-camx-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-staging qcs6490-rb3gen2-staging" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-staging qcs6490-rb3gen2-staging" -FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx-staging] = \ +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-staging qcs6490-rb3gen2-staging" # ---------- glymur ---------- FIT_DTB_COMPATIBLE[qcom_glymur-crd-staging] = "glymur-crd glymur-staging" From 8bced9a2faa0e2d8c16b2570878b174e31efe22f Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Thu, 17 Sep 2026 14:08:25 +0530 Subject: [PATCH 5/8] fit-dtb-compatible: add missing kodiak el2gh compatible strings The kodiak entries were renamed so the unsuffixed compatible string is KVM by default and an -el2gh suffix marks the Gunyah variant, but no -el2gh entry existed for the plain (no -staging, no -camx) combos, so those boards had no way to select the Gunyah DTB without kodiak-el2. Add the missing -el2gh entries for qcm6490-idp, qcs5430-iot, qcs6490-iot, and their subtype2/subtype9 variants. Signed-off-by: Viswanath Kraleti --- .../include/fit-dtb-compatible-linux-qcom.inc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc index 1b631c839..928e98b05 100644 --- a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc +++ b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc @@ -195,11 +195,16 @@ FIT_DTB_COMPATIBLE[qcom_talos-evk-lvds-auo_g133han01-staging] = \ # ---------- kodiak ---------- FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-el2gh-staging] = "qcm6490-idp kodiak-staging" FIT_DTB_COMPATIBLE[qcom_qcm6490-idp] = "qcm6490-idp kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-el2gh] = "qcm6490-idp" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot] = \ "qcs6490-rb3gen2 kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-el2gh] = \ + "qcs6490-rb3gen2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot] = \ "qcs6490-rb3gen2 kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2gh] = \ + "qcs6490-rb3gen2" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-el2gh-staging] = \ "qcs6490-rb3gen2 kodiak-staging qcs6490-rb3gen2-staging" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2gh-staging] = \ @@ -207,8 +212,12 @@ FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2gh-staging] = \ FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9-el2gh] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-el2gh] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-staging qcs6490-rb3gen2-industrial-mezzanine-staging" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-el2gh-staging] = \ @@ -216,8 +225,12 @@ FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-el2gh-staging] = \ FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-el2gh] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-el2gh] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-staging qcs6490-rb3gen2-staging" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-el2gh-staging] = \ From 1a71920855894c13f23954b55b3f0d87a3c04eb2 Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Thu, 17 Sep 2026 14:33:55 +0530 Subject: [PATCH 6/8] fit-dtb-compatible: default kodiak `-staging` entries to kvm The kodiak "-staging" FIT_DTB_COMPATIBLE entries carried no hypervisor overlay, unlike their non-staging counterparts, which were switched to default to the kvm hypervisor in a previous commit. Append "kodiak-el2" to the "-staging" entries' values so they default to kvm as well, consistent with the rest of the kodiak entries. Signed-off-by: Viswanath Kraleti --- .../include/fit-dtb-compatible-linux-qcom.inc | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc index 928e98b05..85dff92f3 100644 --- a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc +++ b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc @@ -193,6 +193,7 @@ FIT_DTB_COMPATIBLE[qcom_talos-evk-lvds-auo_g133han01-staging] = \ "talos-evk talos-evk-lvds-auo_g133han01 talos-el2 talos-staging" # ---------- kodiak ---------- +FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-staging] = "qcm6490-idp kodiak-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-el2gh-staging] = "qcm6490-idp kodiak-staging" FIT_DTB_COMPATIBLE[qcom_qcm6490-idp] = "qcm6490-idp kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-el2gh] = "qcm6490-idp" @@ -205,8 +206,12 @@ FIT_DTB_COMPATIBLE[qcom_qcs6490-iot] = \ "qcs6490-rb3gen2 kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2gh] = \ "qcs6490-rb3gen2" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-staging] = \ + "qcs6490-rb3gen2 kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-el2gh-staging] = \ "qcs6490-rb3gen2 kodiak-staging qcs6490-rb3gen2-staging" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-staging] = \ + "qcs6490-rb3gen2 kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-el2gh-staging] = \ "qcs6490-rb3gen2 kodiak-staging qcs6490-rb3gen2-staging" @@ -218,8 +223,12 @@ FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-el2gh] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9-staging] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-staging qcs6490-rb3gen2-industrial-mezzanine-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype9-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-staging qcs6490-rb3gen2-industrial-mezzanine-staging" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-staging] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-staging qcs6490-rb3gen2-industrial-mezzanine-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype9-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-industrial-mezzanine kodiak-staging qcs6490-rb3gen2-industrial-mezzanine-staging" @@ -231,8 +240,12 @@ FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-el2gh] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-staging] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-staging qcs6490-rb3gen2-staging" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-staging] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine kodiak-staging qcs6490-rb3gen2-staging" @@ -252,12 +265,20 @@ FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-el2" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-camx-staging] = \ + "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-staging qcs6490-rb3gen2-staging" +FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-camx-staging] = \ + "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs5430-iot-subtype2-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs5430-fps-camx kodiak-staging qcs6490-rb3gen2-staging" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx-staging] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-staging qcs6490-rb3gen2-staging" +FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx-staging] = \ + "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-staging qcs6490-rb3gen2-staging kodiak-el2" FIT_DTB_COMPATIBLE[qcom_qcs6490-iot-subtype2-camx-el2gh-staging] = \ "qcs6490-rb3gen2 qcs6490-rb3gen2-vision-mezzanine-camx kodiak-staging qcs6490-rb3gen2-staging" # ---------- glymur ---------- From 36f577ec263cd6937d79ff998b46328f39c57224 Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Wed, 5 Aug 2026 14:43:21 +0530 Subject: [PATCH 7/8] build-yocto: use qcom-distro builds for rb3gen2-core-kit-open-fw The rb3gen2-core-kit-open-fw machine inherit base rb3gen2-core-kit machine configuration which now has 'kvm' by default. The KAS fragment it was using to inject 'kvm' is therefore redundant, so switch the CI entry from qcom-distro-kvm to qcom-distro. Signed-off-by: Viswanath Kraleti --- .github/workflows/build-yocto.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-yocto.yml b/.github/workflows/build-yocto.yml index 61b4c3dfe..571e55969 100644 --- a/.github/workflows/build-yocto.yml +++ b/.github/workflows/build-yocto.yml @@ -428,8 +428,8 @@ jobs: yamlfile: ":ci/linux-qcom-6.18.yml:ci/u-boot-qcom.yml" - machine: rb3gen2-core-kit-open-fw distro: - name: qcom-distro-kvm - yamlfile: ':ci/qcom-distro-kvm.yml' + name: qcom-distro + yamlfile: ':ci/qcom-distro.yml' kernel: type: default dirname: "" From 8eb083acd45cb9f08a5ad93b5e1700d0aa183c16 Mon Sep 17 00:00:00 2001 From: Viswanath Kraleti Date: Sun, 7 Jun 2026 11:43:59 +0530 Subject: [PATCH 8/8] build-yocto: drop rb3gen2-core-kit kvm build variant KVM is now enabled by default on Rb3Gen2-Core-Kit, making the dedicated KVM build is redundent. Signed-off-by: Viswanath Kraleti --- .github/workflows/build-yocto.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/build-yocto.yml b/.github/workflows/build-yocto.yml index 571e55969..924708812 100644 --- a/.github/workflows/build-yocto.yml +++ b/.github/workflows/build-yocto.yml @@ -354,14 +354,6 @@ jobs: type: default dirname: "" yamlfile: "" - - machine: rb3gen2-core-kit - distro: - name: qcom-distro-kvm - yamlfile: ':ci/qcom-distro-kvm.yml' - kernel: - type: default - dirname: "" - yamlfile: "" - machine: qcom-armv7a distro: name: nodistro