summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2013-03-12 13:53:08 +0000
committerJohn Crispin <john@openwrt.org>2013-03-12 13:53:08 +0000
commit48a4b3a0cdeae41563641965fc998f12a5549f47 (patch)
tree5a859befff3b3e3d8aa8f56650d1331085c918d7 /target
parent7e1c5b0be86ce6e435a8d32fafe7743463a43344 (diff)
downloadmtk-20170518-48a4b3a0cdeae41563641965fc998f12a5549f47.zip
mtk-20170518-48a4b3a0cdeae41563641965fc998f12a5549f47.tar.gz
mtk-20170518-48a4b3a0cdeae41563641965fc998f12a5549f47.tar.bz2
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
Diffstat (limited to 'target')
-rw-r--r--target/linux/lantiq/image/ARV4510PW.dts2
-rw-r--r--target/linux/lantiq/patches-3.7/0305-no_xip_nor.patch17
2 files changed, 19 insertions, 0 deletions
diff --git a/target/linux/lantiq/image/ARV4510PW.dts b/target/linux/lantiq/image/ARV4510PW.dts
index f1d41da..e0cd38a 100644
--- a/target/linux/lantiq/image/ARV4510PW.dts
+++ b/target/linux/lantiq/image/ARV4510PW.dts
@@ -28,6 +28,8 @@
#address-cells = <1>;
#size-cells = <1>;
+ lantiq,noxip;
+
partition@0 {
label = "uboot";
reg = <0x00000 0x20000>;
diff --git a/target/linux/lantiq/patches-3.7/0305-no_xip_nor.patch b/target/linux/lantiq/patches-3.7/0305-no_xip_nor.patch
new file mode 100644
index 0000000..a154bef
--- /dev/null
+++ b/target/linux/lantiq/patches-3.7/0305-no_xip_nor.patch
@@ -0,0 +1,17 @@
+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) {