diff options
author | Arnaud Ebalard <arno@natisbad.org> | 2014-09-06 22:49:38 +0200 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-09-09 15:50:53 +0000 |
commit | 500abb6ccb9e3f8d638a7f422443a8549245ef90 (patch) | |
tree | c4378f3301da9839b956118fd6d06cb5507f98c4 /arch | |
parent | 225b94cdf719d0bc522a354bdafc18e5da5ff83b (diff) | |
download | blackbird-op-linux-500abb6ccb9e3f8d638a7f422443a8549245ef90.tar.gz blackbird-op-linux-500abb6ccb9e3f8d638a7f422443a8549245ef90.zip |
ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC
The bootloader on the Netgear ReadyNAS RN2120 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 RN2120 shares the same Hynix H27U1G8F2BTR NAND
flash and setup. This patch is based on Ben's fix for RN102.
Fixes: ad51eddd95ad ("ARM: mvebu: Enable NAND controller in ReadyNAS 2120 .dts file")
Cc: <stable@vger.kernel.org> # v3.14+
Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
Link: https://lkml.kernel.org/r/61f6a1b7ad0adc57a0e201b9680bc2e5f214a317.1410035142.git.arno@natisbad.org
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boot/dts/armada-xp-netgear-rn2120.dts | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts index 0cf999abc4ed..c5ed85a70ed9 100644 --- a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts +++ b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts @@ -223,6 +223,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 */ |