diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index e7893c93f1..0175276b62 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -142,17 +142,11 @@ "setenv fdtfile am335x-evmsk.dtb; fi; " \ "if test $fdtfile = undefined; then " \ "echo WARNING: Could not determine device tree to use; fi; \0" \ - NANDARGS + BOOTCMD_COMMON \ + BOOTCMD_MMC \ + BOOTCMD_NAND #endif -#define CONFIG_BOOTCOMMAND \ - "run findfdt; " \ - "run mmcboot;" \ - "setenv mmcdev 1; " \ - "setenv bootpart 1:2; " \ - "run mmcboot;" \ - "run nandboot;" - /* NS16550 Configuration */ #define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */ #define CONFIG_SYS_NS16550_COM2 0x48022000 /* UART1 */ @@ -357,6 +351,10 @@ "uEnv.txt fat 0 1" #ifdef CONFIG_NAND #define CONFIG_DFU_NAND + +#ifdef DFU_ALT_INFO_NAND +#undef DFU_ALT_INFO_NAND +#endif #define DFU_ALT_INFO_NAND \ "SPL part 0 1;" \ "SPL.backup1 part 0 2;" \ @@ -389,7 +387,15 @@ #define CONFIG_ENV_SECT_SIZE (4 << 10) /* 4 KB sectors */ #define CONFIG_ENV_OFFSET (768 << 10) /* 768 KiB in */ #define CONFIG_ENV_OFFSET_REDUND (896 << 10) /* 896 KiB in */ + +#ifdef MTDIDS_DEFAULT +#undef MTDIDS_DEFAULT +#endif #define MTDIDS_DEFAULT "nor0=m25p80-flash.0" + +#ifdef MTDPARTS_DEFAULT +#undef MTDPARTS_DEFAULT +#endif #define MTDPARTS_DEFAULT "mtdparts=m25p80-flash.0:128k(SPL)," \ "512k(u-boot),128k(u-boot-env1)," \ "128k(u-boot-env2),3464k(kernel)," \ @@ -445,7 +451,14 @@ #define CONFIG_ENV_SECT_SIZE (128 << 10) /* 128 KiB */ #define CONFIG_ENV_OFFSET (512 << 10) /* 512 KiB */ #define CONFIG_ENV_OFFSET_REDUND (768 << 10) /* 768 KiB */ +#ifdef MTDIDS_DEFAULT +#undef MTDIDS_DEFAULT +#endif #define MTDIDS_DEFAULT "nor0=physmap-flash.0" + +#ifdef MTDPARTS_DEFAULT +#undef MTDPARTS_DEFAULT +#endif #define MTDPARTS_DEFAULT "mtdparts=physmap-flash.0:" \ "512k(u-boot)," \ "128k(u-boot-env1)," \ @@ -454,4 +467,22 @@ #endif #endif /* NOR support */ +#ifdef CONFIG_MMC +#define BOOT_TARGETS_MMC "mmc0" +#else +#define BOOT_TARGETS_MMC "" +#endif + +#ifdef CONFIG_USB_HOST +#define BOOT_TARGETS_USB "usb" +#else +#define BOOT_TARGETS_USB "" +#endif + +#ifdef CONFIG_NAND +#define BOOT_TARGETS_NAND "nand" +#else +#define BOOT_TARGETS_NAND "" +#endif + #endif /* ! __CONFIG_AM335X_EVM_H */ diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h index a92df4dd29..ce259fdf4d 100644 --- a/include/configs/dra7xx_evm.h +++ b/include/configs/dra7xx_evm.h @@ -180,4 +180,29 @@ #define NANDARGS "" #endif /* !CONFIG_NAND */ +#define FIND_FDT_FILE \ + "findfdt="\ + "if test $board_name = dra7xx; then " \ + "setenv fdtfile dra7-evm.dtb; fi;" \ + "if test $fdtfile = undefined; then " \ + "echo WARNING: Could not determine device tree to use; fi; \0" \ + +#ifdef CONFIG_MMC +#define BOOT_TARGETS_MMC "mmc0" +#else +#define BOOT_TARGETS_MMC "" +#endif + +#ifdef CONFIG_USB_HOST +#define BOOT_TARGETS_USB "usb" +#else +#define BOOT_TARGETS_USB "" +#endif + +#ifdef CONFIG_NAND +#define BOOT_TARGETS_NAND "nand" +#else +#define BOOT_TARGETS_NAND "" +#endif + #endif /* __CONFIG_DRA7XX_EVM_H */ diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index 52c3d698fa..594d9e7962 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -91,6 +91,11 @@ "vram=${vram} " \ "root=${mmcroot} " \ "rootfstype=${mmcrootfstype}\0" \ + "usbargs=setenv bootargs console=${console} " \ + "${optargs} " \ + "vram=${vram}" \ + "root=${mmcroot} " \ + "rootfstype=${mmcrootfstype}\0" \ "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ "source ${loadaddr}\0" \ @@ -116,23 +121,11 @@ "bootz ${loadaddr} - ${fdtaddr}; " \ "fi;" \ "fi;\0" \ - "findfdt="\ - "if test $board_name = omap5_uevm; then " \ - "setenv fdtfile omap5-uevm.dtb; fi; " \ - "if test $board_name = dra7xx; then " \ - "setenv fdtfile dra7-evm.dtb; fi;" \ - "if test $fdtfile = undefined; then " \ - "echo WARNING: Could not determine device tree to use; fi; \0" \ - "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \ - -#define CONFIG_BOOTCOMMAND \ - "run findfdt; " \ - "run mmcboot;" \ - "setenv mmcdev 1; " \ - "setenv bootpart 1:2; " \ - "setenv mmcroot /dev/mmcblk0p2 rw; " \ - "run mmcboot;" \ - + "loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \ + FIND_FDT_FILE \ + BOOTCMD_COMMON \ + BOOTCMD_MMC \ + BOOTCMD_USB /* * SPL related defines. The Public RAM memory map the ROM defines the diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h index 2f128b8a69..eb3aeeca87 100644 --- a/include/configs/omap5_uevm.h +++ b/include/configs/omap5_uevm.h @@ -66,6 +66,31 @@ #define CONSOLEDEV "ttyO2" +#ifdef CONFIG_MMC +#define BOOT_TARGETS_MMC "mmc0" +#else +#define BOOT_TARGETS_MMC "" +#endif + +#ifdef CONFIG_USB_HOST +#define BOOT_TARGETS_USB "usb" +#else +#define BOOT_TARGETS_USB "" +#endif + +#ifdef CONFIG_NAND +#define BOOT_TARGETS_NAND "nand" +#else +#define BOOT_TARGETS_NAND "" +#endif + +#define FIND_FDT_FILE \ + "findfdt="\ + "if test $board_name = omap5_uevm; then " \ + "setenv fdtfile omap5-uevm.dtb; fi; " \ + "if test $fdtfile = undefined; then " \ + "echo WARNING: Could not determine device tree to use; fi; \0" \ + /* Max time to hold reset on this board, see doc/README.omap-reset-time */ #define CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC 16296 diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 7a2326524a..47cdbffbbe 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -221,4 +221,79 @@ #define CONFIG_SPL_BOARD_INIT #endif /* !CONFIG_NOR_BOOT */ +/* Boot defines */ +#define BOOTCMD_COMMON \ + "rootpart=2\0" \ + "script_boot=" \ + "if load ${devtype} ${devnum}:${rootpart} ${loadaddr} ${bootdir}/${bootfile}; then " \ + "run findfdt; " \ + "load ${devtype} ${devnum}:${rootpart} ${fdtaddr} ${bootdir}/${fdtfile};" \ + "bootz ${loadaddr} - ${fdtaddr}; " \ + "fi;\0" \ + \ + "scan_boot=" \ + "echo Scanning ${devtype} ${devnum}...; " \ + "for prefix in ${bootdir}; do " \ + "for script in ${bootfile}; do " \ + "run script_boot; " \ + "done; " \ + "done;\0" \ + "boot_targets=" \ + BOOT_TARGETS_USB " " \ + BOOT_TARGETS_MMC " " \ + BOOT_TARGETS_NAND " " \ + "\0" + +/* USB MSD Boot */ +#define BOOTCMD_INIT_USB "run usb_init; " +#define BOOTCMD_USB \ + "usb_init=" \ + "usb start 0;\0 " \ + "usb_boot=" \ + "setenv devtype usb; " \ + BOOTCMD_INIT_USB \ + "if usb dev 0; then " \ + "run usbargs;" \ + "run scan_boot; " \ + "fi\0" \ + "bootcmd_usb=setenv devnum 0; run usb_boot;\0" + +/* MMC Boot */ +#define BOOTCMD_MMC \ + "mmc_boot=" \ + "setenv devtype mmc; " \ + "if mmc dev ${devnum}; then " \ + "run mmcargs;" \ + "run scan_boot; " \ + "fi\0" \ + "bootcmd_mmc0=setenv devnum 0; setenv rootpart 2; run mmc_boot;\0" \ + +/* NAND Boot */ +#define DFU_ALT_INFO_NAND "" +#ifndef CONFIG_NAND +#define MTDIDS_DEFAULT "" +#define MTDPARTS_DEFAULT "" +#endif + +#define BOOTCMD_NAND \ + "mtdids=" MTDIDS_DEFAULT "\0" \ + "mtdparts=" MTDPARTS_DEFAULT "\0" \ + "nandargs=setenv bootargs console=${console} " \ + "${optargs} " \ + "root=${nandroot} " \ + "rootfstype=${nandrootfstype}\0" \ + "dfu_alt_info_nand=" DFU_ALT_INFO_NAND "\0" \ + "nandroot=ubi0:rootfs rw ubi.mtd=7,2048\0" \ + "nandrootfstype=ubifs rootwait=1\0" \ + "nandsrcaddr=0x280000\0" \ + "nandboot=echo Booting from nand ...; " \ + "run nandargs; " \ + "nand read ${loadaddr} ${nandsrcaddr} ${nandimgsize}; " \ + "bootz ${loadaddr}\0" \ + "nandimgsize=0x500000\0" \ + "bootcmd_nand=run nandboot;\0" + +#define CONFIG_BOOTCOMMAND \ + "for target in ${boot_targets}; do run bootcmd_${target}; done" + #endif /* __CONFIG_TI_ARMV7_COMMON_H__ */