summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-03-15 19:39:41 +0000
committerJohn Crispin <john@openwrt.org>2015-03-15 19:39:41 +0000
commit7f3013a480a7ccbf8accf4996a79e852c2dec9e8 (patch)
tree3ed55230aad7cff2603cc295bdd92a5e51b6ab14
parent582232cd7b3914b59ca4df657cc2c82523a2bb9f (diff)
downloadmtk-20170518-7f3013a480a7ccbf8accf4996a79e852c2dec9e8.zip
mtk-20170518-7f3013a480a7ccbf8accf4996a79e852c2dec9e8.tar.gz
mtk-20170518-7f3013a480a7ccbf8accf4996a79e852c2dec9e8.tar.bz2
ipq806x: fix AP148 boot from NOR
This patch allows AP148 to boot from NOR flash. As we're using a FIT image as kernel (which includes kernel bin + DTB) we enable the MTD_SPLIT_FIT_FW kernel option, which will detect the FIT image and automatically split the "firmware" partition into 2 MTD parts (kernel + rootfs). The rootfs will then be parsed and split between rootfs + rootfs_data, as usual. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> SVN-Revision: 44794
-rw-r--r--target/linux/ipq806x/config-3.183
-rw-r--r--target/linux/ipq806x/patches-3.18/021-add-ap148-partitions.patch35
2 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/ipq806x/config-3.18 b/target/linux/ipq806x/config-3.18
index e5ce0e4..97687ac 100644
--- a/target/linux/ipq806x/config-3.18
+++ b/target/linux/ipq806x/config-3.18
@@ -226,6 +226,9 @@ CONFIG_MSM_MMCC_8974=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SPI_NOR=y
+CONFIG_MTD_SPLIT_FIRMWARE=y
+CONFIG_MTD_SPLIT_FIT_FW=y
+CONFIG_MTD_SPLIT_SUPPORT=y
CONFIG_MULTI_IRQ_HANDLER=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_NEED_DMA_MAP_STATE=y
diff --git a/target/linux/ipq806x/patches-3.18/021-add-ap148-partitions.patch b/target/linux/ipq806x/patches-3.18/021-add-ap148-partitions.patch
new file mode 100644
index 0000000..34eb9c0
--- /dev/null
+++ b/target/linux/ipq806x/patches-3.18/021-add-ap148-partitions.patch
@@ -0,0 +1,35 @@
+--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
++++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+@@ -78,13 +78,28 @@
+ reg = <0>;
+
+ partition@0 {
+- label = "rootfs";
+- reg = <0x0 0x1000000>;
++ label = "lowlevel_init";
++ reg = <0x0 0x1b0000>;
+ };
+
+ partition@1 {
+- label = "scratch";
+- reg = <0x1000000 0x1000000>;
++ label = "u-boot";
++ reg = <0x1b0000 0x80000>;
++ };
++
++ partition@2 {
++ label = "u-boot-env";
++ reg = <0x230000 0x40000>;
++ };
++
++ partition@3 {
++ label = "caldata";
++ reg = <0x270000 0x40000>;
++ };
++
++ partition@4 {
++ label = "firmware";
++ reg = <0x2b0000 0x1d50000>;
+ };
+ };
+ };