| From 225b94cdf719d0bc522a354bdafc18e5da5ff83b Mon Sep 17 00:00:00 2001 |
| From: Arnaud Ebalard <arno@natisbad.org> |
| Date: Sat, 6 Sep 2014 22:49:25 +0200 |
| Subject: ARM: mvebu: Netgear RN104: Use Hardware BCH ECC |
| |
| From: Arnaud Ebalard <arno@natisbad.org> |
| |
| commit 225b94cdf719d0bc522a354bdafc18e5da5ff83b upstream. |
| |
| The bootloader on the Netgear ReadyNAS RN104 uses Hardware BCH |
| ECC (strength = 4), while the pxa3xx NAND driver by default uses |
| Hamming ECC (strength = 1). |
| |
| This patch changes the ECC mode on these machines to match that |
| of the bootloader and of the stock firmware. That way, it is |
| now possible to update the kernel from userland (e.g. using |
| standard tools from mtd-utils package); u-boot will happily |
| load and boot it. |
| |
| The issue was initially reported and fixed by Ben Pedell for |
| RN102. The RN104 shares the same Hynix H27U1G8F2BTR NAND |
| flash and setup. This patch is based on Ben's fix for RN102. |
| |
| Fixes: 0373a558bd79 ("ARM: mvebu: Enable NAND controller in ReadyNAS 104 .dts file") |
| Signed-off-by: Arnaud Ebalard <arno@natisbad.org> |
| Link: https://lkml.kernel.org/r/920c7e7169dc6aaaa3eb4bced2336d38e77b8864.1410035142.git.arno@natisbad.org |
| Signed-off-by: Jason Cooper <jason@lakedaemon.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/arm/boot/dts/armada-370-netgear-rn104.dts | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/arch/arm/boot/dts/armada-370-netgear-rn104.dts |
| +++ b/arch/arm/boot/dts/armada-370-netgear-rn104.dts |
| @@ -145,6 +145,10 @@ |
| marvell,nand-enable-arbiter; |
| nand-on-flash-bbt; |
| |
| + /* Use Hardware BCH ECC */ |
| + nand-ecc-strength = <4>; |
| + nand-ecc-step-size = <512>; |
| + |
| partition@0 { |
| label = "u-boot"; |
| reg = <0x0000000 0x180000>; /* 1.5MB */ |