mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-01 08:48:08 +00:00
bcm63xx: switch to upstream NAND patches
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
parent
e6d4744f9a
commit
ce33ef997c
@ -0,0 +1,40 @@
|
||||
From 130bbde4809b011faf64f99dddc14b4b01f440c3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Tue, 12 May 2020 09:57:32 +0200
|
||||
Subject: [PATCH] mtd: rawnand: brcmnand: fix hamming oob layout
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
First 2 bytes are used in large-page nand.
|
||||
|
||||
Fixes: ef5eeea6e911 ("mtd: nand: brcm: switch to mtd_ooblayout_ops")
|
||||
Cc: stable@vger.kernel.org
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20200512075733.745374-2-noltari@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -1019,11 +1019,14 @@ static int brcmnand_hamming_ooblayout_fr
|
||||
if (!section) {
|
||||
/*
|
||||
* Small-page NAND use byte 6 for BBI while large-page
|
||||
- * NAND use byte 0.
|
||||
+ * NAND use bytes 0 and 1.
|
||||
*/
|
||||
- if (cfg->page_size > 512)
|
||||
- oobregion->offset++;
|
||||
- oobregion->length--;
|
||||
+ if (cfg->page_size > 512) {
|
||||
+ oobregion->offset += 2;
|
||||
+ oobregion->length -= 2;
|
||||
+ } else {
|
||||
+ oobregion->length--;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,43 @@
|
||||
From d00358d7a1c50718232799e1ee10955bcd73795a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Tue, 12 May 2020 09:57:33 +0200
|
||||
Subject: [PATCH] mtd: rawnand: brcmnand: improve hamming oob layout
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The current code generates 8 oob sections:
|
||||
S1 1-5
|
||||
ECC 6-8
|
||||
S2 9-15
|
||||
S3 16-21
|
||||
ECC 22-24
|
||||
S4 25-31
|
||||
S5 32-37
|
||||
ECC 38-40
|
||||
S6 41-47
|
||||
S7 48-53
|
||||
ECC 54-56
|
||||
S8 57-63
|
||||
|
||||
Change it by merging continuous sections:
|
||||
S1 1-5
|
||||
ECC 6-8
|
||||
S2 9-21
|
||||
ECC 22-24
|
||||
S3 25-37
|
||||
ECC 38-40
|
||||
S4 41-53
|
||||
ECC 54-56
|
||||
S5 57-63
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20200512075733.745374-3-noltari@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 35 +++++++++++-------------
|
||||
1 file changed, 16 insertions(+), 19 deletions(-)
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -1003,33 +1003,30 @@ static int brcmnand_hamming_ooblayout_fr
|
@ -1,3 +1,24 @@
|
||||
From dcb351c03f2fa6a599de1061b174167e03ee312b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Tue, 12 May 2020 10:24:51 +0200
|
||||
Subject: [PATCH] mtd: rawnand: brcmnand: correctly verify erased pages
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The current code checks that the whole OOB area is erased.
|
||||
This is a problem when JFFS2 cleanmarkers are added to the OOB, since it will
|
||||
fail due to the usable OOB bytes not being 0xff.
|
||||
Correct this by only checking that data and ECC bytes aren't 0xff.
|
||||
|
||||
Fixes: 02b88eea9f9c ("mtd: brcmnand: Add check for erased page bitflips")
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20200512082451.771212-1-noltari@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 19 +++++++++++--------
|
||||
1 file changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -1787,28 +1787,31 @@ static int brcmnand_read_by_pio(struct m
|
@ -1,3 +1,22 @@
|
||||
From 4fd639092b17d4252368b6009573339aeab5c7bd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Fri, 22 May 2020 14:15:20 +0200
|
||||
Subject: [PATCH] mtd: rawnand: brcmnand: rename v4 registers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
These registers are also used on v3.3.
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-2-noltari@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -269,8 +269,8 @@ enum brcmnand_reg {
|
@ -0,0 +1,34 @@
|
||||
From 3d3fb3c5be9ce07fa85d8f67fb3922e4613b955b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Fri, 22 May 2020 14:15:21 +0200
|
||||
Subject: [PATCH] mtd: rawnand: brcmnand: fix CS0 layout
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Only v3.3-v5.0 have a different CS0 layout.
|
||||
Controllers before v3.3 use the same layout for every CS.
|
||||
|
||||
Fixes: 27c5b17cd1b1 ("mtd: nand: add NAND driver "library" for Broadcom STB NAND controller")
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-3-noltari@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -537,8 +537,9 @@ static int brcmnand_revision_init(struct
|
||||
} else {
|
||||
ctrl->cs_offsets = brcmnand_cs_offsets;
|
||||
|
||||
- /* v5.0 and earlier has a different CS0 offset layout */
|
||||
- if (ctrl->nand_version <= 0x0500)
|
||||
+ /* v3.3-5.0 have a different CS0 offset layout */
|
||||
+ if (ctrl->nand_version >= 0x0303 &&
|
||||
+ ctrl->nand_version <= 0x0500)
|
||||
ctrl->cs0_offsets = brcmnand_cs_offsets_cs0;
|
||||
}
|
||||
|
@ -1,3 +1,21 @@
|
||||
From eeeac9cbc4ca5b8c245972f3a765d1cb5b7ef038 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Fri, 22 May 2020 14:15:22 +0200
|
||||
Subject: [PATCH] mtd: rawnand: brcmnand: rename page sizes
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Current pages sizes apply to controllers after v3.4
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-4-noltari@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -502,7 +502,7 @@ static int brcmnand_revision_init(struct
|
@ -1,3 +1,22 @@
|
||||
From 7e7c7df5d50fe06469be106967fc5b5d62be8868 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||
Date: Fri, 22 May 2020 14:15:24 +0200
|
||||
Subject: [PATCH] mtd: rawnand: brcmnand: support v2.1-v2.2 controllers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
v2.1: tested on Netgear DGND3700v1 (BCM6368)
|
||||
v2.2: tested on Netgear DGND3700v2 (BCM6362)
|
||||
|
||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-6-noltari@gmail.com
|
||||
---
|
||||
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 85 +++++++++++++++++++++---
|
||||
1 file changed, 76 insertions(+), 9 deletions(-)
|
||||
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -196,6 +196,7 @@ struct brcmnand_controller {
|
@ -1,21 +0,0 @@
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -1019,11 +1019,14 @@ static int brcmnand_hamming_ooblayout_fr
|
||||
if (!section) {
|
||||
/*
|
||||
* Small-page NAND use byte 6 for BBI while large-page
|
||||
- * NAND use byte 0.
|
||||
+ * NAND use bytes 0 and 1.
|
||||
*/
|
||||
- if (cfg->page_size > 512)
|
||||
- oobregion->offset++;
|
||||
- oobregion->length--;
|
||||
+ if (cfg->page_size > 512) {
|
||||
+ oobregion->offset += 2;
|
||||
+ oobregion->length -= 2;
|
||||
+ } else {
|
||||
+ oobregion->length--;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +0,0 @@
|
||||
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
|
||||
@@ -537,8 +537,9 @@ static int brcmnand_revision_init(struct
|
||||
} else {
|
||||
ctrl->cs_offsets = brcmnand_cs_offsets;
|
||||
|
||||
- /* v5.0 and earlier has a different CS0 offset layout */
|
||||
- if (ctrl->nand_version <= 0x0500)
|
||||
+ /* v3.3-5.0 have a different CS0 offset layout */
|
||||
+ if (ctrl->nand_version >= 0x0303 &&
|
||||
+ ctrl->nand_version <= 0x0500)
|
||||
ctrl->cs0_offsets = brcmnand_cs_offsets_cs0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user