288 lines
8.4 KiB
Diff
288 lines
8.4 KiB
Diff
From 380f5bf541c6a32dd06fb9a058b3b19c3eae591c Mon Sep 17 00:00:00 2001
|
|
From: Dennis Gilmore <dennis@ausil.us>
|
|
Date: Thu, 6 Feb 2014 07:02:45 -0600
|
|
Subject: [PATCH 13/13] Modify wandboard to include the "distro defaults"
|
|
header, so that all the config options distros expect are enabled. Remove any
|
|
#defines that enable the same options from the wandboard files.
|
|
|
|
Update the wandboard boot scripts in the default environment to
|
|
|
|
a) Make use of the new "exists" shell command to avoid some error
|
|
messges.
|
|
|
|
b) Allow booting using the sysboot command and extlinux.conf. This
|
|
allows easy creation of boot menus, and provides a simple interface
|
|
for distros to parameterize/configure the boot process.
|
|
---
|
|
include/configs/wandboard.h | 205 ++++++++++++++++++++++++++++----------------
|
|
1 file changed, 131 insertions(+), 74 deletions(-)
|
|
|
|
diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h
|
|
index 3488472..3abe7e6 100644
|
|
--- a/include/configs/wandboard.h
|
|
+++ b/include/configs/wandboard.h
|
|
@@ -41,6 +41,10 @@
|
|
#define CONFIG_CONS_INDEX 1
|
|
#define CONFIG_BAUDRATE 115200
|
|
|
|
+#ifndef CONFIG_SPL_BUILD
|
|
+#include <config_distro_defaults.h>
|
|
+#endif
|
|
+
|
|
/* Command definition */
|
|
#include <config_cmd_default.h>
|
|
|
|
@@ -49,8 +53,6 @@
|
|
#define CONFIG_CMD_BMODE
|
|
#define CONFIG_CMD_SETEXPR
|
|
|
|
-#define CONFIG_BOOTDELAY 5
|
|
-
|
|
#define CONFIG_SYS_MEMTEST_START 0x10000000
|
|
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 500 * SZ_1M)
|
|
#define CONFIG_LOADADDR 0x12000000
|
|
@@ -66,15 +68,8 @@
|
|
#define CONFIG_CMD_MMC
|
|
#define CONFIG_GENERIC_MMC
|
|
#define CONFIG_BOUNCE_BUFFER
|
|
-#define CONFIG_CMD_EXT2
|
|
-#define CONFIG_CMD_FAT
|
|
-#define CONFIG_DOS_PARTITION
|
|
|
|
/* Ethernet Configuration */
|
|
-#define CONFIG_CMD_PING
|
|
-#define CONFIG_CMD_DHCP
|
|
-#define CONFIG_CMD_MII
|
|
-#define CONFIG_CMD_NET
|
|
#define CONFIG_FEC_MXC
|
|
#define CONFIG_MII
|
|
#define IMX_FEC_BASE ENET_BASE_ADDR
|
|
@@ -116,6 +111,11 @@
|
|
"fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
|
|
"fdt_addr=0x18000000\0" \
|
|
"boot_fdt=try\0" \
|
|
+ "fdt_addr_r=0x18100000\0" \
|
|
+ "pxefile_addr_r=0x18200000\0" \
|
|
+ "scr_addr_r=0x18300000\0" \
|
|
+ "kernel_addr_r=0x18400000\0" \
|
|
+ "ramdisk_addr_r=0x18500000\0" \
|
|
"ip_dyn=yes\0" \
|
|
"mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \
|
|
"mmcpart=1\0" \
|
|
@@ -133,71 +133,133 @@
|
|
"setexpr fw_sz ${fw_sz} + 1; " \
|
|
"mmc write ${loadaddr} 0x2 ${fw_sz}; " \
|
|
"fi; " \
|
|
+ "fi\0"
|
|
+
|
|
+#ifdef CONFIG_CMD_MMC
|
|
+#define BOOTCMDS_MMC \
|
|
+ "mmc_boot=" \
|
|
+ "setenv devtype mmc; " \
|
|
+ "if mmc dev ${devnum}; then " \
|
|
+ "run scan_boot; " \
|
|
"fi\0" \
|
|
- "mmcargs=setenv bootargs console=${console},${baudrate} " \
|
|
- "root=${mmcroot}\0" \
|
|
- "loadbootscript=" \
|
|
- "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
|
|
- "bootscript=echo Running bootscript from mmc ...; " \
|
|
- "source\0" \
|
|
- "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
|
|
- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
|
|
- "mmcboot=echo Booting from mmc ...; " \
|
|
- "run mmcargs; " \
|
|
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
|
|
- "if run loadfdt; then " \
|
|
- "bootz ${loadaddr} - ${fdt_addr}; " \
|
|
- "else " \
|
|
- "if test ${boot_fdt} = try; then " \
|
|
- "bootz; " \
|
|
- "else " \
|
|
- "echo WARN: Cannot load the DT; " \
|
|
- "fi; " \
|
|
- "fi; " \
|
|
- "else " \
|
|
- "bootz; " \
|
|
- "fi;\0" \
|
|
- "netargs=setenv bootargs console=${console},${baudrate} " \
|
|
- "root=/dev/nfs " \
|
|
- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
|
|
- "netboot=echo Booting from net ...; " \
|
|
- "run netargs; " \
|
|
- "if test ${ip_dyn} = yes; then " \
|
|
- "setenv get_cmd dhcp; " \
|
|
- "else " \
|
|
- "setenv get_cmd tftp; " \
|
|
- "fi; " \
|
|
- "${get_cmd} ${image}; " \
|
|
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
|
|
- "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
|
|
- "bootz ${loadaddr} - ${fdt_addr}; " \
|
|
- "else " \
|
|
- "if test ${boot_fdt} = try; then " \
|
|
- "bootz; " \
|
|
- "else " \
|
|
- "echo WARN: Cannot load the DT; " \
|
|
- "fi; " \
|
|
- "fi; " \
|
|
- "else " \
|
|
- "bootz; " \
|
|
- "fi;\0"
|
|
+ "bootcmd_mmc0=setenv devnum 0; run mmc_boot;\0" \
|
|
+ "bootcmd_mmc1=setenv devnum 1; run mmc_boot;\0"
|
|
+#define BOOT_TARGETS_MMC "mmc1 mmc0"
|
|
+#else
|
|
+#define BOOTCMDS_MMC ""
|
|
+#define BOOT_TARGETS_MMC ""
|
|
+#endif
|
|
+
|
|
+#ifdef CONFIG_CMD_USB
|
|
+#define BOOTCMD_INIT_USB "run usb_init; "
|
|
+#define BOOTCMDS_USB \
|
|
+ "usb_init=" \
|
|
+ "if ${usb_need_init}; then " \
|
|
+ "set usb_need_init false; " \
|
|
+ "usb start 0; " \
|
|
+ "fi\0" \
|
|
+ \
|
|
+ "usb_boot=" \
|
|
+ "setenv devtype usb; " \
|
|
+ BOOTCMD_INIT_USB \
|
|
+ "if usb dev ${devnum}; then " \
|
|
+ "run scan_boot; " \
|
|
+ "fi\0" \
|
|
+ \
|
|
+ "bootcmd_usb0=setenv devnum 0; run usb_boot;\0"
|
|
+#define BOOT_TARGETS_USB "usb0"
|
|
+#else
|
|
+#define BOOTCMD_INIT_USB ""
|
|
+#define BOOTCMDS_USB ""
|
|
+#define BOOT_TARGETS_USB ""
|
|
+#endif
|
|
+
|
|
+#ifdef CONFIG_CMD_DHCP
|
|
+#define BOOTCMDS_DHCP \
|
|
+ "bootcmd_dhcp=" \
|
|
+ BOOTCMD_INIT_USB \
|
|
+ "if dhcp ${scriptaddr} boot.scr.uimg; then "\
|
|
+ "source ${scriptaddr}; " \
|
|
+ "fi\0"
|
|
+#define BOOT_TARGETS_DHCP "dhcp"
|
|
+#else
|
|
+#define BOOTCMDS_DHCP ""
|
|
+#define BOOT_TARGETS_DHCP ""
|
|
+#endif
|
|
+
|
|
+#if defined(CONFIG_CMD_DHCP) && defined(CONFIG_CMD_PXE)
|
|
+#define BOOTCMDS_PXE \
|
|
+ "bootcmd_pxe=" \
|
|
+ BOOTCMD_INIT_USB \
|
|
+ "dhcp; " \
|
|
+ "if pxe get; then " \
|
|
+ "pxe boot; " \
|
|
+ "fi\0"
|
|
+#define BOOT_TARGETS_PXE "pxe"
|
|
+#else
|
|
+#define BOOTCMDS_PXE ""
|
|
+#define BOOT_TARGETS_PXE ""
|
|
+#endif
|
|
+
|
|
+#define BOOTCMDS_COMMON \
|
|
+ "rootpart=1\0" \
|
|
+ \
|
|
+ "do_script_boot=" \
|
|
+ "load ${devtype} ${devnum}:${rootpart} " \
|
|
+ "${scriptaddr} ${prefix}${script}; " \
|
|
+ "source ${scriptaddr}\0" \
|
|
+ \
|
|
+ "script_boot=" \
|
|
+ "for script in ${boot_scripts}; do " \
|
|
+ "if exists ${devtype} ${devnum}:${rootpart} " \
|
|
+ "${prefix}${script}; then " \
|
|
+ "echo Found U-Boot script " \
|
|
+ "${prefix}${script}; " \
|
|
+ "run do_script_boot;" \
|
|
+ "echo SCRIPT FAILED; continuing...; " \
|
|
+ "fi; " \
|
|
+ "done\0" \
|
|
+ \
|
|
+ "do_sysboot_boot=" \
|
|
+ "sysboot ${devtype} ${devnum}:${rootpart} any " \
|
|
+ "${scriptaddr} ${prefix}extlinux.conf\0" \
|
|
+ \
|
|
+ "sysboot_boot=" \
|
|
+ "if exists ${devtype} ${devnum}:${rootpart} " \
|
|
+ "${prefix}extlinux.conf; then " \
|
|
+ "echo Found extlinux config " \
|
|
+ "${prefix}extlinux.conf; " \
|
|
+ "run do_sysboot_boot;" \
|
|
+ "echo SCRIPT FAILED; continuing...; " \
|
|
+ "fi\0" \
|
|
+ \
|
|
+ "scan_boot=" \
|
|
+ "echo Scanning ${devtype} ${devnum}...; " \
|
|
+ "for prefix in ${boot_prefixes}; do " \
|
|
+ "run script_boot; " \
|
|
+ "run sysboot_boot; " \
|
|
+ "done\0" \
|
|
+ \
|
|
+ "boot_targets=" \
|
|
+ BOOT_TARGETS_MMC " " \
|
|
+ BOOT_TARGETS_USB " " \
|
|
+ BOOT_TARGETS_PXE " " \
|
|
+ BOOT_TARGETS_DHCP " " \
|
|
+ "\0" \
|
|
+ \
|
|
+ "boot_prefixes=/ /boot/\0" \
|
|
+ \
|
|
+ "boot_scripts=boot.scr.uimg boot.scr\0" \
|
|
+ \
|
|
+ BOOTCMDS_MMC \
|
|
+ BOOTCMDS_USB \
|
|
+ BOOTCMDS_DHCP \
|
|
+ BOOTCMDS_PXE
|
|
|
|
#define CONFIG_BOOTCOMMAND \
|
|
- "mmc dev ${mmcdev}; if mmc rescan; then " \
|
|
- "if run loadbootscript; then " \
|
|
- "run bootscript; " \
|
|
- "else " \
|
|
- "if run loadimage; then " \
|
|
- "run mmcboot; " \
|
|
- "else run netboot; " \
|
|
- "fi; " \
|
|
- "fi; " \
|
|
- "else run netboot; fi"
|
|
+ "for target in ${boot_targets}; do run bootcmd_${target}; done"
|
|
|
|
/* Miscellaneous configurable options */
|
|
-#define CONFIG_SYS_LONGHELP
|
|
-#define CONFIG_SYS_HUSH_PARSER
|
|
-#define CONFIG_AUTO_COMPLETE
|
|
#define CONFIG_SYS_CBSIZE 256
|
|
|
|
/* Print Buffer Size */
|
|
@@ -207,8 +269,6 @@
|
|
|
|
#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
|
|
|
|
-#define CONFIG_CMDLINE_EDITING
|
|
-
|
|
/* Physical Memory Map */
|
|
#define CONFIG_NR_DRAM_BANKS 1
|
|
#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
|
|
@@ -231,9 +291,6 @@
|
|
#define CONFIG_ENV_OFFSET (6 * 64 * 1024)
|
|
#define CONFIG_SYS_MMC_ENV_DEV 0
|
|
|
|
-#define CONFIG_OF_LIBFDT
|
|
-#define CONFIG_CMD_BOOTZ
|
|
-
|
|
#ifndef CONFIG_SYS_DCACHE_OFF
|
|
#define CONFIG_CMD_CACHE
|
|
#endif
|
|
--
|
|
1.8.5.3
|
|
|