[U-Boot] [PATCH] ARM DaVinci: Adding CONFIG options for NAND ALE and CLE
Steve Chen
schen at mvista.com
Tue Apr 28 22:54:08 CEST 2009
On Tue, 2009-04-28 at 16:33 -0400, s-paulraj at ti.com wrote:
> The CLE and ALE for DaVinci DM644x is not the same as DM646x. This patch
> adds 2 CONFIG_ options to the config.h header files to all the DM6446 based
> boards. These values are then used by the driver. This has been tested on the
> DM644x, DM355, DM357 and DM365. Support for the latter 3 will be added soon.
>
> Signed-off-by: Sandeep Paulraj <s-paulraj at ti.com>
> ---
> drivers/mtd/nand/davinci_nand.c | 6 +++---
> include/asm-arm/arch-davinci/nand_defs.h | 9 ++++-----
> include/configs/davinci_dvevm.h | 2 ++
> include/configs/davinci_schmoogie.h | 2 ++
> include/configs/davinci_sffsdr.h | 2 ++
> include/configs/davinci_sonata.h | 2 ++
> 6 files changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
> index a974667..dcc0f39 100644
> --- a/drivers/mtd/nand/davinci_nand.c
> +++ b/drivers/mtd/nand/davinci_nand.c
> @@ -54,13 +54,13 @@ static void nand_davinci_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int c
> struct nand_chip *this = mtd->priv;
> u_int32_t IO_ADDR_W = (u_int32_t)this->IO_ADDR_W;
>
> - IO_ADDR_W &= ~(MASK_ALE|MASK_CLE);
> + IO_ADDR_W &= ~(CONFIG_MASK_ALE | CONFIG_MASK_CLE);
>
> if (ctrl & NAND_CTRL_CHANGE) {
> if ( ctrl & NAND_CLE )
> - IO_ADDR_W |= MASK_CLE;
> + IO_ADDR_W |= CONFIG_MASK_CLE;
> if ( ctrl & NAND_ALE )
> - IO_ADDR_W |= MASK_ALE;
> + IO_ADDR_W |= CONFIG_MASK_ALE;
When I modified this code in the MV kernel, I remember having to use +=
and -= instead of |= and &=. The reason is tha DM6467 CLE/ALE mask has
large enough that the bits overlaps IO_ADDR_W.
More information about the U-Boot
mailing list