There are several presets for GPMC registers defined in include/asm-arm/arch-omap3/mem.h. Allow selection between SMNAND and M_NAND presets based on OMAP34XX_GPMC_NAND_<PART> defines
Signed-off-by: Mike Rapoport <m...@compulab.co.il> --- cpu/arm_cortexa8/omap3/mem.c | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) diff --git a/cpu/arm_cortexa8/omap3/mem.c b/cpu/arm_cortexa8/omap3/mem.c index 8b8cd6d..2bd7e1c 100644 --- a/cpu/arm_cortexa8/omap3/mem.c +++ b/cpu/arm_cortexa8/omap3/mem.c @@ -44,14 +44,21 @@ volatile unsigned int boot_flash_env_addr; 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 -}; +#define GPMC_NAND(PART) \ + static const u32 gpmc_nand[GPMC_MAX_REG] = { \ + PART##_GPMC_CONFIG1, \ + PART##_GPMC_CONFIG2, \ + PART##_GPMC_CONFIG3, \ + PART##_GPMC_CONFIG4, \ + PART##_GPMC_CONFIG5, \ + PART##_GPMC_CONFIG6, 0 \ + }; + +#ifdef OMAP34XX_GPMC_NAND_SMNAND +GPMC_NAND(SMNAND) +#else +GPMC_NAND(M_NAND) +#endif #if defined(CONFIG_ENV_IS_IN_NAND) #define GPMC_CS 0 @@ -246,7 +253,7 @@ void gpmc_init(void) sdelay(1000); #if defined(CONFIG_CMD_NAND) /* CS 0 */ - gpmc_config = gpmc_m_nand; + gpmc_config = gpmc_nand; base = PISMO1_NAND_BASE; size = PISMO1_NAND_SIZE; -- 1.6.0.6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot