diff --git a/board-support/linux-2.6.37-psp04.02.00.07.sdk/arch/arm/mach-omap2/board-flash.c b/board-support/linux-2.6.37-psp04.02.00.07.sdk/arch/arm/mach-omap2/board-flash.c index c82a677..1ff0824 100644 --- a/board-support/linux-2.6.37-psp04.02.00.07.sdk/arch/arm/mach-omap2/board-flash.c +++ b/board-support/linux-2.6.37-psp04.02.00.07.sdk/arch/arm/mach-omap2/board-flash.c @@ -153,8 +153,10 @@ __init board_nand_init(struct mtd_partition *nand_parts, if(cpu_is_omap3630()) board_nand_data.ecc_opt = OMAP_ECC_HAMMING_CODE_HW; - if (cpu_is_omap3517() || cpu_is_omap3505()) + if (cpu_is_omap3517() || cpu_is_omap3505()){ board_nand_data.gpmc_t = NULL; + board_nand_data.ecc_opt = OMAP_ECC_BCH4_CODE_HW; + } if (cpu_is_ti81xx()) { board_nand_data.ecc_opt = OMAP_ECC_HAMMING_CODE_HW; diff --git a/board-support/linux-2.6.37-psp04.02.00.07.sdk/drivers/mtd/nand/omap2.c b/board-support/linux-2.6.37-psp04.02.00.07.sdk/drivers/mtd/nand/omap2.c index 350c77f..736a8e9 100644 --- a/board-support/linux-2.6.37-psp04.02.00.07.sdk/drivers/mtd/nand/omap2.c +++ b/board-support/linux-2.6.37-psp04.02.00.07.sdk/drivers/mtd/nand/omap2.c @@ -999,7 +999,7 @@ static int __devinit omap_nand_probe(struct platform_device *pdev) info->mtd.priv = &info->nand; info->mtd.name = dev_name(&pdev->dev); info->mtd.owner = THIS_MODULE; - pdata->ecc_opt = OMAP_ECC_HAMMING_CODE_HW; + pdata->ecc_opt = OMAP_ECC_BCH4_CODE_HW; info->ecc_opt = pdata->ecc_opt; info->nand.options = pdata->devsize; diff --git a/board-support/u-boot-2011.09-psp04.06.00.08/include/configs/am3517_evm.h b/board-support/u-boot-2011.09-psp04.06.00.08/include/configs/am3517_evm.h index 1bd1dae..5bd5f10 100644 --- a/board-support/u-boot-2011.09-psp04.06.00.08/include/configs/am3517_evm.h +++ b/board-support/u-boot-2011.09-psp04.06.00.08/include/configs/am3517_evm.h @@ -210,6 +210,7 @@ "bootm ${kloadaddr}; \0" \ #define CONFIG_BOOTCOMMAND \ + "nandecc bch4_sw;" \ "if mmc rescan ${mmcdev}; then " \ "if run loadbootscript; then " \ "run bootscript; " \