[U-Boot] MXS NAND: DMA read error

Marek Vasut
2012-04-17T08:17:37Z

> Hello,
>
> I'm trying to compile latest U-Boot to mx28evk (rev D) with NAND
> support. U-Boot boots up but NAND chip is not detected and DMA read
> error is popped up.

MX28 EVK has no NAND, right?

Otherwise, check if you have APBH DMA enabled in your include/configs/mx28evk.h

btw Fabio, can you please ping me on jabber?

> Here is console output:
>
> U-Boot 2012.04-rc2-dirty (Apr 17 2012 - 10:58:50)
>
> Freescale i.MX28 family at 454 MHz
> DRAM: 128 MiB
> NAND: MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: Error sending command
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: Error sending command
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> MXS NAND: DMA read error (-110)
> No NAND device found!!!
> 0 MiB
>
>
> I did following changes to mainline code. Did I forget something?
>
> diff --git a/drivers/mtd/nand/mxs_nand.c b/drivers/mtd/nand/mxs_nand.c
> index 9c95811..93e54da 100644
> --- a/drivers/mtd/nand/mxs_nand.c
> +++ b/drivers/mtd/nand/mxs_nand.c
> @@ -465,7 +465,7 @@ static void mxs_nand_read_buf(struct mtd_info *mtd,
> uint8_t *buf, int length)
> /* Execute the DMA chain. */
> ret = mxs_dma_go(channel);
> if (ret) {
> - printf("MXS NAND: DMA read error\n");
> + printf("MXS NAND: DMA read error (%d)\n", ret);
> goto rtn;
> }
>
> diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h
> index 02f3366..a0bd2db 100644
> --- a/include/configs/mx28evk.h
> +++ b/include/configs/mx28evk.h
> @@ -148,6 +148,15 @@
> #endif
>
> /*
> + * NAND
> + */
> +#define CONFIG_CMD_NAND
> +#define CONFIG_NAND_MXS
> +#define CONFIG_SYS_MAX_NAND_DEVICE 1
> +#define CONFIG_SYS_NAND_BASE 0x60000000
> +#define CONFIG_SYS_NAND_5_ADDR_CYCLE
> +
> +/*
> * Ethernet on SOC (FEC)
> */
> #ifdef CONFIG_CMD_NET
>
>
> BR,
> Lauri Hintsala

Best regards,
Marek Vasut