Merge tag 'xilinx-for-v2020.01' of https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze
Xilinx/FPGA changes for v2020.01 FPGA: - Enable fpga loading on Versal - Minor fix Microblaze: - Fix LMB configurations to support initrds - Some other cleanups Zynq: - Minor config/dt changes - Add distro boot support for usb1 and mmc1 - Remove Xilinx private boot commands and use only distro boot ZynqMP: - Kconfig cleanups, defconfig updates - Update some dt files - Add firmware driver for talking to PMUFW - Extend distro boot support for jtag - Add new IDs - Add system controller configurations - Convert code to talk firmware via mailbox or SMCs Versal: - Add board_late_init() - Add run time DT memory setup - Add DFU support - Extend distro boot support for jtag and dfu - Add clock driver - Tune mini configurations Xilinx: - Improve documentation (boot scripts, dt binding) - Enable run time initrd_high calculation - Define default SYS_PROMPT - Add zynq/zynqmp virtual defconfig Drivers: - Add Xilinx mailbox driver for talking to firmware - Clean zynq_gem for Versal - Move ZYNQ_HISPD_BROKEN to Kconfig - Wire genphy_init() in phy.c - Add Xilinx gii2rgmii bridge - Cleanup zynq_sdhci - dwc3 fix - zynq_gpio fix - axi_emac fix Others: - apalis-tk1 - clean config file
This commit is contained in:
@@ -138,8 +138,6 @@
|
||||
|
||||
#define CONFIG_CMD_TIME
|
||||
|
||||
#define CONFIG_SYS_BOOT_RAMDISK_HIGH
|
||||
|
||||
#include "tegra-common-usb-gadget.h"
|
||||
#include "tegra-common-post.h"
|
||||
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
/* MicroBlaze CPU */
|
||||
#define MICROBLAZE_V5 1
|
||||
|
||||
#define CONFIG_SYS_BOOTM_LEN (64 * 1024 * 1024)
|
||||
|
||||
/* linear and spi flash memory */
|
||||
#ifdef XILINX_FLASH_START
|
||||
#define FLASH
|
||||
@@ -100,6 +102,9 @@
|
||||
#endif /* !SPIFLASH */
|
||||
#endif /* !FLASH */
|
||||
|
||||
#define XILINX_USE_ICACHE 1
|
||||
#define XILINX_USE_DCACHE 1
|
||||
|
||||
#if defined(XILINX_USE_ICACHE)
|
||||
# define CONFIG_ICACHE
|
||||
#else
|
||||
@@ -152,9 +157,6 @@
|
||||
"setenv stdin serial\0"
|
||||
#endif
|
||||
|
||||
/* Enable flat device tree support */
|
||||
#define CONFIG_LMB 1
|
||||
|
||||
#if defined(CONFIG_XILINX_AXIEMAC)
|
||||
# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN 1
|
||||
#endif
|
||||
|
||||
@@ -52,6 +52,26 @@
|
||||
#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
|
||||
@@ -65,13 +85,14 @@
|
||||
|
||||
#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)
|
||||
@@ -94,9 +115,29 @@
|
||||
#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)
|
||||
|
||||
@@ -106,7 +147,8 @@
|
||||
#ifndef CONFIG_EXTRA_ENV_SETTINGS
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
ENV_MEM_LAYOUT_SETTINGS \
|
||||
BOOTENV
|
||||
BOOTENV \
|
||||
DFU_ALT_INFO
|
||||
#endif
|
||||
|
||||
#endif /* __XILINX_VERSAL_H */
|
||||
|
||||
@@ -26,4 +26,7 @@
|
||||
#undef CONFIG_BOOTP_BOOTFILESIZE
|
||||
#undef CONFIG_BOOTP_MAY_FAIL
|
||||
|
||||
#undef CONFIG_SYS_CBSIZE
|
||||
#define CONFIG_SYS_CBSIZE 1024
|
||||
|
||||
#endif /* __CONFIG_VERSAL_MINI_H */
|
||||
|
||||
@@ -109,11 +109,10 @@
|
||||
|
||||
#define ENV_MEM_LAYOUT_SETTINGS \
|
||||
"fdt_high=10000000\0" \
|
||||
"initrd_high=10000000\0" \
|
||||
"fdt_addr_r=0x40000000\0" \
|
||||
"pxefile_addr_r=0x10000000\0" \
|
||||
"kernel_addr_r=0x18000000\0" \
|
||||
"scriptaddr=0x02000000\0" \
|
||||
"scriptaddr=0x20000000\0" \
|
||||
"ramdisk_addr_r=0x02100000\0" \
|
||||
"script_offset_f=0x3e80000\0" \
|
||||
"script_size_f=0x80000\0" \
|
||||
@@ -176,7 +175,16 @@
|
||||
#define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
|
||||
#devtypel #instance " "
|
||||
|
||||
#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(func) \
|
||||
BOOT_TARGET_DEVICES_JTAG(func) \
|
||||
BOOT_TARGET_DEVICES_MMC(func) \
|
||||
BOOT_TARGET_DEVICES_QSPI(func) \
|
||||
BOOT_TARGET_DEVICES_NAND(func) \
|
||||
|
||||
@@ -111,13 +111,13 @@
|
||||
#else
|
||||
|
||||
#ifdef CONFIG_CMD_MMC
|
||||
#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
|
||||
#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0) func(MMC, mmc, 1)
|
||||
#else
|
||||
#define BOOT_TARGET_DEVICES_MMC(func)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CMD_USB
|
||||
#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
|
||||
#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0) func(USB, usb, 1)
|
||||
#else
|
||||
#define BOOT_TARGET_DEVICES_USB(func)
|
||||
#endif
|
||||
@@ -152,15 +152,9 @@
|
||||
# define BOOT_TARGET_DEVICES_NOR(func)
|
||||
#endif
|
||||
|
||||
#define BOOTENV_DEV_XILINX(devtypeu, devtypel, instance) \
|
||||
"bootcmd_xilinx=run $modeboot\0"
|
||||
|
||||
#define BOOTENV_DEV_NAME_XILINX(devtypeu, devtypel, instance) \
|
||||
"xilinx "
|
||||
|
||||
#define BOOTENV_DEV_QSPI(devtypeu, devtypel, instance) \
|
||||
"bootcmd_qspi=sf probe 0 0 0 && " \
|
||||
"sf read $scriptaddr $script_offset_f $script_size_f && " \
|
||||
"sf read ${scriptaddr} ${script_offset_f} ${script_size_f} && " \
|
||||
"source ${scriptaddr}; echo SCRIPT FAILED: continuing...;\0"
|
||||
|
||||
#define BOOTENV_DEV_NAME_QSPI(devtypeu, devtypel, instance) \
|
||||
@@ -168,14 +162,15 @@
|
||||
|
||||
#define BOOTENV_DEV_NAND(devtypeu, devtypel, instance) \
|
||||
"bootcmd_nand=nand info && " \
|
||||
"nand read $scriptaddr $script_offset_f $script_size_f && " \
|
||||
"nand read ${scriptaddr} ${script_offset_f} ${script_size_f} && " \
|
||||
"source ${scriptaddr}; echo SCRIPT FAILED: continuing...;\0"
|
||||
|
||||
#define BOOTENV_DEV_NAME_NAND(devtypeu, devtypel, instance) \
|
||||
"nand "
|
||||
|
||||
#define BOOTENV_DEV_NOR(devtypeu, devtypel, instance) \
|
||||
"bootcmd_nor=cp.b $scropt_offset_nor $scriptaddr $script_size_f && " \
|
||||
"script_offset_nor=0xE2FC0000\0" \
|
||||
"bootcmd_nor=cp.b ${script_offset_nor} ${scriptaddr} ${script_size_f} && " \
|
||||
"source ${scriptaddr}; echo SCRIPT FAILED: continuing...;\0"
|
||||
|
||||
#define BOOTENV_DEV_NAME_NOR(devtypeu, devtypel, instance) \
|
||||
@@ -188,8 +183,7 @@
|
||||
BOOT_TARGET_DEVICES_NOR(func) \
|
||||
BOOT_TARGET_DEVICES_USB(func) \
|
||||
BOOT_TARGET_DEVICES_PXE(func) \
|
||||
BOOT_TARGET_DEVICES_DHCP(func) \
|
||||
func(XILINX, xilinx, na)
|
||||
BOOT_TARGET_DEVICES_DHCP(func)
|
||||
|
||||
#include <config_distro_bootcmd.h>
|
||||
#endif /* CONFIG_SPL_BUILD */
|
||||
@@ -197,72 +191,31 @@
|
||||
/* Default environment */
|
||||
#ifndef CONFIG_EXTRA_ENV_SETTINGS
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"fit_image=fit.itb\0" \
|
||||
"load_addr=0x2000000\0" \
|
||||
"fit_size=0x800000\0" \
|
||||
"flash_off=0x100000\0" \
|
||||
"nor_flash_off=0xE2100000\0" \
|
||||
"fdt_high=0x20000000\0" \
|
||||
"initrd_high=0x20000000\0" \
|
||||
"scriptaddr=0x20000\0" \
|
||||
"script_offser_nor=0xE2FC0000\0" \
|
||||
"script_offset_f=0xFC0000\0" \
|
||||
"script_size_f=0x40000\0" \
|
||||
"loadbootenv_addr=0x2000000\0" \
|
||||
"fdt_addr_r=0x1f00000\0" \
|
||||
"pxefile_addr_r=0x2000000\0" \
|
||||
"kernel_addr_r=0x2000000\0" \
|
||||
"scriptaddr=0x3000000\0" \
|
||||
"ramdisk_addr_r=0x3100000\0" \
|
||||
"bootenv=uEnv.txt\0" \
|
||||
"bootenv_dev=mmc\0" \
|
||||
"loadbootenv=load ${bootenv_dev} 0 ${loadbootenv_addr} ${bootenv}\0" \
|
||||
"importbootenv=echo Importing environment from ${bootenv_dev} ...; " \
|
||||
"env import -t ${loadbootenv_addr} $filesize\0" \
|
||||
"bootenv_existence_test=test -e ${bootenv_dev} 0 /${bootenv}\0" \
|
||||
"setbootenv=if env run bootenv_existence_test; then " \
|
||||
"if env run loadbootenv; then " \
|
||||
"env run importbootenv; " \
|
||||
"fi; " \
|
||||
"fi; \0" \
|
||||
"sd_loadbootenv=setenv bootenv_dev mmc && " \
|
||||
"run setbootenv \0" \
|
||||
"usb_loadbootenv=setenv bootenv_dev usb && usb start && run setbootenv \0" \
|
||||
"preboot=if test $modeboot = sdboot; then " \
|
||||
"run sd_loadbootenv; " \
|
||||
"echo Checking if uenvcmd is set ...; " \
|
||||
"if test -n $uenvcmd; then " \
|
||||
"echo Running uenvcmd ...; " \
|
||||
"run uenvcmd; " \
|
||||
"fi; " \
|
||||
"fi; \0" \
|
||||
"norboot=echo Copying FIT from NOR flash to RAM... && " \
|
||||
"cp.b ${nor_flash_off} ${load_addr} ${fit_size} && " \
|
||||
"bootm ${load_addr}\0" \
|
||||
"sdboot=echo Copying FIT from SD to RAM... && " \
|
||||
"load mmc 0 ${load_addr} ${fit_image} && " \
|
||||
"bootm ${load_addr}\0" \
|
||||
"jtagboot=echo TFTPing FIT to RAM... && " \
|
||||
"tftpboot ${load_addr} ${fit_image} && " \
|
||||
"bootm ${load_addr}\0" \
|
||||
"usbboot=if usb start; then " \
|
||||
"echo Copying FIT from USB to RAM... && " \
|
||||
"load usb 0 ${load_addr} ${fit_image} && " \
|
||||
"bootm ${load_addr}; fi\0" \
|
||||
DFU_ALT_INFO \
|
||||
BOOTENV
|
||||
DFU_ALT_INFO \
|
||||
BOOTENV
|
||||
#endif
|
||||
|
||||
/* Miscellaneous configurable options */
|
||||
|
||||
#define CONFIG_CLOCKS
|
||||
#define CONFIG_SYS_MAXARGS 32 /* max number of command args */
|
||||
#define CONFIG_SYS_CBSIZE 2048 /* Console I/O Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0
|
||||
#define CONFIG_SYS_MEMTEST_END 0x1000
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xFFFF0000
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000
|
||||
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
|
||||
CONFIG_SYS_INIT_RAM_SIZE - \
|
||||
GENERATED_GBL_DATA_SIZE)
|
||||
@@ -274,6 +227,8 @@
|
||||
/* Boot FreeBSD/vxWorks from an ELF image */
|
||||
#define CONFIG_SYS_MMC_MAX_DEVICE 1
|
||||
|
||||
#undef CONFIG_BOOTM_NETBSD
|
||||
|
||||
/* MMC support */
|
||||
#ifdef CONFIG_MMC_SDHCI_ZYNQ
|
||||
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
|
||||
|
||||
Reference in New Issue
Block a user