u-boot/cpu
Hugo Villeneuve 9b05aa788b ARM DaVinci: Fix broken HW ECC for large page NAND.
Based on original patch by Bernard Blackham <bernard@largestprime.net>

U-boot's HW ECC support for large page NAND on Davinci is completely
broken.  Some kernels, such as the 2.6.10 one supported by
MontaVista for DaVinci, rely upon this broken behaviour as they
share the same code for ECCs. In the existing scheme, error
detection *might* work on large page, but error correction
definitely does not.  Small page ECC correction works, but the
format is not compatible with the mainline git kernel.

This patch adds ECC code that matches what is currently in the
Davinci git repository (since NAND support was added in 2.6.24).
This makes the ECC and OOB layout written by u-boot compatible with
Linux for both small page and large page devices and fixes ECC
correction for large page devices.

The old behaviour can be restored by defining the macro
CFG_DAVINCI_BROKEN_ECC, which is undefined by default.

Signed-off-by: Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
Acked-by: Sergey Kubushyn <ksi@koi8.net>
Signed-off-by: Scott Wood <scottwood@freescale.com>
2008-09-10 11:40:30 -05:00
..
74xx_7xx fdt: rework fdt_fixup_ethernet() to use env instead of bd_t 2008-08-21 02:07:43 +02:00
arm720t Big white-space cleanup. 2008-05-21 00:14:08 +02:00
arm920t Merge branch 'master' of git://git.denx.de/u-boot-nand-flash 2008-08-14 11:26:22 +02:00
arm925t Big white-space cleanup. 2008-05-21 00:14:08 +02:00
arm926ejs ARM DaVinci: Fix broken HW ECC for large page NAND. 2008-09-10 11:40:30 -05:00
arm946es ARM: fix warning: target CPU does not support interworking 2008-09-09 02:14:43 +02:00
arm1136 MX31: fix bit masks in function mx31_decode_pll() 2008-08-25 21:47:01 +02:00
arm1176 ARM: Use do_div() instead of division for "long long". 2008-09-09 02:14:41 +02:00
arm_intcm ARM: fix warning: target CPU does not support interworking 2008-09-09 02:14:43 +02:00
at32ap Add support for the hammerhead (AVR32) board 2008-07-30 10:06:11 +02:00
blackfin Big white-space cleanup. 2008-05-21 00:14:08 +02:00
i386 cpu/i386/serial.c: Fix syntax errors 2008-07-14 21:19:08 +02:00
ixp Fix some more printf() format issues. 2008-07-13 23:07:35 +02:00
leon2 Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
leon3 Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
lh7a40x Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mcf52x2 Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf523x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf532x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf547x_8x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
mcf5227x ColdFire: I2C fix for multiple platforms 2008-08-28 09:16:54 -06:00
mcf5445x Introduce netdev.h header file and remove externs 2008-09-02 21:18:16 -07:00
microblaze Fix merge problems 2008-08-06 14:05:38 +02:00
mips Fix merge problems 2008-08-06 14:05:38 +02:00
mpc5xx Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mpc5xxx Moved initialization of MPC5xxx_FEC Ethernet driver to CPU directory 2008-09-02 21:18:18 -07:00
mpc8xx fdt: rework fdt_fixup_ethernet() to use env instead of bd_t 2008-08-21 02:07:43 +02:00
mpc8xxx/ddr Fix compiler warning in mpc8xxx ddr code 2008-09-07 01:26:13 +02:00
mpc83xx Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx 2008-09-03 23:44:18 +02:00
mpc85xx Fix printf errors under -DDEBUG 2008-09-09 17:02:41 -05:00
mpc86xx Pass in tsec_info struct through tsec_initialize 2008-09-02 21:18:15 -07:00
mpc512x Moved initialization of MPC512x_FEC Ethernet driver to CPU directory 2008-09-02 21:18:17 -07:00
mpc824x Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mpc8220 Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mpc8260 fdt: rework fdt_fixup_ethernet() to use env instead of bd_t 2008-08-21 02:07:43 +02:00
nios SPI API improvements 2008-06-03 20:28:50 +02:00
nios2 Fix merge problems 2008-08-06 14:05:38 +02:00
ppc4xx ppc4xx: Remove CONFIG_CS8952_PHY define 2008-09-08 10:27:56 +02:00
pxa Fix merge problems 2008-08-06 14:05:38 +02:00
s3c44b0 rtc: allow rtc_set to return an error and use it in cmd_date 2008-09-07 00:56:36 +02:00
sa1100 Big white-space cleanup. 2008-05-21 00:14:08 +02:00
sh2 sh: Add support SH2/SH2A which is CPU of Renesas Technology 2008-08-31 22:48:33 +09:00
sh3 sh: Fix SH-boards compile error 2008-07-08 12:03:24 +09:00
sh4 sh: Fix SH-boards compile error 2008-07-08 12:03:24 +09:00