[U-Boot] [PATCH] OMAP3EVM: Added NAND support
Dirk Behme
dirk.behme at googlemail.com
Wed Nov 18 08:30:36 CET 2009
hvaibhav at ti.com wrote:
> From: Vaibhav Hiremath <hvaibhav at ti.com>
>
> User can now choose between NAND and ONENAND support in omap3_evm.h
>
> Signed-off-by: Vaibhav Hiremath <hvaibhav at 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?
> #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?
Best regards
Dirk
More information about the U-Boot
mailing list