summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb')
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb29
1 files changed, 15 insertions, 14 deletions
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb
index 1efc5392..dafaab25 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb
@@ -16,7 +16,7 @@ def remove_task_from_depends(d):
16 extra_imagedepends = d.getVar('EXTRA_IMAGEDEPENDS') or '' 16 extra_imagedepends = d.getVar('EXTRA_IMAGEDEPENDS') or ''
17 uenv_depends = '' 17 uenv_depends = ''
18 for imagedepend in extra_imagedepends.split(): 18 for imagedepend in extra_imagedepends.split():
19 if imagedepend == d.getVar("BPN"): 19 if imagedepend == d.getVar("BPN") or '':
20 continue 20 continue
21 elif ':' in imagedepend: 21 elif ':' in imagedepend:
22 uenv_depends += ' %s' % imagedepend.split(':')[0] 22 uenv_depends += ' %s' % imagedepend.split(':')[0]
@@ -25,16 +25,16 @@ def remove_task_from_depends(d):
25 return uenv_depends 25 return uenv_depends
26 26
27def uboot_boot_cmd(d): 27def uboot_boot_cmd(d):
28 if d.getVar("KERNEL_IMAGETYPE") in ["uImage", "fitImage"]: 28 if (d.getVar("KERNEL_IMAGETYPE") or '') in ["uImage", "fitImage"]:
29 return "bootm" 29 return "bootm"
30 if d.getVar("KERNEL_IMAGETYPE") in ["zImage"]: 30 if (d.getVar("KERNEL_IMAGETYPE") or '') in ["zImage"]:
31 return "bootz" 31 return "bootz"
32 if d.getVar("KERNEL_IMAGETYPE") in ["Image"]: 32 if (d.getVar("KERNEL_IMAGETYPE") or '') in ["Image"]:
33 return "booti" 33 return "booti"
34 raise bb.parse.SkipRecipe("Unsupport kernel image type") 34 raise bb.parse.SkipRecipe("Unsupport kernel image type")
35 35
36def get_sdbootdev(d): 36def get_sdbootdev(d):
37 if d.getVar("SOC_FAMILY") in ["zynqmp"]: 37 if (d.getVar("SOC_FAMILY") or '') in ["zynqmp"]:
38 return "${devnum}" 38 return "${devnum}"
39 else: 39 else:
40 return "0" 40 return "0"
@@ -43,24 +43,24 @@ def uenv_populate(d):
43 # populate the environment values 43 # populate the environment values
44 env = {} 44 env = {}
45 45
46 env["machine_name"] = d.getVar("MACHINE") 46 env["machine_name"] = d.getVar("MACHINE") or ''
47 47
48 env["kernel_image"] = d.getVar("KERNEL_IMAGETYPE") 48 env["kernel_image"] = d.getVar("KERNEL_IMAGETYPE") or ''
49 env["kernel_load_address"] = d.getVar("KERNEL_LOAD_ADDRESS") 49 env["kernel_load_address"] = d.getVar("KERNEL_LOAD_ADDRESS") or ''
50 50
51 env["devicetree_image"] = boot_files_dtb_filepath(d) 51 env["devicetree_image"] = boot_files_dtb_filepath(d)
52 env["devicetree_load_address"] = d.getVar("DEVICETREE_LOAD_ADDRESS") 52 env["devicetree_load_address"] = d.getVar("DEVICETREE_LOAD_ADDRESS") or ''
53 env["devicetree_overlay_load_address" ] = d.getVar("DEVICETREE_OVERLAY_LOAD_ADDRESS") 53 env["devicetree_overlay_load_address" ] = d.getVar("DEVICETREE_OVERLAY_LOAD_ADDRESS") or ''
54 54
55 env["bootargs"] = d.getVar("KERNEL_BOOTARGS") 55 env["bootargs"] = d.getVar("KERNEL_BOOTARGS") or ''
56 56
57 env["loadkernel"] = "fatload mmc " + get_sdbootdev(d) + " ${kernel_load_address} ${kernel_image}" 57 env["loadkernel"] = "fatload mmc " + get_sdbootdev(d) + " ${kernel_load_address} ${kernel_image}"
58 env["loaddtb"] = "fatload mmc " + get_sdbootdev(d) + " ${devicetree_load_address} ${devicetree_image}" 58 env["loaddtb"] = "fatload mmc " + get_sdbootdev(d) + " ${devicetree_load_address} ${devicetree_image}"
59 env["loaddtbo"] = "if test -e mmc " + get_sdbootdev(d) + " /devicetree/openamp.dtbo; then fatload mmc " + get_sdbootdev(d) + " ${devicetree_overlay_load_address} /devicetree/openamp.dtbo ; fdt addr ${devicetree_load_address} ; fdt resize 8192 ; fdt apply ${devicetree_overlay_load_address} ; fi" 59 env["loaddtbo"] = "if test -e mmc " + get_sdbootdev(d) + " /devicetree/openamp.dtbo; then fatload mmc " + get_sdbootdev(d) + " ${devicetree_overlay_load_address} /devicetree/openamp.dtbo ; fdt addr ${devicetree_load_address} ; fdt resize 8192 ; fdt apply ${devicetree_overlay_load_address} ; fi"
60 env["bootkernel"] = "run loadkernel && run loaddtb && run loaddtbo && " + uboot_boot_cmd(d) + " ${kernel_load_address} - ${devicetree_load_address}" 60 env["bootkernel"] = "run loadkernel && run loaddtb && run loaddtbo && " + uboot_boot_cmd(d) + " ${kernel_load_address} - ${devicetree_load_address}"
61 61
62 if d.getVar("SOC_FAMILY") in ["zynqmp"]: 62 if (d.getVar("SOC_FAMILY") or '') in ["zynqmp"]:
63 env["bootkernel"] = "setenv bootargs " + d.getVar("KERNEL_BOOTARGS") + " ; " + env["bootkernel"] 63 env["bootkernel"] = "setenv bootargs " + (d.getVar("KERNEL_BOOTARGS") or '') + " ; " + env["bootkernel"]
64 64
65 # default uenvcmd does not load bitstream 65 # default uenvcmd does not load bitstream
66 env["uenvcmd"] = "run bootkernel" 66 env["uenvcmd"] = "run bootkernel"
@@ -89,7 +89,8 @@ KERNEL_LOAD_ADDRESS:zynq = "0x2080000"
89KERNEL_LOAD_ADDRESS:zynqmp = "0x200000" 89KERNEL_LOAD_ADDRESS:zynqmp = "0x200000"
90DEVICETREE_LOAD_ADDRESS:zynq = "0x2000000" 90DEVICETREE_LOAD_ADDRESS:zynq = "0x2000000"
91DEVICETREE_LOAD_ADDRESS:zynqmp = "0x4000000" 91DEVICETREE_LOAD_ADDRESS:zynqmp = "0x4000000"
92DEVICETREE_OVERLAY_LOAD_ADDRESS = "${@hex(int(d.getVar("DEVICETREE_LOAD_ADDRESS"),16) + 0xf00000)}" 92DEVICETREE_OVERLAY_LOAD_ADDRESS:zynq = "${@hex(int(d.getVar("DEVICETREE_LOAD_ADDRESS"),16) + 0xf00000)}"
93DEVICETREE_OVERLAY_LOAD_ADDRESS:zynqmp = "${@hex(int(d.getVar("DEVICETREE_LOAD_ADDRESS"),16) + 0xf00000)}"
93 94
94python do_compile() { 95python do_compile() {
95 env = uenv_populate(d) 96 env = uenv_populate(d)