mtd: gpmi: decouple the chip select from the DMA channel
Linux-MTD Mailing List
linux-mtd at lists.infradead.org
Wed Nov 13 13:59:05 EST 2013
Gitweb: http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=d159d8b7074181b154643aa15347d65a36b7ab59
Commit: d159d8b7074181b154643aa15347d65a36b7ab59
Parent: 4af9874916b14db407bee18590fe1847f541c2e2
Author: Huang Shijie <b32955 at freescale.com>
AuthorDate: Tue Aug 27 17:29:04 2013 +0800
Committer: Brian Norris <computersforpeace at gmail.com>
CommitDate: Wed Nov 6 23:33:01 2013 -0800
mtd: gpmi: decouple the chip select from the DMA channel
Decouple the chip select from the DMA channel, we use the DMA channel 0
to accecc all the nand devices.
Signed-off-by: Huang Shijie <b32955 at freescale.com>
Signed-off-by: Brian Norris <computersforpeace at gmail.com>
---
drivers/mtd/nand/gpmi-nand/gpmi-lib.c | 6 ++++++
drivers/mtd/nand/gpmi-nand/gpmi-regs.h | 3 +++
2 files changed, 9 insertions(+)
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
index 4f8857f..7d56d87 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-lib.c
@@ -187,6 +187,12 @@ int gpmi_init(struct gpmi_nand_data *this)
/* Select BCH ECC. */
writel(BM_GPMI_CTRL1_BCH_MODE, r->gpmi_regs + HW_GPMI_CTRL1_SET);
+ /*
+ * Decouple the chip select from dma channel. We use dma0 for all
+ * the chips.
+ */
+ writel(BM_GPMI_CTRL1_DECOUPLE_CS, r->gpmi_regs + HW_GPMI_CTRL1_SET);
+
gpmi_disable_clk(this);
return 0;
err_out:
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-regs.h b/drivers/mtd/nand/gpmi-nand/gpmi-regs.h
index 53397cc..82114cd 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-regs.h
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-regs.h
@@ -108,6 +108,9 @@
#define HW_GPMI_CTRL1_CLR 0x00000068
#define HW_GPMI_CTRL1_TOG 0x0000006c
+#define BP_GPMI_CTRL1_DECOUPLE_CS 24
+#define BM_GPMI_CTRL1_DECOUPLE_CS (1 << BP_GPMI_CTRL1_DECOUPLE_CS)
+
#define BP_GPMI_CTRL1_WRN_DLY_SEL 22
#define BM_GPMI_CTRL1_WRN_DLY_SEL (0x3 << BP_GPMI_CTRL1_WRN_DLY_SEL)
#define BF_GPMI_CTRL1_WRN_DLY_SEL(v) \
More information about the linux-mtd-cvs
mailing list