mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
zynq: Enable distro boot
Distro boot allows devices to boot using standardized boot methods by default. This can be very handy for distributions that want to run on different platforms. This patch moves the zynq platform to use its old, zynq specific boot method first and then fall back to distro boot. That way supporting Linux distributions like openSUSE is much easier. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
This commit is contained in:
parent
f5e46b4919
commit
61d8eeb0bc
1 changed files with 51 additions and 4 deletions
|
@ -171,6 +171,50 @@
|
|||
/* enable preboot to be loaded before CONFIG_BOOTDELAY */
|
||||
#define CONFIG_PREBOOT
|
||||
|
||||
/* Boot configuration */
|
||||
#define CONFIG_BOOTCOMMAND "run $modeboot || run distro_bootcmd"
|
||||
#define CONFIG_SYS_LOAD_ADDR 0 /* default? */
|
||||
|
||||
/* Distro boot enablement */
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#define BOOTENV
|
||||
#else
|
||||
#include <config_distro_defaults.h>
|
||||
|
||||
#ifdef CONFIG_CMD_MMC
|
||||
#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
|
||||
#else
|
||||
#define BOOT_TARGET_DEVICES_MMC(func)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CMD_USB
|
||||
#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
|
||||
#else
|
||||
#define BOOT_TARGET_DEVICES_USB(func)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_CMD_PXE)
|
||||
#define BOOT_TARGET_DEVICES_PXE(func) func(PXE, pxe, na)
|
||||
#else
|
||||
#define BOOT_TARGET_DEVICES_PXE(func)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_CMD_DHCP)
|
||||
#define BOOT_TARGET_DEVICES_DHCP(func) func(DHCP, dhcp, na)
|
||||
#else
|
||||
#define BOOT_TARGET_DEVICES_DHCP(func)
|
||||
#endif
|
||||
|
||||
#define BOOT_TARGET_DEVICES(func) \
|
||||
BOOT_TARGET_DEVICES_MMC(func) \
|
||||
BOOT_TARGET_DEVICES_USB(func) \
|
||||
BOOT_TARGET_DEVICES_PXE(func) \
|
||||
BOOT_TARGET_DEVICES_DHCP(func)
|
||||
|
||||
#include <config_distro_bootcmd.h>
|
||||
#endif /* CONFIG_SPL_BUILD */
|
||||
|
||||
/* Default environment */
|
||||
#ifndef CONFIG_EXTRA_ENV_SETTINGS
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
|
@ -182,6 +226,11 @@
|
|||
"fdt_high=0x20000000\0" \
|
||||
"initrd_high=0x20000000\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" \
|
||||
|
@ -217,12 +266,10 @@
|
|||
"echo Copying FIT from USB to RAM... && " \
|
||||
"load usb 0 ${load_addr} ${fit_image} && " \
|
||||
"bootm ${load_addr}; fi\0" \
|
||||
DFU_ALT_INFO
|
||||
DFU_ALT_INFO \
|
||||
BOOTENV
|
||||
#endif
|
||||
|
||||
#define CONFIG_BOOTCOMMAND "run $modeboot"
|
||||
#define CONFIG_SYS_LOAD_ADDR 0 /* default? */
|
||||
|
||||
/* Miscellaneous configurable options */
|
||||
|
||||
#define CONFIG_CMDLINE_EDITING
|
||||
|
|
Loading…
Reference in a new issue