summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Fiergolski <adrian.fiergolski@fastree3d.com>2020-01-27 15:35:43 +0100
committerSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2020-09-30 11:38:41 -0700
commit874b9cee5e469a347f39183c39d9c2307370c80d (patch)
treef205f84fc9f1a671ae1d70b2ece5d58e08123a70
parent77b676f8f0970c0f93abb05b70c74848bb593cef (diff)
downloadmeta-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>
-rw-r--r--meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr.bb15
-rw-r--r--meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynq3
-rw-r--r--meta-xilinx-bsp/recipes-bsp/u-boot/u-boot-zynq-scr/boot.cmd.sd.zynqmp4
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
5DEPENDS = "u-boot-mkimage-native" 5DEPENDS = "u-boot-mkimage-native"
6 6
7inherit deploy nopackages 7inherit deploy nopackages image-wic-utils
8 8
9INHIBIT_DEFAULT_DEPS = "1" 9INHIBIT_DEFAULT_DEPS = "1"
10 10
@@ -48,11 +48,20 @@ KERNEL_LOAD_ADDRESS_versal ?= "0x80000"
48RAMDISK_IMAGE_ADDRESS_zynq ?= "0x4000000" 48RAMDISK_IMAGE_ADDRESS_zynq ?= "0x4000000"
49RAMDISK_IMAGE_ADDRESS_versal ?= "0x6000000" 49RAMDISK_IMAGE_ADDRESS_versal ?= "0x6000000"
50 50
51
51SDBOOTDEV ?= "0" 52SDBOOTDEV ?= "0"
52 53
54BITSTREAM_LOAD_ADDRESS ?= "0x100000"
55
53do_configure[noexec] = "1" 56do_configure[noexec] = "1"
54do_install[noexec] = "1" 57do_install[noexec] = "1"
55 58
59def get_bitstream_load_type(d):
60 if boot_files_bitstream(d)[1] :
61 return "loadb"
62 else:
63 return "load"
64
56do_compile() { 65do_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 @@
1if test -n "@@BITSTREAM@@"; then
2 fatload mmc $sdbootdev @@BITSTREAM_LOAD_ADDRESS@@ @@BITSTREAM_IMAGE@@ && fpga @@BITSTREAM_LOAD_TYPE@@ 0 @@BITSTREAM_LOAD_ADDRESS@@ ${filesize}
3fi
1fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@ 4fatload mmc 0 @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@
2fatload mmc 0 @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@ 5fatload mmc 0 @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
3fatload mmc 0 @@RAMDISK_IMAGE_ADDRESS@@ @@RAMDISK_IMAGE@@ 6fatload 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 @@
1setenv sdbootdev @@SDBOOTDEV@@ 1setenv sdbootdev @@SDBOOTDEV@@
2setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon clk_ignore_unused 2setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon clk_ignore_unused
3setenv bootargs $bootargs root=/dev/mmcblk0p2 rw rootwait earlycon clk_ignore_unused
4if test -n "@@BITSTREAM@@"; then
5 fatload mmc $sdbootdev @@BITSTREAM_LOAD_ADDRESS@@ @@BITSTREAM_IMAGE@@ && fpga @@BITSTREAM_LOAD_TYPE@@ 0 @@BITSTREAM_LOAD_ADDRESS@@ ${filesize}
6fi
3fatload mmc $sdbootdev @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@ 7fatload mmc $sdbootdev @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@
4fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@ 8fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@
5@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ 9@@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@