LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 0/3] [MTD/NAND] Blackfin NFC driver updates
@ 2008-01-30  9:18 Bryan Wu
  2008-01-30  9:18 ` [PATCH 1/3] [MTD/NAND] Blackfin NFC driver: Add Blackfin BF52x on-chip NAND Flash controller driver support in bf5xx_nand driver Bryan Wu
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Bryan Wu @ 2008-01-30  9:18 UTC (permalink / raw)
  To: dwmw2, linux-mtd; +Cc: linux-kernel



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/3] [MTD/NAND] Blackfin NFC driver: Add Blackfin BF52x on-chip NAND Flash controller driver support in bf5xx_nand driver
  2008-01-30  9:18 [PATCH 0/3] [MTD/NAND] Blackfin NFC driver updates Bryan Wu
@ 2008-01-30  9:18 ` Bryan Wu
  2008-01-30  9:18 ` [PATCH 2/3] [MTD/NAND] Blackfin NFC driver: Fix bug - remove wrong operation in PM function of the BF54x NFC driver Bryan Wu
  2008-01-30  9:18 ` [PATCH 3/3] [MTD/NAND] Blackfin NFC driver: fix ECC caculating bug when NAND Flash chip page size is 512 bytes Bryan Wu
  2 siblings, 0 replies; 4+ messages in thread
From: Bryan Wu @ 2008-01-30  9:18 UTC (permalink / raw)
  To: dwmw2, linux-mtd; +Cc: linux-kernel, Michael Hennerich, Bryan Wu

From: Michael Hennerich <michael.hennerich@analog.com>

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
---
 drivers/mtd/nand/Kconfig      |    2 +-
 drivers/mtd/nand/bf5xx_nand.c |   20 ++++++++++++++++++--
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 246d451..bf0e9b0 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -93,7 +93,7 @@ config MTD_NAND_AU1550
 
 config MTD_NAND_BF5XX
 	tristate "Blackfin on-chip NAND Flash Controller driver"
-	depends on BF54x && MTD_NAND
+	depends on (BF54x || BF52x) && MTD_NAND
 	help
 	  This enables the Blackfin on-chip NAND flash controller
 
diff --git a/drivers/mtd/nand/bf5xx_nand.c b/drivers/mtd/nand/bf5xx_nand.c
index 1657ecd..542850c 100644
--- a/drivers/mtd/nand/bf5xx_nand.c
+++ b/drivers/mtd/nand/bf5xx_nand.c
@@ -74,7 +74,22 @@ static int hardware_ecc = 1;
 static int hardware_ecc;
 #endif
 
-static unsigned short bfin_nfc_pin_req[] = {P_NAND_CE, P_NAND_RB, 0};
+static unsigned short bfin_nfc_pin_req[] =
+	{P_NAND_CE,
+	 P_NAND_RB,
+	 P_NAND_D0,
+	 P_NAND_D1,
+	 P_NAND_D2,
+	 P_NAND_D3,
+	 P_NAND_D4,
+	 P_NAND_D5,
+	 P_NAND_D6,
+	 P_NAND_D7,
+	 P_NAND_WE,
+	 P_NAND_RE,
+	 P_NAND_CLE,
+	 P_NAND_ALE,
+	 0};
 
 /*
  * Data structures for bf5xx nand flash controller driver
@@ -507,12 +522,13 @@ static int bf5xx_nand_dma_init(struct bf5xx_nand_info *info)
 
 	init_completion(&info->dma_completion);
 
+#ifdef CONFIG_BF54x
 	/* Setup DMAC1 channel mux for NFC which shared with SDH */
 	val = bfin_read_DMAC1_PERIMUX();
 	val &= 0xFFFE;
 	bfin_write_DMAC1_PERIMUX(val);
 	SSYNC();
