ipq806x: switch AP148 to using SMEM based MTD parser

*Enable SMEM MTD parser and its dependencies (SMEM & HW spinlocks) in
 the kernel config
*Replaces the MTD layout in DT by the dynamic layout provided by the
 SMEM parser for AP148

Using the OF based parser is still possible on platforms which have a
fixed MTD partition layout.

Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 46658
owl
John Crispin 2015-08-17 06:18:15 +00:00
parent 0e33ae8e5d
commit b0b59a8e75
13 changed files with 35 additions and 63 deletions

View File

@ -206,6 +206,8 @@ CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_HWMON=y
CONFIG_HWSPINLOCK=y
CONFIG_HWSPINLOCK_QCOM=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_MSM=y
CONFIG_HZ_FIXED=0
@ -259,6 +261,7 @@ CONFIG_MTD_M25P80=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND_QCOM=y
CONFIG_MTD_QCOM_SMEM_PARTS=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPLIT_FIRMWARE=y
CONFIG_MTD_SPLIT_FIT_FW=y
@ -345,6 +348,7 @@ CONFIG_QCOM_BAM_DMA=y
CONFIG_QCOM_GSBI=y
CONFIG_QCOM_HFPLL=y
CONFIG_QCOM_SCM=y
CONFIG_QCOM_SMEM=y
CONFIG_QCOM_WDT=y
CONFIG_RAS=y
# CONFIG_RCU_BOOST is not set

View File

@ -45,7 +45,6 @@ CONFIG_ARM_CCI400_PMU=y
CONFIG_ARM_CPU_SUSPEND=y
CONFIG_ARM_GIC=y
CONFIG_ARM_HAS_SG_CHAIN=y
# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
CONFIG_ARM_L1_CACHE_SHIFT=6
CONFIG_ARM_L1_CACHE_SHIFT_6=y
# CONFIG_ARM_LPAE is not set
@ -214,6 +213,8 @@ CONFIG_HIGHPTE=y
CONFIG_HOTPLUG_CPU=y
# CONFIG_HSU_DMA_PCI is not set
CONFIG_HWMON=y
CONFIG_HWSPINLOCK=y
CONFIG_HWSPINLOCK_QCOM=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_MSM=y
CONFIG_HZ_FIXED=0
@ -240,7 +241,6 @@ CONFIG_KPSS_XCC=y
CONFIG_KRAITCC=y
CONFIG_KRAIT_CLOCKS=y
CONFIG_KRAIT_L2_ACCESSORS=y
# CONFIG_LEDS_REGULATOR is not set
CONFIG_LIBFDT=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_LOCK_SPIN_ON_OWNER=y
@ -268,6 +268,7 @@ CONFIG_MTD_M25P80=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND_QCOM=y
CONFIG_MTD_QCOM_SMEM_PARTS=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPLIT_FIRMWARE=y
CONFIG_MTD_SPLIT_FIT_FW=y
@ -357,6 +358,7 @@ CONFIG_QCOM_BAM_DMA=y
CONFIG_QCOM_GSBI=y
CONFIG_QCOM_HFPLL=y
CONFIG_QCOM_SCM=y
CONFIG_QCOM_SMEM=y
CONFIG_QCOM_WDT=y
CONFIG_RAS=y
# CONFIG_RCU_BOOST is not set
@ -366,9 +368,7 @@ CONFIG_RD_GZIP=y
CONFIG_REGMAP=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGULATOR=y
# CONFIG_REGULATOR_DEBUG is not set
CONFIG_REGULATOR_QCOM_RPM=y
# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RFS_ACCEL=y
CONFIG_RPS=y

View File

@ -1,35 +1,19 @@
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -78,13 +78,28 @@
@@ -77,15 +77,7 @@
spi-max-frequency = <50000000>;
reg = <0>;
partition@0 {
- partition@0 {
- label = "rootfs";
- reg = <0x0 0x1000000>;
+ label = "lowlevel_init";
+ reg = <0x0 0x1b0000>;
};
partition@1 {
- };
-
- 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>;
};
- };
+ linux,part-probe = "qcom-smem";
};
};
};

View File

@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -114,5 +114,29 @@
@@ -91,5 +91,29 @@
sata@29000000 {
status = "ok";
};

View File

@ -40,7 +40,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
spi_pins: spi_pins {
mux {
pins = "gpio18", "gpio19", "gpio21";
@@ -138,5 +156,19 @@
@@ -115,5 +133,19 @@
usb30@1 {
status = "ok";
};

View File

@ -57,7 +57,7 @@ arch/arm/boot/dts/qcom-ipq8064-ap148.dts | 36 ++++++++++++++++++++++++++++++++
};
gsbi@16300000 {
@@ -170,5 +195,19 @@
@@ -147,5 +172,19 @@
pinctrl-0 = <&pcie1_pins>;
pinctrl-names = "default";
};

View File

@ -38,7 +38,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
};
gsbi@16300000 {
@@ -205,6 +215,34 @@
@@ -182,6 +192,34 @@
nand-ecc-strength = <4>;
nand-bus-width = <8>;
};

View File

@ -29,7 +29,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
};
gsbi@16300000 {
@@ -243,6 +253,27 @@
@@ -220,6 +230,27 @@
reg = <4>;
};
};

View File

@ -1,35 +1,19 @@
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -78,13 +78,28 @@
@@ -77,15 +77,7 @@
spi-max-frequency = <50000000>;
reg = <0>;
partition@0 {
- partition@0 {
- label = "rootfs";
- reg = <0x0 0x1000000>;
+ label = "lowlevel_init";
+ reg = <0x0 0x1b0000>;
};
partition@1 {
- };
-
- 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>;
};
- };
+ linux,part-probe = "qcom-smem";
};
};
};

View File

@ -40,7 +40,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
spi_pins: spi_pins {
mux {
pins = "gpio18", "gpio19", "gpio21";
@@ -114,5 +132,19 @@
@@ -91,5 +109,19 @@
sata@29000000 {
status = "ok";
};

View File

@ -54,7 +54,7 @@ arch/arm/boot/dts/qcom-ipq8064-ap148.dts | 36 ++++++++++++++++++++++++++++++++
};
gsbi@16300000 {
@@ -146,5 +168,19 @@
@@ -123,5 +145,19 @@
pinctrl-0 = <&pcie1_pins>;
pinctrl-names = "default";
};

View File

@ -38,7 +38,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
};
gsbi@16300000 {
@@ -178,6 +188,34 @@
@@ -155,6 +165,34 @@
nand-ecc-strength = <4>;
nand-bus-width = <8>;
};

View File

@ -29,7 +29,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
};
gsbi@16300000 {
@@ -216,6 +226,27 @@
@@ -193,6 +203,27 @@
reg = <4>;
};
};