Merge tag 'efi-2020-01-rc2' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
[oweals/u-boot.git] / include / configs / xilinx_versal.h
index 296f4502c65200ecbe7d4b5cf4301d6cc1f8d77c..f426127edcff4485a0340e57f90982a270d1ce40 100644 (file)
 #define CONFIG_SYS_BARGSIZE            CONFIG_SYS_CBSIZE
 #define CONFIG_SYS_MAXARGS             64
 
+#if defined(CONFIG_CMD_DFU)
+#define CONFIG_SYS_DFU_DATA_BUF_SIZE   0x1800000
+#define DFU_DEFAULT_POLL_TIMEOUT       300
+#define CONFIG_THOR_RESET_OFF
+#define DFU_ALT_INFO_RAM \
+       "dfu_ram_info=" \
+       "setenv dfu_alt_info " \
+       "Image ram $kernel_addr_r $kernel_size_r\\\\;" \
+       "system.dtb ram $fdt_addr_r $fdt_size_r\0" \
+       "dfu_ram=run dfu_ram_info && dfu 0 ram 0\0" \
+       "thor_ram=run dfu_ram_info && thordown 0 ram 0\0"
+
+#define DFU_ALT_INFO  \
+               DFU_ALT_INFO_RAM
+#endif
+
+#if !defined(DFU_ALT_INFO)
+# define DFU_ALT_INFO
+#endif
+
 /* Ethernet driver */
 #if defined(CONFIG_ZYNQ_GEM)
 # define CONFIG_NET_MULTI
 
 #define ENV_MEM_LAYOUT_SETTINGS \
        "fdt_high=10000000\0" \
-       "initrd_high=10000000\0" \
        "fdt_addr_r=0x40000000\0" \
+       "fdt_size_r=0x400000\0" \
        "pxefile_addr_r=0x10000000\0" \
        "kernel_addr_r=0x18000000\0" \
-       "scriptaddr=0x02000000\0" \
+       "kernel_size_r=0x10000000\0" \
+       "scriptaddr=0x20000000\0" \
        "ramdisk_addr_r=0x02100000\0" \
-       "script_offset_f=0x3f80000\0" \
+       "script_offset_f=0x7F80000\0" \
        "script_size_f=0x80000\0"
 
 #if defined(CONFIG_MMC_SDHCI_ZYNQ)
 #define BOOTENV_DEV_NAME_XSPI(devtypeu, devtypel, instance) \
        "xspi "
 
+#define BOOT_TARGET_DEVICES_JTAG(func) func(JTAG, jtag, na)
+
+#define BOOTENV_DEV_JTAG(devtypeu, devtypel, instance) \
+       "bootcmd_jtag=source $scriptaddr; echo SCRIPT FAILED: continuing...;\0"
+
+#define BOOTENV_DEV_NAME_JTAG(devtypeu, devtypel, instance) \
+       "jtag "
+
+#define BOOT_TARGET_DEVICES_DFU_USB(func)  func(DFU_USB, dfu_usb, 0)
+
+#define BOOTENV_DEV_DFU_USB(devtypeu, devtypel, instance) \
+       "bootcmd_dfu_usb=setenv dfu_alt_info boot.scr ram $scriptaddr " \
+       "$script_size_f; dfu 0 ram 0 && source $scriptaddr; " \
+       "echo SCRIPT FAILED: continuing...;\0"
+
+#define BOOTENV_DEV_NAME_DFU_USB(devtypeu, devtypel, instance) \
+       "dfu_usb "
+
 #define BOOT_TARGET_DEVICES(func) \
+       BOOT_TARGET_DEVICES_JTAG(func) \
        BOOT_TARGET_DEVICES_MMC(func) \
        BOOT_TARGET_DEVICES_XSPI(func) \
+       BOOT_TARGET_DEVICES_DFU_USB(func) \
        func(PXE, pxe, na) \
        func(DHCP, dhcp, na)
 
 #ifndef CONFIG_EXTRA_ENV_SETTINGS
 #define CONFIG_EXTRA_ENV_SETTINGS \
        ENV_MEM_LAYOUT_SETTINGS \
-       BOOTENV
+       BOOTENV \
+       DFU_ALT_INFO
 #endif
 
 #endif /* __XILINX_VERSAL_H */