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 <dmur...@ti.com>
---
 include/configs/am335x_evm.h      |   77 ++++++++++++++++++++++---------------
 include/configs/dra7xx_evm.h      |   25 ++++++++++++
 include/configs/omap4_common.h    |   36 ++---------------
 include/configs/omap4_panda.h     |   29 ++++++++++++++
 include/configs/omap4_sdp4430.h   |   26 +++++++++++++
 include/configs/omap5_common.h    |   22 +++--------
 include/configs/omap5_uevm.h      |   25 ++++++++++++
 include/configs/ti_armv7_common.h |   72 ++++++++++++++++++++++++++++++++++
 8 files changed, 233 insertions(+), 79 deletions(-)

diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index c2ba7e3..40ecb66 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -31,27 +31,6 @@
 /* Always 128 KiB env size */
 #define CONFIG_ENV_SIZE                        (128 << 10)
 
-#ifdef CONFIG_NAND
-#define NANDARGS \
-       "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"
-#else
-#define NANDARGS ""
-#endif
-
 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 
 #ifndef CONFIG_SPL_BUILD
@@ -163,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 */
@@ -317,6 +290,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;" \
@@ -349,7 +326,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)," \
@@ -381,7 +366,14 @@
 #define CONFIG_CMD_NAND
 #define GPMC_NAND_ECC_LP_x16_LAYOUT    1
 #if !defined(CONFIG_SPI_BOOT) && !defined(CONFIG_NOR_BOOT)
+#ifdef MTDIDS_DEFAULT
+#undef MTDIDS_DEFAULT
+#endif
 #define MTDIDS_DEFAULT                 "nand0=omap2-nand.0"
+
+#ifdef MTDPARTS_DEFAULT
+#undef MTDPARTS_DEFAULT
+#endif
 #define MTDPARTS_DEFAULT               "mtdparts=omap2-nand.0:128k(SPL)," \
                                        "128k(SPL.backup1)," \
                                        "128k(SPL.backup2)," \
@@ -424,7 +416,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)," \
@@ -433,4 +432,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 8a69c7d..31cf7b6 100644
--- a/include/configs/dra7xx_evm.h
+++ b/include/configs/dra7xx_evm.h
@@ -83,4 +83,29 @@
 #define CONFIG_OMAP_USB_PHY
 #define CONFIG_OMAP_USB2PHY2_HOST
 
+#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/omap4_common.h b/include/configs/omap4_common.h
index ea56eeb..e0524a3 100644
--- a/include/configs/omap4_common.h
+++ b/include/configs/omap4_common.h
@@ -114,39 +114,11 @@
        "mmcboot=echo Booting from mmc${mmcdev} ...; " \
                "run mmcargs; " \
                "bootz ${loadaddr} - ${fdtaddr}\0" \
-       "findfdt="\
-               "if test $board_name = sdp4430; then " \
-                       "setenv fdtfile omap4-sdp.dtb; fi; " \
-               "if test $board_name = panda; then " \
-                       "setenv fdtfile omap4-panda.dtb; fi;" \
-               "if test $board_name = panda-a4; then " \
-                       "setenv fdtfile omap4-panda-a4.dtb; fi;" \
-               "if test $board_name = panda-es; then " \
-                       "setenv fdtfile omap4-panda-es.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; " \
-       "mmc dev ${mmcdev}; if mmc rescan; then " \
-               "echo SD/MMC found on device ${mmcdev};" \
-               "if run loadbootscript; then " \
-                       "run bootscript; " \
-               "else " \
-                       "if run loadbootenv; then " \
-                               "run importbootenv; " \
-                       "fi;" \
-                       "if test -n ${uenvcmd}; then " \
-                               "echo Running uenvcmd ...;" \
-                               "run uenvcmd;" \
-                       "fi;" \
-               "fi;" \
-               "if run loadimage; then " \
-                       "run loadfdt;" \
-                       "run mmcboot; " \
-               "fi; " \
-       "fi"
+       FIND_FDT_FILE \
+       BOOTCMD_COMMON \
+       BOOTCMD_MMC \
+       BOOTCMD_USB
 
 /* Defines for SPL */
 #define CONFIG_SPL_TEXT_BASE           0x40304350
diff --git a/include/configs/omap4_panda.h b/include/configs/omap4_panda.h
index 6820e42..8c480c0 100644
--- a/include/configs/omap4_panda.h
+++ b/include/configs/omap4_panda.h
@@ -42,6 +42,24 @@
 #include <configs/omap4_common.h>
 #define CONFIG_CMD_NET
 
+#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
+
 /* GPIO */
 #define CONFIG_CMD_GPIO
 
@@ -50,4 +68,15 @@
 
 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
 
+#define FIND_FDT_FILE \
+       "findfdt="\
+               "if test $board_name = panda; then " \
+                       "setenv fdtfile omap4-panda.dtb; fi;" \
+               "if test $board_name = panda-a4; then " \
+                       "setenv fdtfile omap4-panda-a4.dtb; fi;" \
+               "if test $board_name = panda-es; then " \
+                       "setenv fdtfile omap4-panda-es.dtb; fi;" \
+               "if test $fdtfile = undefined; then " \
+                       "echo WARNING: Could not determine device tree to use; 
fi; \0" \
+
 #endif /* __CONFIG_PANDA_H */
diff --git a/include/configs/omap4_sdp4430.h b/include/configs/omap4_sdp4430.h
index b352511..f4f086f 100644
--- a/include/configs/omap4_sdp4430.h
+++ b/include/configs/omap4_sdp4430.h
@@ -32,4 +32,30 @@
 #define CONFIG_ENV_OFFSET              0xE0000
 #define CONFIG_CMD_SAVEENV
 
+#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 = sdp4430; then " \
+                       "setenv fdtfile omap4-sdp.dtb; fi; " \
+               "if test $fdtfile = undefined; then " \
+                       "echo WARNING: Could not determine device tree to use; 
fi; \0" \
+
+
 #endif /* __CONFIG_SDP4430_H */
diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h
index c7fa37e..4d5e5f4 100644
--- a/include/configs/omap5_common.h
+++ b/include/configs/omap5_common.h
@@ -116,23 +116,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 4d3a800..a432a23 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 84269ad..e11d357 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -248,4 +248,76 @@
 #endif
 #endif /* !CONFIG_NOR_BOOT */
 
+/* Boot defines */
+#define BOOTCMD_COMMON \
+       "rootpart=1\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 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 ""
+#define MTDIDS_DEFAULT ""
+#define MTDPARTS_DEFAULT ""
+
+#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__ */
-- 
1.7.9.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to