diff options
| author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2013-12-10 14:31:56 +0100 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2013-12-10 22:23:59 +0100 | 
| commit | f15ea6e1d67782a1626d4a4922b6c20e380085e5 (patch) | |
| tree | 57d78f1ee94a2060eaa591533278d2934d4f1da3 /arch/arm/cpu/armv7/am33xx/mem.c | |
| parent | cb7ee1b98cac6baf244daefb1192adf5a47bc983 (diff) | |
| parent | f44483b57c49282299da0e5c10073b909cdad979 (diff) | |
| download | olio-uboot-2014.01-f15ea6e1d67782a1626d4a4922b6c20e380085e5.tar.xz olio-uboot-2014.01-f15ea6e1d67782a1626d4a4922b6c20e380085e5.zip | |
Merge branch 'u-boot/master' into 'u-boot-arm/master'
Conflicts:
	arch/arm/cpu/armv7/rmobile/Makefile
	doc/README.scrapyard
Needed manual fix:
	arch/arm/cpu/armv7/omap-common/Makefile
	board/compulab/cm_t335/u-boot.lds
Diffstat (limited to 'arch/arm/cpu/armv7/am33xx/mem.c')
| -rw-r--r-- | arch/arm/cpu/armv7/am33xx/mem.c | 52 | 
1 files changed, 29 insertions, 23 deletions
| diff --git a/arch/arm/cpu/armv7/am33xx/mem.c b/arch/arm/cpu/armv7/am33xx/mem.c index b6eb46678..56c9e7dbc 100644 --- a/arch/arm/cpu/armv7/am33xx/mem.c +++ b/arch/arm/cpu/armv7/am33xx/mem.c @@ -22,17 +22,6 @@  struct gpmc *gpmc_cfg; -#if defined(CONFIG_CMD_NAND) -static const u32 gpmc_m_nand[GPMC_MAX_REG] = { -	M_NAND_GPMC_CONFIG1, -	M_NAND_GPMC_CONFIG2, -	M_NAND_GPMC_CONFIG3, -	M_NAND_GPMC_CONFIG4, -	M_NAND_GPMC_CONFIG5, -	M_NAND_GPMC_CONFIG6, 0 -}; -#endif -  void enable_gpmc_cs_config(const u32 *gpmc_config, struct gpmc_cs *cs, u32 base,  			u32 size) @@ -61,11 +50,34 @@ void gpmc_init(void)  {  	/* putting a blanket check on GPMC based on ZeBu for now */  	gpmc_cfg = (struct gpmc *)GPMC_BASE; - -#ifdef CONFIG_CMD_NAND -	const u32 *gpmc_config = NULL; -	u32 base = 0; +#if defined(CONFIG_NOR) +/* configure GPMC for NOR */ +	const u32 gpmc_regs[GPMC_MAX_REG] = {	STNOR_GPMC_CONFIG1, +						STNOR_GPMC_CONFIG2, +						STNOR_GPMC_CONFIG3, +						STNOR_GPMC_CONFIG4, +						STNOR_GPMC_CONFIG5, +						STNOR_GPMC_CONFIG6, +						STNOR_GPMC_CONFIG7 +						}; +	u32 size = GPMC_SIZE_16M; +	u32 base = CONFIG_SYS_FLASH_BASE; +#elif defined(CONFIG_NAND) +/* configure GPMC for NAND */ +	const u32  gpmc_regs[GPMC_MAX_REG] = {	M_NAND_GPMC_CONFIG1, +						M_NAND_GPMC_CONFIG2, +						M_NAND_GPMC_CONFIG3, +						M_NAND_GPMC_CONFIG4, +						M_NAND_GPMC_CONFIG5, +						M_NAND_GPMC_CONFIG6, +						0 +						}; +	u32 size = GPMC_SIZE_256M; +	u32 base = CONFIG_SYS_NAND_BASE; +#else +	const u32 gpmc_regs[GPMC_MAX_REG] = { 0, 0, 0, 0, 0, 0, 0 };  	u32 size = 0; +	u32 base = 0;  #endif  	/* global settings */  	writel(0x00000008, &gpmc_cfg->sysconfig); @@ -81,12 +93,6 @@ void gpmc_init(void)  	 */  	writel(0, &gpmc_cfg->cs[0].config7);  	sdelay(1000); - -#ifdef CONFIG_CMD_NAND -	gpmc_config = gpmc_m_nand; - -	base = PISMO1_NAND_BASE; -	size = PISMO1_NAND_SIZE; -	enable_gpmc_cs_config(gpmc_config, &gpmc_cfg->cs[0], base, size); -#endif +	/* enable chip-select specific configurations */ +	enable_gpmc_cs_config(gpmc_regs, &gpmc_cfg->cs[0], base, size);  } |