openwrt/target/linux/lantiq/patches-3.7/0305-no_xip_nor.patch
John Crispin 48a4b3a0cd fixes NO_XIP on CFI0001 flash
This patch disables the execute-in-place (XIP) support for flash on
lantiq. This has to be disabled since the bus which flash is connected
to does not support unaligned accesses. Resolves data bus errors on
Lantiq routers with Intel command set flash.

Signed-off-by: Matti Laakso <malaakso@elisanet.fi>

SVN-Revision: 35992
2013-03-12 13:53:08 +00:00

18 lines
757 B
Diff

Index: linux-3.7.10/drivers/mtd/maps/lantiq-flash.c
===================================================================
--- linux-3.7.10.orig/drivers/mtd/maps/lantiq-flash.c 2013-02-27 18:22:04.000000000 +0100
+++ linux-3.7.10/drivers/mtd/maps/lantiq-flash.c 2013-03-12 10:10:22.954382685 +0100
@@ -134,7 +134,11 @@
}
ltq_mtd->map = kzalloc(sizeof(struct map_info), GFP_KERNEL);
- ltq_mtd->map->phys = ltq_mtd->res->start;
+ if (of_find_property(pdev->dev.of_node, "lantiq,noxip", NULL))
+ ltq_mtd->map->phys = NO_XIP;
+ else
+ ltq_mtd->map->phys = ltq_mtd->res->start;
+ ltq_mtd->res->start;
ltq_mtd->map->size = resource_size(ltq_mtd->res);
ltq_mtd->map->virt = devm_request_and_ioremap(&pdev->dev, ltq_mtd->res);
if (!ltq_mtd->map->virt) {