* [PATCH 0/3 v2] mtd: atmel_nand: add support for 8k page nand
@ 2014-07-17 12:12 Raphael Poggi
2014-07-17 12:12 ` [PATCH 1/3 v2] mtd: atmel_nand: increase chip_delay Raphael Poggi
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Raphael Poggi @ 2014-07-17 12:12 UTC (permalink / raw)
To: barebox
This patch series add support for 8k page NAND. This is done by
increasing chip_delay (20us to 40us) and enable PMECC for 8k nand.
A patch also fix bit error correction when using 1024 sector size with pmecc.
Raphaël Poggi (3):
[PATCH 1/3] mtd: atmel_nand: increase chip_delay
[PATCH 2/3] mtd: atmel_nand: fix bit error correction
[PATCH 3/3] mtd: atmel_nand: enable PMECC for 8k page nand
drivers/mtd/nand/atmel_nand.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3 v2] mtd: atmel_nand: increase chip_delay
2014-07-17 12:12 [PATCH 0/3 v2] mtd: atmel_nand: add support for 8k page nand Raphael Poggi
@ 2014-07-17 12:12 ` Raphael Poggi
2014-07-17 12:12 ` [PATCH 2/3 v2] mtd: atmel_nand: fix bit error correction Raphael Poggi
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Raphael Poggi @ 2014-07-17 12:12 UTC (permalink / raw)
To: barebox; +Cc: Raphael Poggi
Some nand like Micron MT29F32G08ABAAAWP need more than 20us.
Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
Acked-by: Bo Shen <voice.shen@atmel.com>
---
drivers/mtd/nand/atmel_nand.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
index 3161e89..a02f38f 100644
--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -1162,7 +1162,7 @@ static int __init atmel_nand_probe(struct device_d *dev)
nand_chip->ecc.mode = NAND_ECC_HW;
}
- nand_chip->chip_delay = 20; /* 20us command delay time */
+ nand_chip->chip_delay = 40; /* 40us command delay time */
if (IS_ENABLED(CONFIG_NAND_ECC_BCH) &&
pdata->ecc_mode == NAND_ECC_SOFT_BCH) {
--
1.7.9.5
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/3 v2] mtd: atmel_nand: fix bit error correction
2014-07-17 12:12 [PATCH 0/3 v2] mtd: atmel_nand: add support for 8k page nand Raphael Poggi
2014-07-17 12:12 ` [PATCH 1/3 v2] mtd: atmel_nand: increase chip_delay Raphael Poggi
@ 2014-07-17 12:12 ` Raphael Poggi
2014-07-17 12:12 ` [PATCH 3/3 v2] mtd: atmel_nand: enable PMECC for 8k page nand Raphael Poggi
2014-07-18 5:35 ` [PATCH 0/3 v2] mtd: atmel_nand: add support " Sascha Hauer
3 siblings, 0 replies; 5+ messages in thread
From: Raphael Poggi @ 2014-07-17 12:12 UTC (permalink / raw)
To: barebox; +Cc: Raphael Poggi
When pmecc uses a 1024 sector size to correct bit error, the gf dimension
must be 14.
So this commit chooses the right degree for different sector size (512 or 1024).
Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
---
drivers/mtd/nand/atmel_nand.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
index a02f38f..1ce7d4d 100644
--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -796,7 +796,8 @@ static int __init atmel_pmecc_nand_init_params(struct device_d *dev,
switch (mtd->writesize) {
case 2048:
case 4096:
- host->pmecc_degree = PMECC_GF_DIMENSION_13;
+ host->pmecc_degree = (sector_size == 512) ?
+ PMECC_GF_DIMENSION_13 : PMECC_GF_DIMENSION_14;
host->pmecc_cw_len = (1 << host->pmecc_degree) - 1;
host->pmecc_sector_number = mtd->writesize / sector_size;
host->pmecc_bytes_per_sector = pmecc_get_ecc_bytes(
--
1.7.9.5
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 3/3 v2] mtd: atmel_nand: enable PMECC for 8k page nand
2014-07-17 12:12 [PATCH 0/3 v2] mtd: atmel_nand: add support for 8k page nand Raphael Poggi
2014-07-17 12:12 ` [PATCH 1/3 v2] mtd: atmel_nand: increase chip_delay Raphael Poggi
2014-07-17 12:12 ` [PATCH 2/3 v2] mtd: atmel_nand: fix bit error correction Raphael Poggi
@ 2014-07-17 12:12 ` Raphael Poggi
2014-07-18 5:35 ` [PATCH 0/3 v2] mtd: atmel_nand: add support " Sascha Hauer
3 siblings, 0 replies; 5+ messages in thread
From: Raphael Poggi @ 2014-07-17 12:12 UTC (permalink / raw)
To: barebox; +Cc: Raphael Poggi
Enable the PMECC to support 8k page.
Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
Acked-by: Bo Shen <voice.shen@atmel.com>
---
drivers/mtd/nand/atmel_nand.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
index 1ce7d4d..337e225 100644
--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -796,6 +796,7 @@ static int __init atmel_pmecc_nand_init_params(struct device_d *dev,
switch (mtd->writesize) {
case 2048:
case 4096:
+ case 8192:
host->pmecc_degree = (sector_size == 512) ?
PMECC_GF_DIMENSION_13 : PMECC_GF_DIMENSION_14;
host->pmecc_cw_len = (1 << host->pmecc_degree) - 1;
--
1.7.9.5
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/3 v2] mtd: atmel_nand: add support for 8k page nand
2014-07-17 12:12 [PATCH 0/3 v2] mtd: atmel_nand: add support for 8k page nand Raphael Poggi
` (2 preceding siblings ...)
2014-07-17 12:12 ` [PATCH 3/3 v2] mtd: atmel_nand: enable PMECC for 8k page nand Raphael Poggi
@ 2014-07-18 5:35 ` Sascha Hauer
3 siblings, 0 replies; 5+ messages in thread
From: Sascha Hauer @ 2014-07-18 5:35 UTC (permalink / raw)
To: Raphael Poggi; +Cc: barebox
On Thu, Jul 17, 2014 at 02:12:18PM +0200, Raphael Poggi wrote:
> This patch series add support for 8k page NAND. This is done by
> increasing chip_delay (20us to 40us) and enable PMECC for 8k nand.
> A patch also fix bit error correction when using 1024 sector size with pmecc.
>
> Raphaël Poggi (3):
> [PATCH 1/3] mtd: atmel_nand: increase chip_delay
> [PATCH 2/3] mtd: atmel_nand: fix bit error correction
> [PATCH 3/3] mtd: atmel_nand: enable PMECC for 8k page nand
Applied, thanks
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-07-18 5:36 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-17 12:12 [PATCH 0/3 v2] mtd: atmel_nand: add support for 8k page nand Raphael Poggi
2014-07-17 12:12 ` [PATCH 1/3 v2] mtd: atmel_nand: increase chip_delay Raphael Poggi
2014-07-17 12:12 ` [PATCH 2/3 v2] mtd: atmel_nand: fix bit error correction Raphael Poggi
2014-07-17 12:12 ` [PATCH 3/3 v2] mtd: atmel_nand: enable PMECC for 8k page nand Raphael Poggi
2014-07-18 5:35 ` [PATCH 0/3 v2] mtd: atmel_nand: add support " Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox