[U-Boot] [PATCH] OMAP3EVM: Added NAND support

Hiremath, Vaibhav
2009-11-18T08:25:55Z

> -----Original Message-----
> From: Dirk Behme [mailto:dirk.behme at googlemail.com]
> Sent: Wednesday, November 18, 2009 1:01 PM
> To: Hiremath, Vaibhav
> Cc: u-boot at lists.denx.de
> Subject: Re: [U-Boot] [PATCH] OMAP3EVM: Added NAND support
>
> hvaibhav at ti.com wrote:
> > From: Vaibhav Hiremath <hvaibhav@ti.com>
> >
> > User can now choose between NAND and ONENAND support in
> omap3_evm.h
> >
> > Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
> > ---
> > include/configs/omap3_evm.h | 27 ++++++++++++++++++++++++++-
> > 1 files changed, 26 insertions(+), 1 deletions(-)
> >
> > diff --git a/include/configs/omap3_evm.h
> b/include/configs/omap3_evm.h
> > index a5514ae..3434306 100644
> > --- a/include/configs/omap3_evm.h
> > +++ b/include/configs/omap3_evm.h
> > @@ -110,7 +110,8 @@
> >
> > #define CONFIG_CMD_I2C /* I2C serial bus support */
> > #define CONFIG_CMD_MMC /* MMC support */
> > -#define CONFIG_CMD_ONENAND /* ONENAND support */
> > +/*#define CONFIG_CMD_ONENAND*/ /* ONENAND support */
> > +#define CONFIG_CMD_NAND /* NAND support */
>
> Is it okay to switch the default from ONENAND to NAND here?
>
[Hiremath, Vaibhav] Most EVM's which I have seen comes with NAND support, so I have chosen NAND as a default. And anyway here user can select ONENAND also.

Do you see any issues with moving NAND as a default?

> > #define CONFIG_CMD_DHCP
> > #define CONFIG_CMD_PING
> >
> > @@ -141,6 +142,7 @@
> > /* to access */
> > /* nand at CS0 */
> >
> > +
>
> ?
>
> > #define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number
> of */
> > /* NAND devices */
> > #define CONFIG_SYS_64BIT_VSPRINTF /* needed for
> nand_util.c */
> > @@ -268,7 +270,13 @@
> > #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
> > #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP
> >
> > +#if defined(CONFIG_CMD_NAND)
> > +#define CONFIG_NAND_OMAP_GPMC
> > +#define GPMC_NAND_ECC_LP_x16_LAYOUT 1
> > +#define CONFIG_ENV_IS_IN_NAND 1
> > +#elif defined(CONFIG_CMD_ONENAND)
> > #define CONFIG_ENV_IS_IN_ONENAND 1
> > +#endif
> > #define ONENAND_ENV_OFFSET 0x260000 /* environment starts
> here */
> > #define SMNAND_ENV_OFFSET 0x260000 /* environment starts
> here */
> >
> > @@ -300,6 +308,23 @@ extern unsigned int boot_flash_sec;
> > extern unsigned int boot_flash_type;
> > #endif
> >
> > +
> > +#define WRITE_NAND_COMMAND(d, adr)\
> > + writel(d, &nand_cs_base->nand_cmd)
> > +#define WRITE_NAND_ADDRESS(d, adr)\
> > + writel(d, &nand_cs_base->nand_adr)
> > +#define WRITE_NAND(d, adr) writew(d, &nand_cs_base->nand_dat)
> > +#define READ_NAND(adr) readl(&nand_cs_base->nand_dat)
> > +
> > +/* Other NAND Access APIs */
> > +#define NAND_WP_OFF() do {readl(&gpmc_cfg_base->config) |=
> GPMC_CONFIG_WP; } \
> > + while (0)
> > +#define NAND_WP_ON() do {readl(&gpmc_cfg_base->config) &=
> ~GPMC_CONFIG_WP; } \
> > + while (0)
> > +#define NAND_DISABLE_CE(nand)
> > +#define NAND_ENABLE_CE(nand)
> > +#define NAND_WAIT_READY(nand) udelay(10)
>
> Would encapsulating this with
>
> #if defined(CONFIG_CMD_NAND)
>
> #endif
>
> make sense here?
>
[Hiremath, Vaibhav] Opps. Sorry, by mistake I have sent old patch, sending you the cleaned one.

Thanks,
Vaibhav
> Best regards
>
> Dirk