summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Lee <timlee660101@gmail.com>2023-11-08 12:29:00 +0300
committerPatrick Williams <patrick@stwcx.xyz>2023-11-28 04:43:12 +0300
commit0e2dc68c59455d08ed20955e5b701f812256f0db (patch)
treea1d3c5f67303e7634f21926639f2f7de360d6c34
parent92778ef997eb109db051811610c884f7cb90dfc0 (diff)
downloadopenbmc-0e2dc68c59455d08ed20955e5b701f812256f0db.tar.xz
meta-phosphor: npcm8xx.bbclass: add SA FW support mimic NO TIP feature
SA (Stand Alone) is a special TIP_FW for mimic NO TIP feature on TIP devices, i.e. concatenated file image_no_tip + SA FW for mimic NO TIP For TIP device and no need TIP_FW that is using "BootBlock_BL31_Tee_Uboot_no_tip_SA.bin" for booting up. For real NO TIP device that is using "BootBlock_BL31_Tee_Uboot_no_tip.bin" for booting up. Tested: Set TIP_IMAGE = False and SA_TIP_IMAGE = True, TIP device and can boot up. Set TIP_IMAGE = False and SA_TIP_IMAGE = False, NO_TIP device and can boot up. Signed-off-by: Tim Lee <timlee660101@gmail.com> Change-Id: I395504c67e054f1e1f08e674e7dbb1f3c8a85d8c
-rw-r--r--meta-phosphor/classes/image_types_phosphor_nuvoton_npcm8xx.bbclass19
1 files changed, 17 insertions, 2 deletions
diff --git a/meta-phosphor/classes/image_types_phosphor_nuvoton_npcm8xx.bbclass b/meta-phosphor/classes/image_types_phosphor_nuvoton_npcm8xx.bbclass
index 9b6db798d0..03500faa14 100644
--- a/meta-phosphor/classes/image_types_phosphor_nuvoton_npcm8xx.bbclass
+++ b/meta-phosphor/classes/image_types_phosphor_nuvoton_npcm8xx.bbclass
@@ -7,10 +7,12 @@ KMT_TIPFW_BB_BINARY = "Kmt_TipFw_BootBlock.bin"
KMT_TIPFW_BB_BL31_BINARY = "Kmt_TipFw_BootBlock_BL31.bin"
KMT_TIPFW_BB_BL31_TEE_BINARY = "Kmt_TipFw_BootBlock_BL31_Tee.bin"
KMT_TIPFW_BB_UBOOT_BINARY = "u-boot.bin.merged"
+SA_KMT_TIPFW_BINARY := "SA_Kmt_TipFwL0.bin"
BB_BL31_BINARY = "BootBlock_BL31_no_tip.bin"
BB_BL31_TEE_BINARY = "BootBlock_BL31_Tee_no_tip.bin"
-BB_BL31_TEE_UBOOT_BINARY = "u-boot.bin.merged"
+BB_BL31_TEE_UBOOT_BINARY = "BootBlock_BL31_Tee_Uboot_no_tip.bin"
+BB_BL31_TEE_UBOOT_SA_BINARY = "BootBlock_BL31_Tee_Uboot_no_tip_SA.bin"
FULL_SUFFIX = "full"
MERGED_SUFFIX = "merged"
@@ -157,6 +159,7 @@ do_sign_binary() {
python do_merge_bootloaders() {
TIP_IMAGE = d.getVar('TIP_IMAGE', True)
+ SA_TIP_IMAGE = d.getVar('SA_TIP_IMAGE', True)
def Merge_bin_files_and_pad(inF1, inF2, outF, align, align_end):
padding_size = 0
padding_size_end = 0
@@ -217,10 +220,22 @@ python do_merge_bootloaders() {
os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('UBOOT_HEADER_BINARY',True)),
os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('BB_BL31_TEE_UBOOT_BINARY',True)),
int(d.getVar('UBOOT_ALIGN', True)), int(d.getVar('ALIGN_END', True)))
+
+ if SA_TIP_IMAGE == "True":
+ Merge_bin_files_and_pad(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('BB_BL31_TEE_UBOOT_BINARY',True)),
+ os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('SA_KMT_TIPFW_BINARY',True)),
+ os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('BB_BL31_TEE_UBOOT_SA_BINARY',True)),
+ int(d.getVar('SA_ALIGN', True)), int(d.getVar('ALIGN_END', True)))
+
+ os.rename(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('BB_BL31_TEE_UBOOT_SA_BINARY',True)),
+ os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('KMT_TIPFW_BB_UBOOT_BINARY',True)))
+ else:
+ os.rename(os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('BB_BL31_TEE_UBOOT_BINARY',True)),
+ os.path.join(d.getVar('DEPLOY_DIR_IMAGE', True), '%s' % d.getVar('KMT_TIPFW_BB_UBOOT_BINARY',True)))
}
do_pad_binary[depends] += " \
- ${@'npcm8xx-tip-fw:do_deploy' if d.getVar('TIP_IMAGE', True) == 'True' else ''} \
+ ${@'npcm8xx-tip-fw:do_deploy' if d.getVar('TIP_IMAGE', True) == 'True' or d.getVar('SA_TIP_IMAGE', True) == 'True' else ''} \
npcm8xx-bootblock:do_deploy \
u-boot-nuvoton:do_deploy \
trusted-firmware-a:do_deploy \