diff options
| author | Justin Waters <justin.waters@timesys.com> | 2013-07-11 09:54:58 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-07-30 09:21:42 -0400 | 
| commit | 317fab2df2b06d44d1f91bd44d421f3ef1013ac9 (patch) | |
| tree | abf6099d863cfc936bbab584d6782e91419202ae | |
| parent | f6d1f6e4a58edae4776937647381a43fea5e83a5 (diff) | |
| download | olio-uboot-2014.01-317fab2df2b06d44d1f91bd44d421f3ef1013ac9.tar.xz olio-uboot-2014.01-317fab2df2b06d44d1f91bd44d421f3ef1013ac9.zip | |
am335x_evm: Make NAND support modular
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>
| -rw-r--r-- | boards.cfg | 2 | ||||
| -rw-r--r-- | include/configs/am335x_evm.h | 51 | 
2 files changed, 33 insertions, 20 deletions
| diff --git a/boards.cfg b/boards.cfg index ffb8a2791..e49d6dd85 100644 --- a/boards.cfg +++ b/boards.cfg @@ -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 diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 3ca35c32d..b6331281c 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -51,6 +51,27 @@  #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 @@ -66,19 +87,12 @@  	"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}" \ @@ -89,10 +103,6 @@  		"${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" \ @@ -121,10 +131,6 @@  	"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; " \ @@ -150,7 +156,8 @@  		"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 \ @@ -234,7 +241,6 @@  /* 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;" \ @@ -248,6 +254,8 @@  	"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;" \ @@ -257,6 +265,7 @@  	"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 */ @@ -344,9 +353,11 @@  #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 @@ -376,12 +387,13 @@  #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) @@ -403,6 +415,8 @@  #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 @@ -506,7 +520,6 @@  #define CONFIG_PHY_ADDR			0  #define CONFIG_PHY_SMSC -#define CONFIG_NAND  /* NAND support */  #ifdef CONFIG_NAND  #define CONFIG_CMD_NAND |