--- ./arch/arm/mach-omap1/board-osk.c_orig 2006-01-02 21:27:12.609851688 +0100 +++ ./arch/arm/mach-omap1/board-osk.c 2006-01-02 21:29:10.204974512 +0100 @@ -254,8 +254,18 @@ static void __init osk_mistral_init(void static void __init osk_mistral_init(void) { } #endif +#define EMFIS_CS3_VAL (0x30003361) + static void __init osk_init(void) { + /* Workaround for wrong CS3 (NOR flash) timing + * There are some U-Boot versions out there which configure + * wrong CS3 memory timings. This mainly leads to CRC + * or similiar errors if you use NOR flash (e.g. with JFFS2) + */ + if(omap_readl(EMIFS_CCS(3)) != EMFIS_CS3_VAL) + omap_writel(EMFIS_CS3_VAL, EMIFS_CCS(3)); + osk_flash_resource.end = osk_flash_resource.start = omap_cs3_phys(); osk_flash_resource.end += SZ_32M - 1; platform_add_devices(osk5912_devices, ARRAY_SIZE(osk5912_devices));