In message <1353686104-31295-4-git-send-email-plagn...@jcrosoft.com> 
Jean-Christophe PLAGNIOL-VILLARD wrote:
> As in the kernel we revert as this was supposed to work but does not yet
> this may need more work on the smc to be able to use it
> So for now revert it
>
> This reverts commit 809f0f6327241504b5071622a8d573255f91a875.
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagn...@jcrosoft.com>
> ---
>  drivers/mtd/nand/atmel_nand.c |   33 +++++++++++++++++++++++++--------
>  1 file changed, 25 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
> index 0477178..69e8171 100644
> --- a/drivers/mtd/nand/atmel_nand.c
> +++ b/drivers/mtd/nand/atmel_nand.c
> @@ -159,16 +159,30 @@ static int atmel_nand_device_ready(struct mtd_info *mtd)
>   */
>  static void atmel_read_buf(struct mtd_info *mtd, u8 *buf, int len)
>  {
> -     struct nand_chip *chip = mtd->priv;
> +     struct nand_chip        *nand_chip = mtd->priv;
>
> -     memcpy_fromio(buf, chip->IO_ADDR_R, len);
> +     readsb(nand_chip->IO_ADDR_R, buf, len);
> +}
> +
> +static void atmel_read_buf16(struct mtd_info *mtd, u8 *buf, int len)
> +{
> +     struct nand_chip        *nand_chip = mtd->priv;
> +
> +     readsw(nand_chip->IO_ADDR_R, buf, len / 2);
>  }
>
>  static void atmel_write_buf(struct mtd_info *mtd, const u8 *buf, int len)
>  {
> -     struct nand_chip *chip = mtd->priv;
> +     struct nand_chip        *nand_chip = mtd->priv;
>
> -     memcpy_toio(chip->IO_ADDR_W, buf, len);
> +     writesb(nand_chip->IO_ADDR_W, buf, len);
> +}
> +
> +static void atmel_write_buf16(struct mtd_info *mtd, const u8 *buf, int len)
> +{
> +     struct nand_chip        *nand_chip = mtd->priv;
> +
> +     writesw(nand_chip->IO_ADDR_W, buf, len / 2);
>  }
>
>  /*
> @@ -1112,11 +1126,14 @@ static int __init atmel_nand_probe(struct device_d 
> *dev)
>
>       nand_chip->chip_delay = 20;             /* 20us command delay time */
>
> -     if (host->board->bus_width_16)          /* 16-bit bus width */
> +     if (host->board->bus_width_16) {        /* 16-bit bus width */
>               nand_chip->options |= NAND_BUSWIDTH_16;
> -
> -     nand_chip->read_buf = atmel_read_buf;
> -     nand_chip->write_buf = atmel_write_buf;
> +             nand_chip->read_buf = atmel_read_buf16;
> +             nand_chip->write_buf = atmel_write_buf16;
> +     } else {
> +             nand_chip->read_buf = atmel_read_buf;
> +             nand_chip->write_buf = atmel_write_buf;
> +     }
>
>       atmel_nand_enable(host);
>
> --
> 1.7.10.4
>

This patch resolves my problem

-- 
Best Regards,
zzs



_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to