[U-Boot] MXS NAND: DMA read error

Lauri Hintsala lauri.hintsala at bluegiga.com
Tue Apr 17 10:07:28 CEST 2012


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.


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


More information about the U-Boot mailing list