summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-standalone/recipes-bsp/embeddedsw
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@xilinx.com>2022-01-25 10:05:28 -0800
committerMark Hatle <mark.hatle@xilinx.com>2022-02-04 13:30:00 -0800
commit3330093982a671d30ccf08aa131ec9dc7144db59 (patch)
tree329a9829fe78e668112c48d6fd4ed360a6b30419 /meta-xilinx-standalone/recipes-bsp/embeddedsw
parent6c999b4f0a032f13f9824f30a0fe96233c7d29a6 (diff)
downloadmeta-xilinx-3330093982a671d30ccf08aa131ec9dc7144db59.tar.gz
embeddedsw: Update to skip checks in eSDK build/install
device-tree, fsbl, plmfw, pmufw, psmfw do basic validation checks, when in an eSDK skip these checks. Otherwise a partially configured system can't generate an eSDK for the end user. Sync Core and Standalone usages to be consistent. Also cleanup the BB_DONT_CACHE to be consistent in all usages. Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
Diffstat (limited to 'meta-xilinx-standalone/recipes-bsp/embeddedsw')
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend15
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend15
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend15
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend16
4 files changed, 49 insertions, 12 deletions
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend
index 5b02e3de..4507a0c7 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl.bbappend
@@ -3,7 +3,16 @@ FSBL_INC = "${@bb.utils.contains('BBMULTICONFIG', 'fsbl-fw', 'fsbl-fw-cfg.inc',
3require ${FSBL_INC} 3require ${FSBL_INC}
4 4
5def check_fsbl_variables(d): 5def check_fsbl_variables(d):
6 if not d.getVar('FSBL_DEPENDS') and not d.getVar('FSBL_MCDEPENDS') and not (d.getVar('BBMULTICONFIG') and 'fsbl-fw' in d.getVar('BBMULTICONFIG').split()): 6 # If both are blank, the user MUST pass in the path to the firmware!
7 if not d.getVar('FSBL_DEPENDS') and not d.getVar('FSBL_MCDEPENDS'):
8 # Don't cache this, as the items on disk can change!
9 d.setVar('BB_DONT_CACHE', '1')
10
7 if not os.path.exists(d.getVar('FSBL_FILE') + ".elf"): 11 if not os.path.exists(d.getVar('FSBL_FILE') + ".elf"):
8 d.setVar('BB_DONT_CACHE', '1') 12 if not d.getVar('WITHIN_EXT_SDK'):
9 raise bb.parse.SkipRecipe("The expect file %s.elf is not available.\nEither specify FSBL_FILE, or you may need to enable BBMULTICONFIG += 'fsbl-fw' to generate it." % d.getVar('FSBL_FILE')) 13 raise bb.parse.SkipRecipe("The expect file %s.elf is not available.\nSet FSBL_FILE to the path with a precompiled FSBL binary or you may need to enable BBMULTICONFIG += 'fsbl-fw' to generate it." % d.getVar('FSBL_FILE'))
14 else:
15 # We found the file, so be sure to track it
16 d.setVar('SRC_URI', 'file://${FSBL_FILE}.elf')
17 d.setVarFlag('do_install', 'file-checksums', '${FSBL_FILE}.elf:True')
18 d.setVarFlag('do_deploy', 'file-checksums', '${FSBL_FILE}.elf:True')
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend
index d63529ff..49c897e1 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plmfw.bbappend
@@ -3,7 +3,11 @@ PLMFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'versal-fw', 'versal-fw-cfg.i
3require ${PLMFW_INC} 3require ${PLMFW_INC}
4 4
5def check_plm_vars(d): 5def check_plm_vars(d):
6 if not d.getVar('PLM_DEPENDS') and not d.getVar('PLM_MCDEPENDS') and not (d.getVar('BBMULTICONFIG') and 'versal-fw' in d.getVar('BBMULTICONFIG').split()): 6 # If both are blank, the user MUST pass in the path to the firmware!
7 if not d.getVar('PLM_DEPENDS') and not d.getVar('PLM_MCDEPENDS'):
8 # Don't cache this, as the items on disk can change!
9 d.setVar('BB_DONT_CACHE', '1')
10
7 msg = "" 11 msg = ""
8 fail = False 12 fail = False
9 if not os.path.exists(d.getVar('PLM_FILE') + ".elf"): 13 if not os.path.exists(d.getVar('PLM_FILE') + ".elf"):
@@ -13,5 +17,10 @@ def check_plm_vars(d):
13 msg = msg + "The expected file %s.bin is not available. " % d.getVar('PLM_FILE') 17 msg = msg + "The expected file %s.bin is not available. " % d.getVar('PLM_FILE')
14 fail = True 18 fail = True
15 if fail: 19 if fail:
16 d.setVar('BB_DONT_CACHE', '1') 20 if not d.getVar('WITHIN_EXT_SDK'):
17 raise bb.parse.SkipRecipe("%s\nEither specify PLM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg) 21 raise bb.parse.SkipRecipe("%s\nEither specify PLM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg)
22 else:
23 # We found the file, so be sure to track it
24 d.setVar('SRC_URI', 'file://${PLM_FILE}.elf file://${PLM_FILE}.bin')
25 d.setVarFlag('do_install', 'file-checksums', '${PLM_FILE}.elf:True')
26 d.setVarFlag('do_deploy', 'file-checksums', '${PLM_FILE}.elf:True ${PLM_FILE}.bin:True')
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend
index 947408a1..663134c4 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmufw.bbappend
@@ -3,7 +3,11 @@ PMUFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'zynqmp-pmufw', 'zynqmp-pmufw
3require ${PMUFW_INC} 3require ${PMUFW_INC}
4 4
5def check_pmu_vars(d): 5def check_pmu_vars(d):
6 if not d.getVar('PMU_DEPENDS') and not d.getVar('PMU_MCDEPENDS') and not (d.getVar('BBMULTICONFIG') and 'zynqmp-pmufw' in d.getVar('BBMULTICONFIG').split()): 6 # If both are blank, the user MUST pass in the path to the firmware!
7 if not d.getVar('PMU_FIRMWARE_DEPENDS') and not d.getVar('PMU_FIRMWARE_MCDEPENDS'):
8 # Don't cache this, as the items on disk can change!
9 d.setVar('BB_DONT_CACHE', '1')
10
7 msg = "" 11 msg = ""
8 fail = False 12 fail = False
9 if not os.path.exists(d.getVar('PMU_FILE') + ".elf"): 13 if not os.path.exists(d.getVar('PMU_FILE') + ".elf"):
@@ -13,5 +17,10 @@ def check_pmu_vars(d):
13 msg = msg + "The expected file %s.bin is not available. " % d.getVar('PMU_FILE') 17 msg = msg + "The expected file %s.bin is not available. " % d.getVar('PMU_FILE')
14 fail = True 18 fail = True
15 if fail: 19 if fail:
16 d.setVar('BB_DONT_CACHE', '1') 20 if not d.getVar('WITHIN_EXT_SDK'):
17 raise bb.parse.SkipRecipe("%s\nEither specify PMU_FILE, or you may need to enable BBMULTICONFIG += 'zynqmp-pmufw' to generate it." % msg) 21 raise bb.parse.SkipRecipe("%s\nEither specify PMU_FILE, or you may need to enable BBMULTICONFIG += 'zynqmp-pmufw' to generate it." % msg)
22 else:
23 # We found the file, so be sure to track it
24 d.setVar('SRC_URI', 'file://${PMU_FILE}.elf file://${PMU_FILE}.bin')
25 d.setVarFlag('do_install', 'file-checksums', '${PMU_FILE}.elf:True')
26 d.setVarFlag('do_deploy', 'file-checksums', '${PMU_FILE}.elf:True ${PMU_FILE}.bin:True')
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend
index 8944152d..dc7c6df6 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psmfw.bbappend
@@ -3,7 +3,11 @@ PSMFW_INC = "${@bb.utils.contains('BBMULTICONFIG', 'versal-fw', 'versal-fw-cfg.i
3require ${PSMFW_INC} 3require ${PSMFW_INC}
4 4
5def check_psm_vars(d): 5def check_psm_vars(d):
6 if not d.getVar('PSM_DEPENDS') and not d.getVar('PSM_MCDEPENDS') and not (d.getVar('BBMULTICONFIG') and 'versal-fw' in d.getVar('BBMULTICONFIG').split()): 6 # If both are blank, the user MUST pass in the path to the firmware!
7 if not d.getVar('PSM_DEPENDS') and not d.getVar('PSM_MCDEPENDS'):
8 # Don't cache this, as the items on disk can change!
9 d.setVar('BB_DONT_CACHE', '1')
10
7 msg = "" 11 msg = ""
8 fail = False 12 fail = False
9 if not os.path.exists(d.getVar('PSM_FILE') + ".elf"): 13 if not os.path.exists(d.getVar('PSM_FILE') + ".elf"):
@@ -12,6 +16,12 @@ def check_psm_vars(d):
12 if not os.path.exists(d.getVar('PSM_FILE') + ".bin"): 16 if not os.path.exists(d.getVar('PSM_FILE') + ".bin"):
13 msg = msg + "The expected file %s.bin is not available. " % d.getVar('PSM_FILE') 17 msg = msg + "The expected file %s.bin is not available. " % d.getVar('PSM_FILE')
14 fail = True 18 fail = True
19
15 if fail: 20 if fail:
16 d.setVar('BB_DONT_CACHE', '1') 21 if not d.getVar('WITHIN_EXT_SDK'):
17 raise bb.parse.SkipRecipe("%s\nEither specify PSM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg) 22 raise bb.parse.SkipRecipe("%s\nEither specify PSM_FILE, or you may need to enable BBMULTICONFIG += 'versal-fw' to generate it." % msg)
23 else:
24 # We found the file, so be sure to track it
25 d.setVar('SRC_URI', 'file://${PSM_FILE}.elf file://${PSM_FILE}.bin')
26 d.setVarFlag('do_install', 'file-checksums', '${PSM_FILE}.elf:True')
27 d.setVarFlag('do_deploy', 'file-checksums', '${PSM_FILE}.elf:True ${PSM_FILE}.bin:True')