ipq806x: fix AP148 boot from NOR
authorJohn Crispin <john@openwrt.org>
Sun, 15 Mar 2015 19:39:41 +0000 (19:39 +0000)
committerJohn Crispin <john@openwrt.org>
Sun, 15 Mar 2015 19:39:41 +0000 (19:39 +0000)
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

target/linux/ipq806x/config-3.18
target/linux/ipq806x/patches-3.18/021-add-ap148-partitions.patch [new file with mode: 0644]

index e5ce0e4..97687ac 100644 (file)
@@ -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 (file)
index 0000000..34eb9c0
--- /dev/null
@@ -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>;
+                                       };
+                               };
+                       };