-
+#endif
 	/* Request NFC DMA channel */
 	ret = request_dma(CH_NFC, "BF5XX NFC driver");
 	if (ret < 0) {
-- 
1.5.3.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 2/3] [MTD/NAND] Blackfin NFC driver: Fix bug - remove wrong operation in PM function of the BF54x NFC driver
  2008-01-30  9:18 [PATCH 0/3] [MTD/NAND] Blackfin NFC driver updates Bryan Wu
  2008-01-30  9:18 ` [PATCH 1/3] [MTD/NAND] Blackfin NFC driver: Add Blackfin BF52x on-chip NAND Flash controller driver support in bf5xx_nand driver Bryan Wu
@ 2008-01-30  9:18 ` Bryan Wu
  2008-01-30  9:18 ` [PATCH 3/3] [MTD/NAND] Blackfin NFC driver: fix ECC caculating bug when NAND Flash chip page size is 512 bytes Bryan Wu
  2 siblings, 0 replies; 4+ messages in thread
From: Bryan Wu @ 2008-01-30  9:18 UTC (permalink / raw)
  To: dwmw2, linux-mtd; +Cc: linux-kernel, Bryan Wu

There is no suspend/resume operation in NFC driver at all, currently.

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
---
 drivers/mtd/nand/bf5xx_nand.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/nand/bf5xx_nand.c b/drivers/mtd/nand/bf5xx_nand.c
index 542850c..2fe9678 100644
--- a/drivers/mtd/nand/bf5xx_nand.c
+++ b/drivers/mtd/nand/bf5xx_nand.c
@@ -760,9 +760,6 @@ static int bf5xx_nand_resume(struct platform_device *dev)
 {
 	struct bf5xx_nand_info *info = platform_get_drvdata(dev);
 
-	if (info)
-		bf5xx_nand_hw_init(info);
-
 	return 0;
 }
 
-- 
1.5.3.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 3/3] [MTD/NAND] Blackfin NFC driver: fix ECC caculating bug when NAND Flash chip page size is 512 bytes
  2008-01-30  9:18 [PATCH 0/3] [MTD/NAND] Blackfin NFC driver updates Bryan Wu
  2008-01-30  9:18 ` [PATCH 1/3] [MTD/NAND] Blackfin NFC driver: Add Blackfin BF52x on-chip NAND Flash controller driver support in bf5xx_nand driver Bryan Wu
  2008-01-30  9:18 ` [PATCH 2/3] [MTD/NAND] Blackfin NFC driver: Fix bug - remove wrong operation in PM function of the BF54x NFC driver Bryan Wu
@ 2008-01-30  9:18 ` Bryan Wu
  2 siblings, 0 replies; 4+ messages in thread
From: Bryan Wu @ 2008-01-30  9:18 UTC (permalink / raw)
  To: dwmw2, linux-mtd; +Cc: linux-kernel, Bryan Wu

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
---
 drivers/mtd/nand/bf5xx_nand.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/nand/bf5xx_nand.c b/drivers/mtd/nand/bf5xx_nand.c
index 2fe9678..7d6ac6a 100644
--- a/drivers/mtd/nand/bf5xx_nand.c
+++ b/drivers/mtd/nand/bf5xx_nand.c
@@ -293,7 +293,6 @@ static int bf5xx_nand_calculate_ecc(struct mtd_info *mtd,
 	u16 ecc0, ecc1;
 	u32 code[2];
 	u8 *p;
-	int bytes = 3, i;
 
 	/* first 4 bytes ECC code for 256 page size */
 	ecc0 = bfin_read_NFC_ECC0();
@@ -303,19 +302,24 @@ static int bf5xx_nand_calculate_ecc(struct mtd_info *mtd,
 
 	dev_dbg(info->device, "returning ecc 0x%08x\n", code[0]);
 
+	/* first 3 bytes in ecc_code for 256 page size */
+	p = (u8 *) code;
+	memcpy(ecc_code, p, 3);
+
 	/* second 4 bytes ECC code for 512 page size */
 	if (page_size == 512) {
 		ecc0 = bfin_read_NFC_ECC2();
 		ecc1 = bfin_read_NFC_ECC3();
 		code[1] = (ecc0 & 0x3FF) | ((ecc1 & 0x3FF) << 11);
-		bytes = 6;
+
+		/* second 3 bytes in ecc_code for second 256
+		 * bytes of 512 page size
+		 */
+		p = (u8 *) (code + 1);
+		memcpy((ecc_code + 3), p, 3);
 		dev_dbg(info->device, "returning ecc 0x%08x\n", code[1]);
 	}
 
-	p = (u8 *)code;
-	for (i = 0; i < bytes; i++)
-		ecc_code[i] = p[i];
-
 	return 0;
 }
 
-- 
1.5.3.4

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-01-30  9:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-30  9:18 [PATCH 0/3] [MTD/NAND] Blackfin NFC driver updates Bryan Wu
2008-01-30  9:18 ` [PATCH 1/3] [MTD/NAND] Blackfin NFC driver: Add Blackfin BF52x on-chip NAND Flash controller driver support in bf5xx_nand driver Bryan Wu
2008-01-30  9:18 ` [PATCH 2/3] [MTD/NAND] Blackfin NFC driver: Fix bug - remove wrong operation in PM function of the BF54x NFC driver Bryan Wu
2008-01-30  9:18 ` [PATCH 3/3] [MTD/NAND] Blackfin NFC driver: fix ECC caculating bug when NAND Flash chip page size is 512 bytes Bryan Wu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).