diff options
author | Adrian Fiergolski <adrian.fiergolski@fastree3d.com> | 2020-01-27 15:35:43 +0100 |
---|---|---|
committer | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2020-09-30 11:38:41 -0700 |
commit | 874b9cee5e469a347f39183c39d9c2307370c80d (patch) | |
tree | f205f84fc9f1a671ae1d70b2ece5d58e08123a70 | |
parent | 77b676f8f0970c0f93abb05b70c74848bb593cef (diff) | |
download | meta-xilinx-874b9cee5e469a347f39183c39d9c2307370c80d.tar.gz |
Add FPGA bitfile download support in the u-boot.scr.
It is inspired by u-boot-zynq-uenv.bb
Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
3 files changed, 21 insertions, 1 deletions
diff --git a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb index 45a2e2c8..e8b91922 100644 --- a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb +++ b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb | |||
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
4 | 4 | ||
5 | DEPENDS = "u-boot-mkimage-native" | 5 | DEPENDS = "u-boot-mkimage-native" |
6 | 6 | ||
7 | inherit deploy nopackages | 7 | inherit deploy nopackages image-wic-utils |
8 | 8 | ||
9 | INHIBIT_DEFAULT_DEPS = "1" | 9 | INHIBIT_DEFAULT_DEPS = "1" |
10 | 10 | ||
@@ -48,11 +48,20 @@ KERNEL_LOAD_ADDRESS_versal ?= "0x80000" | |||
48 | RAMDISK_IMAGE_ADDRESS_zynq ?= "0x4000000" | 48 | RAMDISK_IMAGE_ADDRESS_zynq ?= "0x4000000" |
49 | RAMDISK_IMAGE_ADDRESS_versal ?= "0x6000000" | 49 | RAMDISK_IMAGE_ADDRESS_versal ?= "0x6000000" |
50 | 50 | ||
51 | |||
51 | SDBOOTDEV ?= "0" | 52 | SDBOOTDEV ?= "0" |
52 | 53 | ||
54 | BITSTREAM_LOAD_ADDRESS ?= "0x100000" | ||
55 | |||
53 | do_configure[noexec] = "1" | 56 | do_configure[noexec] = "1" |
54 | do_install[noexec] = "1" | 57 | do_install[noexec] = "1" |
55 | 58 | ||
59 | def get_bitstream_load_type(d): | ||
60 | if boot_files_bitstream(d)[1] : | ||
61 | return "loadb" | ||
62 | else: | ||
63 | return "load" | ||
64 | |||
56 | do_compile() { | 65 | do_compile() { |
57 | sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \ | 66 | sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \ |
58 | -e 's/@@KERNEL_LOAD_ADDRESS@@/${KERNEL_LOAD_ADDRESS}/' \ | 67 | -e 's/@@KERNEL_LOAD_ADDRESS@@/${KERNEL_LOAD_ADDRESS}/' \ |
@@ -62,6 +71,10 @@ do_compile() { | |||
62 | -e 's/@@RAMDISK_IMAGE_ADDRESS@@/${RAMDISK_IMAGE_ADDRESS}/' \ | 71 | -e 's/@@RAMDISK_IMAGE_ADDRESS@@/${RAMDISK_IMAGE_ADDRESS}/' \ |
63 | -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \ | 72 | -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \ |
64 | -e 's/@@SDBOOTDEV@@/${SDBOOTDEV}/' \ | 73 | -e 's/@@SDBOOTDEV@@/${SDBOOTDEV}/' \ |
74 | -e 's/@@BITSTREAM@@/${@boot_files_bitstream(d)[0]}/g' \ | ||
75 | -e 's/@@BITSTREAM_LOAD_ADDRESS@@/${BITSTREAM_LOAD_ADDRESS}/g' \ | ||
76 | -e 's/@@BITSTREAM_IMAGE@@/${@boot_files_bitstream(d)[0]}/g' \ | ||
77 | -e 's/@@BITSTREAM_LOAD_TYPE@@/${@get_bitstream_load_type(d)}/g' \ | ||
65 | "${WORKDIR}/boot.cmd.${BOOTMODE}.${SOC_FAMILY}" > "${WORKDIR}/boot.cmd" | 78 | "${WORKDIR}/boot.cmd.${BOOTMODE}.${SOC_FAMILY}" > "${WORKDIR}/boot.cmd" |
66 | mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr | 79 | mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr |
67 | sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \ | 80 | sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \ |
diff --git a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq index f593ab4a..bbd2e01e 100644 --- a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq +++ b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq | |||
@@ -1,3 +1,6 @@ | |||
1 | if test -n "@@BITSTREAM@@"; then | ||
2 | fatload mmc $sdbootdev @@BITSTREAM_LOAD_ADDRESS@@ @@BITSTREAM_IMAGE@@ && fpga @@BITSTREAM_LOAD_TYPE@@ 0 @@BITSTREAM_LOAD_ADDRESS@@ ${filesize} | ||
3 | fi | ||
1 | fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@ | 4 | fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@ |
2 | fatload mmc 0 @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@ | 5 | fatload mmc 0 @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@ |
3 | fatload mmc 0 @@RAMDISK_IMAGE_ADDRESS@@ @@RAMDISK_IMAGE@@ | 6 | fatload mmc 0 @@RAMDISK_IMAGE_ADDRESS@@ @@RAMDISK_IMAGE@@ |
diff --git a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp index 8eff483a..43062ce8 100644 --- a/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp +++ b/meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp | |||
@@ -1,5 +1,9 @@ | |||
1 | setenv sdbootdev @@SDBOOTDEV@@ | 1 | setenv sdbootdev @@SDBOOTDEV@@ |
2 | setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon clk_ignore_unused | 2 | setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon clk_ignore_unused |
3 | setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait earlycon clk_ignore_unused | ||
4 | if test -n "@@BITSTREAM@@"; then | ||
5 | fatload mmc $sdbootdev @@BITSTREAM_LOAD_ADDRESS@@ @@BITSTREAM_IMAGE@@ && fpga @@BITSTREAM_LOAD_TYPE@@ 0 @@BITSTREAM_LOAD_ADDRESS@@ ${filesize} | ||
6 | fi | ||
3 | fatload mmc $sdbootdev @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@ | 7 | fatload mmc $sdbootdev @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@ |
4 | fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@ | 8 | fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@ |
5 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ | 9 | @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ |