diff options
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.bb | 29 |
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 | ||
| 27 | def uboot_boot_cmd(d): | 27 | def 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 | ||
| 36 | def get_sdbootdev(d): | 36 | def 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" | |||
| 89 | KERNEL_LOAD_ADDRESS:zynqmp = "0x200000" | 89 | KERNEL_LOAD_ADDRESS:zynqmp = "0x200000" |
| 90 | DEVICETREE_LOAD_ADDRESS:zynq = "0x2000000" | 90 | DEVICETREE_LOAD_ADDRESS:zynq = "0x2000000" |
| 91 | DEVICETREE_LOAD_ADDRESS:zynqmp = "0x4000000" | 91 | DEVICETREE_LOAD_ADDRESS:zynqmp = "0x4000000" |
| 92 | DEVICETREE_OVERLAY_LOAD_ADDRESS = "${@hex(int(d.getVar("DEVICETREE_LOAD_ADDRESS"),16) + 0xf00000)}" | 92 | DEVICETREE_OVERLAY_LOAD_ADDRESS:zynq = "${@hex(int(d.getVar("DEVICETREE_LOAD_ADDRESS"),16) + 0xf00000)}" |
| 93 | DEVICETREE_OVERLAY_LOAD_ADDRESS:zynqmp = "${@hex(int(d.getVar("DEVICETREE_LOAD_ADDRESS"),16) + 0xf00000)}" | ||
| 93 | 94 | ||
| 94 | python do_compile() { | 95 | python do_compile() { |
| 95 | env = uenv_populate(d) | 96 | env = uenv_populate(d) |
