u-boot/drivers/mtd
Feng Kan 68e74567cf ppc4xx: Fix ECC Correction bug with SMC ordering for NDFC driver
Fix ECC Correction bug where the byte offset location were double
flipped causing correction routine to toggle the wrong byte location
in the ECC segment. The ndfc_calculate_ecc routine change the order
of getting the ECC code.
        /* The NDFC uses Smart Media (SMC) bytes order */
        ecc_code[0] = p[2];
        ecc_code[1] = p[1];
        ecc_code[2] = p[3];
But in the Correction algorithm when calculating the byte offset
location, the s1 is used as the upper part of the address. Which
again reverse the order making the final byte offset address
location incorrect.
	byteoffs = (s1 << 0) & 0x80;
	.
	.
	byteoffs |= (s0 >> 4) & 0x08;
The order is change to read it in straight and let the correction
function to revert it to SMC order.

Signed-off-by: Feng Kan <fkan@amcc.com>
Acked-by: Victor Gallardo <vgallardo@amcc.com>
Acked-by: Prodyut Hazarika <phazarika@amcc.com>
Signed-off-by: Stefan Roese <sr@denx.de>
2009-08-25 17:41:42 +02:00
..
nand ppc4xx: Fix ECC Correction bug with SMC ordering for NDFC driver 2009-08-25 17:41:42 +02:00
onenand mtd: Introduce CONFIG_MTD_DEVICE to select compilation of mtdcore.o 2009-06-12 20:45:47 +02:00
spi eeprom_m95xxx: remove unused variable i 2009-08-21 23:36:19 +02:00
ubi UBI: Fix build problem noticed on Apollon (arm/testing repo) 2009-07-07 16:33:44 +02:00
at45.c drivers/mtd: Move conditional compilation to Makefile 2008-08-13 01:40:42 +02:00
cfi_flash.c flash: Fix CFI buffer size bug 2009-08-13 09:28:20 +02:00
cfi_mtd.c mtd: cfi - if defined, use MAX_FLASH_BANKS_DETECT for static declarations 2009-07-16 15:27:45 +02:00
dataflash.c mtd/dataflash.c: fix a problem with the last partition 2008-12-02 21:53:24 +01:00
jedec_flash.c jedec_flash: Only use manufacturer defines from common flash.h 2009-02-05 11:27:58 +01:00
Makefile mtd: Introduce CONFIG_MTD_DEVICE to select compilation of mtdcore.o 2009-06-12 20:45:47 +02:00
mtdconcat.c mtd: Add MTD concat support to concatenate multiple MTD NOR devices 2009-06-12 20:45:47 +02:00
mtdcore.c mtd: Remove a printf() from add_mtd_device(). 2008-11-24 11:29:53 +01:00
mtdpart.c mtd: Update MTD infrastructure to support 64bit device size 2009-06-12 20:45:47 +02:00
mw_eeprom.c Update i386 code (sc520_cdp) 2008-09-09 11:48:53 +02:00