aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2022-05-14 10:44:58 +0200
committerChristian Lamparter <chunkeey@gmail.com>2022-05-14 11:08:45 +0200
commitd65bafa34bc57f652800cf0f6e6402ff7dca0289 (patch)
tree6eaa1d11be09dd82c49195800645597c10b9fee0
parent8f6e2bb178864a1822b5dfe85b96d113dce4a5f0 (diff)
downloadupstream-d65bafa34bc57f652800cf0f6e6402ff7dca0289.tar.gz
upstream-d65bafa34bc57f652800cf0f6e6402ff7dca0289.tar.bz2
upstream-d65bafa34bc57f652800cf0f6e6402ff7dca0289.zip
apm821xx: use nested fixed-partitions
This makes it possible to fix Netgear WNDAP620+660 DTS ugliness. Bring back the dtb and firmware partitions for the WNDR4700. Thank you, mans0n. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
-rw-r--r--target/linux/apm821xx/dts/netgear-wndap6x0.dtsi32
-rw-r--r--target/linux/apm821xx/dts/netgear-wndr4700.dts39
2 files changed, 47 insertions, 24 deletions
diff --git a/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi b/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi
index c6f112d240..8a15a78dce 100644
--- a/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi
+++ b/target/linux/apm821xx/dts/netgear-wndap6x0.dtsi
@@ -52,23 +52,27 @@
read-only;
};
- partition@110000,0 {
+ partition@110000 {
label = "firmware";
reg = <0x00110000 0x01ac0000>;
- };
-
- partition@110000,1 {
- /*
- * The u-boot bootloader will look at this
- * offset (0x110000) for an uImage binary.
- */
- label = "kernel";
- reg = <0x00110000 0x005f0000>;
- };
- partition@700000 {
- label = "ubi";
- reg = <0x00700000 0x014d0000>;
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ /*
+ * The u-boot bootloader will look at this
+ * offset (0x110000) for an uImage binary.
+ */
+ label = "kernel";
+ reg = <0x00000000 0x005f0000>;
+ };
+
+ partition@5f0000 {
+ label = "ubi";
+ reg = <0x005f0000 0x014d0000>;
+ };
};
partition@1bd0000 {
diff --git a/target/linux/apm821xx/dts/netgear-wndr4700.dts b/target/linux/apm821xx/dts/netgear-wndr4700.dts
index fe0f713943..342f9a01db 100644
--- a/target/linux/apm821xx/dts/netgear-wndr4700.dts
+++ b/target/linux/apm821xx/dts/netgear-wndr4700.dts
@@ -187,22 +187,41 @@
};
partition@180000 {
- label = "kernel";
- reg = <0x00180000 0x00380000>;
+ label = "firmware";
+ reg = <0x00180000 0x01860000>;
+
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "kernel";
+ reg = <0x00000000 0x00380000>;
+
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ /*
+ * device-tree is @ 0x00180000 - 0x0019ffff
+ * kernel starts from 0x20000.
+ * this is coded into netgear's u-boot.
+ */
+ partition@0 {
+ label = "dtb";
+ reg = <0x00000000 0x20000>;
+ };
/*
- * device-tree is @ 0x00180000 - 0x001fffff
- * kernel starts from 0x200000.
- * this is coded into netgear's u-boot.
- *
* this partition will also contain a
* fake/empty rootfs at the end to fool
* Netgear's uboot rootfs integrety checks.
*/
- };
+ };
- partition@500000 {
- label = "ubi";
- reg = <0x00500000 0x014e0000>;
+ partition@380000 {
+ label = "ubi";
+ reg = <0x00380000 0x014e0000>;
+ };
};