summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuang Shijie <b32955@freescale.com>2012-08-15 10:29:40 +0800
committerJustin Waters <justin.waters@timesys.com>2012-09-12 11:05:55 -0400
commitef91335b0d67f6c80697ae982f950c2a1a523063 (patch)
treea920839303fa6b80f1ae4541c9ebfbbdb7e96dfe
parent67bfde0953d795e78844bca759e9ed2e977f93fd (diff)
ENGR00217505-6 uboot: gpmi: set default value for busy_timeout
Set 0x500 to the busy_timeout in HW_GPMI_TIMING1. If we do not set this busy_timeout, the gpmi may become unstable. Signed-off-by: Huang Shijie <b32955@freescale.com>
-rw-r--r--drivers/mtd/nand/gpmi_nfc_gpmi.h1
-rw-r--r--drivers/mtd/nand/gpmi_nfc_hal.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mtd/nand/gpmi_nfc_gpmi.h b/drivers/mtd/nand/gpmi_nfc_gpmi.h
index 5eb9c5ff5c..044db73426 100644
--- a/drivers/mtd/nand/gpmi_nfc_gpmi.h
+++ b/drivers/mtd/nand/gpmi_nfc_gpmi.h
@@ -299,6 +299,7 @@
(((v) << 0) & BM_GPMI_TIMING0_DATA_SETUP)
#define HW_GPMI_TIMING1 (0x00000080)
+#define HW_GPMI_TIMING1_SET (0x00000084)
#define BP_GPMI_TIMING1_DEVICE_BUSY_TIMEOUT 16
#define BM_GPMI_TIMING1_DEVICE_BUSY_TIMEOUT 0xFFFF0000
diff --git a/drivers/mtd/nand/gpmi_nfc_hal.c b/drivers/mtd/nand/gpmi_nfc_hal.c
index d5019bcd9f..5eac818913 100644
--- a/drivers/mtd/nand/gpmi_nfc_hal.c
+++ b/drivers/mtd/nand/gpmi_nfc_hal.c
@@ -199,6 +199,10 @@ static int init(void)
memcpy(&gpmi_nfc_hal.timing, &safe_timing,
sizeof(struct gpmi_nfc_timing));
+ /* Set the busy_timeout. */
+ REG_SET(CONFIG_GPMI_REG_BASE, HW_GPMI_TIMING1,
+ BF_GPMI_TIMING1_DEVICE_BUSY_TIMEOUT(0x500));
+
MTDDEBUG(MTD_DEBUG_LEVEL3, "<= %s\n", __func__);
return 0;
}