ppc4xx: Fix problem with ECC ordering for PPC4xx NDFC platforms
authorStefan Roese <sr@denx.de>
Wed, 20 May 2009 08:58:02 +0000 (10:58 +0200)
committerStefan Roese <sr@denx.de>
Sat, 23 May 2009 10:51:39 +0000 (12:51 +0200)
This patch now uses the correct ECC byte order (Smart Media - SMC)
to be used on the 4xx NAND FLASH driver. Without this patch we have
incompatible ECC byte ordering to the Linux kernel NDFC driver.

Please note that we also have to enable CONFIG_MTD_NAND_ECC_SMC in
drivers/mtd/nand/nand_ecc.c for correct operation. This is done with
a seperate patch.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Scott Wood <scottwood@freescale.com>
cpu/ppc4xx/ndfc.c

index ba481ad..971e2ae 100644 (file)
@@ -93,8 +93,8 @@ static int ndfc_calculate_ecc(struct mtd_info *mtdinfo,
 
        /* The NDFC uses Smart Media (SMC) bytes order
         */
-       ecc_code[0] = p[1];
-       ecc_code[1] = p[2];
+       ecc_code[0] = p[2];
+       ecc_code[1] = p[1];
        ecc_code[2] = p[3];
 
        return 0;