[U-Boot] [PATCH 2/2] Fix compile errors for atmel_nand with hw-ecc and new SoC access

Tom Tom.Rix at windriver.com
Sun Apr 4 18:26:52 CEST 2010


Alexander Holler wrote:
> atmel_nand.c with HW-ECC doesn't compile with the new SoC access.
> Using CONFIG_AT91_LEGACY to circumvent the compile errors only leaves
> the driver in a state where it doesn't find the NAND.
> 
> To use HW-ECC with atmel_nand one has to use
> CONFIG_SYS_NAND_ECC_BASE AT91_ECC0_BASE (instead of AT91_ECC0)
> for an AT91SAM9263 or AT91_ECC_BASE for an AT91SAM9260.
> 

Nak
The new Soc access is the preferred method.
The fix should use the Soc access, not the legacy method.

Tom

> I've removed three unused variables too.
> ---
>  drivers/mtd/nand/atmel_nand.c |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
> index d5eb54a..5f10a02 100644
> --- a/drivers/mtd/nand/atmel_nand.c
> +++ b/drivers/mtd/nand/atmel_nand.c
> @@ -35,9 +35,9 @@
>  
>  /* Register access macros */
>  #define ecc_readl(add, reg)				\
> -	readl(AT91_BASE_SYS + add + ATMEL_ECC_##reg)
> +	readl(add + ATMEL_ECC_##reg)
>  #define ecc_writel(add, reg, value)			\
> -	writel((value), AT91_BASE_SYS + add + ATMEL_ECC_##reg)
> +	writel((value), add + ATMEL_ECC_##reg)
>  
>  #include "atmel_nand_ecc.h"	/* Hardware ECC registers */
>  
> @@ -79,7 +79,6 @@ static struct nand_ecclayout atmel_oobinfo_small = {
>  static int atmel_nand_calculate(struct mtd_info *mtd,
>  		const u_char *dat, unsigned char *ecc_code)
>  {
> -	struct nand_chip *nand_chip = mtd->priv;
>  	unsigned int ecc_value;
>  
>  	/* get the first 2 ECC bytes */
> @@ -167,7 +166,7 @@ static int atmel_nand_correct(struct mtd_info *mtd, u_char *dat,
>  		u_char *read_ecc, u_char *isnull)
>  {
>  	struct nand_chip *nand_chip = mtd->priv;
> -	unsigned int ecc_status, ecc_parity, ecc_mode;
> +	unsigned int ecc_status;
>  	unsigned int ecc_word, ecc_bit;
>  
>  	/* get the status from the Status Register */



More information about the U-Boot mailing list