TI: configs: Commonize the boot of different devices

Commonize in the ti_armv7_common.h the boot scripts for
USB, MMC and NAND.

Each board file can then select which BOOT_TARGETS are applicable
for the target board.
And any parameters based on that.

Finally removed the findfdt from the common file and made this more board
specific as omap4_common should not reference panda.

This implemenation was adopted from the tegra-common-post.h file.

Signed-off-by: Dan Murphy <dmurphy@ti.com>
This commit is contained in:
Dan Murphy 2013-12-10 08:36:46 -06:00 committed by Tom Rini
parent 001419954b
commit 1ef9df10b7
5 changed files with 175 additions and 26 deletions

View File

@ -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 */

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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__ */