Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 2 additions & 10 deletions .github/workflows/build-yocto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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: ""
Expand Down
66 changes: 50 additions & 16 deletions conf/machine/include/fit-dtb-compatible-linux-qcom.inc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Comment thread
lumag marked this conversation as resolved.
FIT_DTB_COMPATIBLE[qcom_qcm6490-idp-el2gh] = "qcm6490-idp"
Comment thread
lumag marked this conversation as resolved.

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] = \
Comment thread
lumag marked this conversation as resolved.
"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"
Expand Down
2 changes: 1 addition & 1 deletion conf/machine/qcm6490-idp.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
2 changes: 1 addition & 1 deletion conf/machine/rb3gen2-core-kit.conf
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will break capsule update for rb3gen2 as it is still using xbl_config.elf (the kvm logic is only in qcomflash).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed this case with the Target team. ishnajain (@ishnajain-qcom) uchitroj-qcom agreed to provide an updated bootbins/Meta build where KVM's config is going to be copied as default xbl_config.elf. This switch can happen only after HLOS also switch i.e. post merging this PR.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merging this PR will break capsule update, so the firmware update should go along with this PR.

Are we expecting a new boot firmware to be provided before 2.1? Otherwise we should just change the capsule update logic to handle other xbl_configs (as it will be needed for gunyah anyway, since capsule should work with both).

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#3165 is to rename XBL_Config.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can merge based on #3045 as well, then we can include the boot firmware changes that would switch the default xbl_config.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#3045 is now merged.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebased.


KERNEL_DEVICETREE ?= " \
qcom/qcs6490-rb3gen2.dtb \
Expand Down
10 changes: 6 additions & 4 deletions lib/oeqa/selftest/cases/qcom_fitimage.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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.
Expand Down
Loading