From b68a24bed5c2aa7a77a5f6891b489b3177597ff7 Mon Sep 17 00:00:00 2001 From: Jamin Lin Date: Thu, 13 Apr 2023 18:31:09 +0800 Subject: [PATCH] uboot-sign: support 64bits address The default value of address-cells is "1", so the generated "its" file only support 32bits address for uboot FIT image. However, some platforms may want to support 64bits address of UBOOT_LOADADDRESS and UBOOT_ENTRYPOINT. Therefore, add variables to support both 64bits and 32bits address. By default, the address-cell is 1 which is used for 32bits load address. If users would like to use 64bits load address, users are able to set as following for "0x400000000" 64bits load address. 1. FIT_ADDRESS_CELLS = "2" 2. UBOOT_LOADADDRESS= "0x04 0x00000000" (From OE-Core rev: b4e46cdbd0727d97d13c2b8e9e4ce19c5c693f51) Signed-off-by: Jamin Lin Signed-off-by: Luca Ceresoli Signed-off-by: Richard Purdie --- meta/classes-recipe/uboot-sign.bbclass | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass index 3065c54577..ad04c82378 100644 --- a/meta/classes-recipe/uboot-sign.bbclass +++ b/meta/classes-recipe/uboot-sign.bbclass @@ -81,6 +81,10 @@ UBOOT_FIT_KEY_REQ_ARGS ?= "-batch -new" # Standard format for public key certificate UBOOT_FIT_KEY_SIGN_PKCS ?= "-x509" +# length of address in number of cells +# ex: 1 32bits address, 2 64bits address +UBOOT_FIT_ADDRESS_CELLS ?= "1" + # This is only necessary for determining the signing configuration KERNEL_PN = "${PREFERRED_PROVIDER_virtual/kernel}" @@ -234,7 +238,7 @@ uboot_fitimage_assemble() { / { description = "${UBOOT_FIT_DESC}"; - #address-cells = <1>; + #address-cells = <${UBOOT_FIT_ADDRESS_CELLS}>; images { uboot {