]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
am335x_evm: Make NAND support modular
authorJustin Waters <justin.waters@timesys.com>
Thu, 11 Jul 2013 13:54:58 +0000 (09:54 -0400)
committerTom Rini <trini@ti.com>
Tue, 30 Jul 2013 13:21:42 +0000 (09:21 -0400)
Give the user the ability to disable NAND support by defining
CONFIG_NO_NAND. This will allow custom hardware to easily support
this configuration.

Signed-off-by: Justin Waters <justin.waters@timesys.com>
[trini: Make apply on top of other series]
Signed-off-by: Tom Rini <trini@ti.com>
boards.cfg
include/configs/am335x_evm.h

index ffb8a279112f44f077a5214d64fabf05f22989ac..e49d6dd85e345558804a624df6d5fb80776dc309 100644 (file)
@@ -242,7 +242,7 @@ vexpress_ca15_tc2            arm         armv7       vexpress            armltd
 vexpress_ca5x2               arm         armv7       vexpress            armltd
 vexpress_ca9x4               arm         armv7       vexpress            armltd
 am335x_evm                   arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,NAND
-am335x_evm_nor               arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,NOR
+am335x_evm_nor               arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,NAND,NOR
 am335x_evm_norboot           arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,NOR,NOR_BOOT
 am335x_evm_spiboot           arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOT
 am335x_evm_uart1             arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL2,CONS_INDEX=1,NAND
index 3ca35c32dca768fb0b9d77fee8efe15aede8950d..b6331281cdc88606cfe83d29834188dacf15a499 100644 (file)
 #define CONFIG_CMD_ASKENV
 #define CONFIG_VERSION_VARIABLE
 
+#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}; " \
+               "bootm ${loadaddr}\0" \
+       "nandimgsize=0x500000\0"
+#else
+#define NANDARGS ""
+#endif
+
 /* set to negative value for no autoboot */
 #define CONFIG_BOOTDELAY               1
 #define CONFIG_ENV_VARS_UBOOT_CONFIG
        "fdtfile=undefined\0" \
        "console=ttyO0,115200n8\0" \
        "optargs=\0" \
-       "mtdids=" MTDIDS_DEFAULT "\0" \
-       "mtdparts=" MTDPARTS_DEFAULT "\0" \
        "dfu_alt_info_mmc=" DFU_ALT_INFO_MMC "\0" \
        "dfu_alt_info_emmc=rawemmc mmc 0 3751936\0" \
-       "dfu_alt_info_nand=" DFU_ALT_INFO_NAND "\0" \
        "mmcdev=0\0" \
        "mmcroot=/dev/mmcblk0p2 ro\0" \
        "mmcrootfstype=ext4 rootwait\0" \
        "bootpart=0:2\0" \
-       "nandroot=ubi0:rootfs rw ubi.mtd=7,2048\0" \
-       "nandrootfstype=ubifs rootwait=1\0" \
-       "nandsrcaddr=0x280000\0" \
-       "nandimgsize=0x500000\0" \
        "rootpath=/export/rootfs\0" \
        "nfsopts=nolock\0" \
        "static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}" \
                "${optargs} " \
                "root=${mmcroot} " \
                "rootfstype=${mmcrootfstype}\0" \
-       "nandargs=setenv bootargs console=${console} " \
-               "${optargs} " \
-               "root=${nandroot} " \
-               "rootfstype=${nandrootfstype}\0" \
        "spiroot=/dev/mtdblock4 rw\0" \
        "spirootfstype=jffs2\0" \
        "spisrcaddr=0xe0000\0" \
        "mmcboot=echo Booting from mmc ...; " \
                "run mmcargs; " \
                "bootm ${loadaddr} - ${fdtaddr}\0" \
-       "nandboot=echo Booting from nand ...; " \
-               "run nandargs; " \
-               "nand read ${loadaddr} ${nandsrcaddr} ${nandimgsize}; " \
-               "bootm ${loadaddr}\0" \
        "spiboot=echo Booting from spi ...; " \
                "run spiargs; " \
                "sf probe ${spibusno}:0; " \
                "if test $board_name = A335X_SK; then " \
                        "setenv fdtfile am335x-evmsk.dtb; fi; " \
                "if test $fdtfile = undefined; then " \
-                       "echo WARNING: Could not determine device tree to use; fi; \0"
+                       "echo WARNING: Could not determine device tree to use; fi; \0" \
+       NANDARGS
 #endif
 
 #define CONFIG_BOOTCOMMAND \
 /* USB Device Firmware Update support */
 #define CONFIG_DFU_FUNCTION
 #define CONFIG_DFU_MMC
-#define CONFIG_DFU_NAND
 #define CONFIG_CMD_DFU
 #define DFU_ALT_INFO_MMC \
        "boot part 0 1;" \
        "spl-os-image fat 0 1;" \
        "u-boot.img fat 0 1;" \
        "uEnv.txt fat 0 1"
+#ifdef CONFIG_NAND
+#define CONFIG_DFU_NAND
 #define DFU_ALT_INFO_NAND \
        "SPL part 0 1;" \
        "SPL.backup1 part 0 2;" \
        "u-boot-spl-os part 0 6;" \
        "kernel part 0 8;" \
        "rootfs part 0 9"
+#endif
 
  /* Physical Memory Map */
 #define CONFIG_NR_DRAM_BANKS           1               /*  1 bank of DRAM */
 #define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS 0x80    /* 64KiB */
 
 /* nand */
+#ifdef CONFIG_NAND
 #define CONFIG_CMD_SPL_NAND_OFS                        0x240000 /* end of u-boot */
 #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS                0x280000
 #define CONFIG_CMD_SPL_WRITE_SIZE              0x2000
+#endif
 
 /* spl export command */
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_LDSCRIPT            "$(CPUDIR)/am33xx/u-boot-spl.lds"
 
 #define CONFIG_SPL_BOARD_INIT
+
+#ifdef CONFIG_NAND
 #define CONFIG_SPL_NAND_AM33XX_BCH
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_NAND_BASE
 #define CONFIG_SPL_NAND_DRIVERS
 #define CONFIG_SPL_NAND_ECC
-#endif
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_PAGE_COUNT     (CONFIG_SYS_NAND_BLOCK_SIZE / \
                                         CONFIG_SYS_NAND_PAGE_SIZE)
 #define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE
 
 #define CONFIG_SYS_NAND_U_BOOT_OFFS    0x80000
+#endif
+#endif
 
 /*
  * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM
 #define CONFIG_PHY_ADDR                        0
 #define CONFIG_PHY_SMSC
 
-#define CONFIG_NAND
 /* NAND support */
 #ifdef CONFIG_NAND
 #define CONFIG_CMD_NAND