summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv8/zynqmp
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2016-08-19 14:14:52 +0200
committerMichal Simek <michal.simek@xilinx.com>2016-09-22 07:33:21 +0200
commitd58fc12eb7f40a208e22b57037436411ea36125c (patch)
treec11b3169007da0d4fcdc24d3cacde592917dea6b /arch/arm/cpu/armv8/zynqmp
parente1024c9808c00bb61cf58e47cac6ff76905bf339 (diff)
ARM64: zynqmp: Add support for DFU from SPL
SPL needs to have bigger stack size because of USB. Simple malloc needs to be disabled because dfu code requires different allocation functions. There is no space in OCM that's why random place in DDR is used. BOOTD must be disabled because it is causing compilation error. All variables are disabled and used only variables valid for DFU because they are simple huge. Including automatic variables added by CONFIG_ENV_VARS_UBOOT_CONFIG. Hardcode addresses for u-boot, atf, kernel and dtb just for SPL DFU code. Enable SPL DFU for zcu100. Create new usb_dfu_spl variable just to run Linux kernel loaded in SPL. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/arm/cpu/armv8/zynqmp')
-rw-r--r--arch/arm/cpu/armv8/zynqmp/spl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv8/zynqmp/spl.c b/arch/arm/cpu/armv8/zynqmp/spl.c
index 4b6fdc2593..3ad5de1408 100644
--- a/arch/arm/cpu/armv8/zynqmp/spl.c
+++ b/arch/arm/cpu/armv8/zynqmp/spl.c
@@ -67,6 +67,10 @@ u32 spl_boot_device(void)
case SD_MODE1:
return BOOT_DEVICE_MMC1;
#endif
+#ifdef CONFIG_SPL_DFU_SUPPORT
+ case USB_MODE:
+ return BOOT_DEVICE_DFU;
+#endif
default:
printf("Invalid Boot Mode:0x%x\n", bootmode);
break;