diff --git a/classes-recipe/qcom-capsule.bbclass b/classes-recipe/qcom-capsule.bbclass index 9219760a3..31ec31533 100644 --- a/classes-recipe/qcom-capsule.bbclass +++ b/classes-recipe/qcom-capsule.bbclass @@ -203,6 +203,9 @@ python generate_fvupdate() { } do_compile[prefuncs] += "generate_fvupdate" +# Add the CAPSULE_ENTRY_* data as a dependency to generate_fvupdate(). +# This makes sure we rebuild when changes are made to the entries. +generate_fvupdate[vardeps] += "${@' '.join('CAPSULE_ENTRY_' + e for e in d.getVar('CAPSULE_ENTRIES').split())}" # Inject the OEM root certificate into xbl_config.elf. # Dumps the config sections, auto-detects the post-DDR DTB (or uses diff --git a/conf/machine/iq-x7181-evk.conf b/conf/machine/iq-x7181-evk.conf index 607631e6b..d5ef492ba 100644 --- a/conf/machine/iq-x7181-evk.conf +++ b/conf/machine/iq-x7181-evk.conf @@ -34,6 +34,19 @@ QCOM_BOOT_FIRMWARE = "firmware-qcom-boot-iq-x7181" QCOM_CDT_FIRMWARE = "firmware-qcom-cdt-iq-x7181" CAPSULE_GUID = "0F6D58FC-2258-4D27-9E23-D77219B0897C" +CAPSULE_FLASH_TYPE = "NORUFS" +CAPSULE_ENTRIES = "dtb" + +# Hamoa stores the Linux DTB FIT image in SPINOR. The firmware uses a +# main/backup model: dtb is always the active partition; dtb_BACKUP holds a +# rollback copy that is overwritten by before dtb is updated. +CAPSULE_ENTRY_dtb[binary] = "dtb.bin" +CAPSULE_ENTRY_dtb[dest_disk] = "SPINOR" +CAPSULE_ENTRY_dtb[dest_partition] = "dtb" +CAPSULE_ENTRY_dtb[dest_guid] = "{2A1A52FC-AA0B-401C-A808-5EA0F91068F8}" +CAPSULE_ENTRY_dtb[backup_disk] = "SPINOR" +CAPSULE_ENTRY_dtb[backup_partition] = "dtb_BACKUP" +CAPSULE_ENTRY_dtb[backup_guid] = "{A166F11A-2B39-4FAA-B7E7-F8AA080D0587}" # Isolate rt cpu QCOM_RT_CPU = "11" diff --git a/dynamic-layers/meta-arm/recipes-firmware/firmware/firmware-qcom-capsule_%.bbappend b/dynamic-layers/meta-arm/recipes-firmware/firmware/firmware-qcom-capsule_%.bbappend deleted file mode 100644 index 373a63afe..000000000 --- a/dynamic-layers/meta-arm/recipes-firmware/firmware/firmware-qcom-capsule_%.bbappend +++ /dev/null @@ -1,13 +0,0 @@ -CAPSULE_FLASH_TYPE:iq-x7181-evk = "NORUFS" -CAPSULE_ENTRIES:iq-x7181-evk = "dtb" - -# Hamoa stores the Linux DTB FIT image in SPINOR. The firmware uses a -# main/backup model: dtb is always the active partition; dtb_BACKUP holds a -# rollback copy that is overwritten by before dtb is updated. -CAPSULE_ENTRY_dtb[binary] = "dtb.bin" -CAPSULE_ENTRY_dtb[dest_disk] = "SPINOR" -CAPSULE_ENTRY_dtb[dest_partition] = "dtb" -CAPSULE_ENTRY_dtb[dest_guid] = "{2A1A52FC-AA0B-401C-A808-5EA0F91068F8}" -CAPSULE_ENTRY_dtb[backup_disk] = "SPINOR" -CAPSULE_ENTRY_dtb[backup_partition] = "dtb_BACKUP" -CAPSULE_ENTRY_dtb[backup_guid] = "{A166F11A-2B39-4FAA-B7E7-F8AA080D0587}"