summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/armada-370-netgear-rn104.dts
diff options
context:
space:
mode:
authorArnaud Ebalard <arno@natisbad.org>2014-09-06 22:49:25 +0200
committerJason Cooper <jason@lakedaemon.net>2014-09-09 15:49:13 +0000
commit225b94cdf719d0bc522a354bdafc18e5da5ff83b (patch)
tree80c943a2352ff449fefb9756a5b49740ac0566f3 /arch/arm/boot/dts/armada-370-netgear-rn104.dts
parent6c8df11ddc3af738c4230100d2de89a02a20cb22 (diff)
ARM: mvebu: Netgear RN104: Use Hardware BCH ECC
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") Cc: <stable@vger.kernel.org> # v3.14+ 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>
Diffstat (limited to 'arch/arm/boot/dts/armada-370-netgear-rn104.dts')
-rw-r--r--arch/arm/boot/dts/armada-370-netgear-rn104.dts4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn104.dts b/arch/arm/boot/dts/armada-370-netgear-rn104.dts
index c5fe8b5dcdc7..4ec1ce561d34 100644
--- 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 */