diff --git a/.github/workflows/build-yocto.yml b/.github/workflows/build-yocto.yml index 61b4c3dfe..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 @@ -428,8 +420,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: "" diff --git a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc index 15f92edc0..85dff92f3 100644 --- a/conf/machine/include/fit-dtb-compatible-linux-qcom.inc +++ b/conf/machine/include/fit-dtb-compatible-linux-qcom.inc @@ -193,59 +193,93 @@ 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-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" -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_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-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" -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_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-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" -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_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-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" -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] = \ + "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 ---------- FIT_DTB_COMPATIBLE[qcom_glymur-crd-staging] = "glymur-crd glymur-staging" 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 \ 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 \ 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.