[openwrt/openwrt] brcm63xx: switch to new partition layout specification

LEDE Commits lede-commits at lists.infradead.org
Sun Feb 11 14:17:10 PST 2018


jogo pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/a27d59bb427466311fe7e69da3f0f53be18237aa

commit a27d59bb427466311fe7e69da3f0f53be18237aa
Author: Jonas Gorski <jonas.gorski at gmail.com>
AuthorDate: Wed Jun 28 10:44:38 2017 +0200

    brcm63xx: switch to new partition layout specification
    
    Now that we support parsing the expected upstream definition, update
    the dts files to it.
    
    Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
---
 target/linux/brcm63xx/dts/a226g.dts            | 31 ++++++++++-------
 target/linux/brcm63xx/dts/a226m-fwb.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/a226m.dts            | 31 ++++++++++-------
 target/linux/brcm63xx/dts/a4001n.dts           | 38 +++++++++++----------
 target/linux/brcm63xx/dts/a4001n1.dts          | 35 +++++++++++--------
 target/linux/brcm63xx/dts/ad1018-nor.dts       |  4 +++
 target/linux/brcm63xx/dts/agpf-s0.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/ar-5315u.dts         | 34 ++++++++++++-------
 target/linux/brcm63xx/dts/ar-5381u.dts         | 35 +++++++++++--------
 target/linux/brcm63xx/dts/ar-5387un.dts        | 35 +++++++++++--------
 target/linux/brcm63xx/dts/ar1004g.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/av4202n.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/bcm96318ref.dts      |  4 +++
 target/linux/brcm63xx/dts/bcm96318ref_p300.dts |  4 +++
 target/linux/brcm63xx/dts/bcm963268bu_p300.dts |  4 +++
 target/linux/brcm63xx/dts/bcm963269bhr.dts     |  4 +++
 target/linux/brcm63xx/dts/bcm963281TAN.dts     |  4 +++
 target/linux/brcm63xx/dts/bcm96328avng.dts     |  4 +++
 target/linux/brcm63xx/dts/bcm96338GW.dts       |  4 +++
 target/linux/brcm63xx/dts/bcm96338W.dts        |  4 +++
 target/linux/brcm63xx/dts/bcm96345GW2.dts      |  4 +++
 target/linux/brcm63xx/dts/bcm96348GW-10.dts    |  4 +++
 target/linux/brcm63xx/dts/bcm96348GW-11.dts    |  4 +++
 target/linux/brcm63xx/dts/bcm96348GW.dts       |  4 +++
 target/linux/brcm63xx/dts/bcm96348R.dts        |  4 +++
 target/linux/brcm63xx/dts/bcm96358VW.dts       |  4 +++
 target/linux/brcm63xx/dts/bcm96358VW2.dts      |  4 +++
 target/linux/brcm63xx/dts/bcm96368MVNgr.dts    |  4 +++
 target/linux/brcm63xx/dts/bcm96368MVWG.dts     |  4 +++
 target/linux/brcm63xx/dts/cpva502plus.dts      | 31 ++++++++++-------
 target/linux/brcm63xx/dts/cpva642.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/ct-5365.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/ct-6373.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/ct536plus.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/cvg834g.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/dg834g_v4.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/dg834gtpn.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/dgnd3700v1.dts       | 41 ++++++++++++----------
 target/linux/brcm63xx/dts/dsl-2640b-b.dts      | 31 ++++++++++-------
 target/linux/brcm63xx/dts/dsl-2640u.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/dsl-2650u.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/dsl-274xb-c.dts      | 31 ++++++++++-------
 target/linux/brcm63xx/dts/dsl-274xb-f.dts      | 47 +++++++++++++++-----------
 target/linux/brcm63xx/dts/dsl-275xb-d.dts      | 35 +++++++++++--------
 target/linux/brcm63xx/dts/dv-201amr.dts        | 35 +++++++++++--------
 target/linux/brcm63xx/dts/dva-g3810bn_tl.dts   | 31 ++++++++++-------
 target/linux/brcm63xx/dts/evg2000.dts          | 41 ++++++++++++----------
 target/linux/brcm63xx/dts/f5d7633.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/fast2404.dts         | 35 +++++++++++--------
 target/linux/brcm63xx/dts/fast2504n.dts        | 35 +++++++++++--------
 target/linux/brcm63xx/dts/fast2604.dts         | 31 ++++++++++-------
 target/linux/brcm63xx/dts/fast2704n.dts        | 35 +++++++++++--------
 target/linux/brcm63xx/dts/fast2704v2.dts       | 35 +++++++++++--------
 target/linux/brcm63xx/dts/gw6000.dts           | 31 ++++++++++-------
 target/linux/brcm63xx/dts/gw6200.dts           | 31 ++++++++++-------
 target/linux/brcm63xx/dts/hg520v.dts           | 31 ++++++++++-------
 target/linux/brcm63xx/dts/hg553.dts            | 31 ++++++++++-------
 target/linux/brcm63xx/dts/hg556a-a.dts         | 41 ++++++++++++----------
 target/linux/brcm63xx/dts/hg556a-b.dts         | 41 ++++++++++++----------
 target/linux/brcm63xx/dts/hg556a-c.dts         | 41 ++++++++++++----------
 target/linux/brcm63xx/dts/hg622.dts            | 41 ++++++++++++----------
 target/linux/brcm63xx/dts/hg655b.dts           | 47 +++++++++++++++-----------
 target/linux/brcm63xx/dts/homehub2a.dts        | 29 ++++++++++------
 target/linux/brcm63xx/dts/magic.dts            | 31 ++++++++++-------
 target/linux/brcm63xx/dts/nb4-fxc-r1.dts       |  4 +++
 target/linux/brcm63xx/dts/nb4-ser-r0.dts       |  4 +++
 target/linux/brcm63xx/dts/nb6-ser-r0.dts       | 35 +++++++++++--------
 target/linux/brcm63xx/dts/p870hw-51a-v2.dts    | 31 ++++++++++-------
 target/linux/brcm63xx/dts/r1000h.dts           | 25 +++++++++-----
 target/linux/brcm63xx/dts/r5010unv2.dts        | 33 +++++++++++-------
 target/linux/brcm63xx/dts/rg100a.dts           | 31 ++++++++++-------
 target/linux/brcm63xx/dts/rta1025w.dts         | 35 +++++++++++--------
 target/linux/brcm63xx/dts/rta1320.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/rta770bw.dts         | 31 ++++++++++-------
 target/linux/brcm63xx/dts/rta770w.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/spw303v.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/spw500v.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/td-w8900gb.dts       | 31 ++++++++++-------
 target/linux/brcm63xx/dts/usr9108.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/v2110.dts            | 31 ++++++++++-------
 target/linux/brcm63xx/dts/v2500v-bb.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/vg50.dts             |  4 +++
 target/linux/brcm63xx/dts/vh4032n.dts          | 31 ++++++++++-------
 target/linux/brcm63xx/dts/vr-3025u.dts         | 31 ++++++++++-------
 target/linux/brcm63xx/dts/vr-3025un.dts        | 31 ++++++++++-------
 target/linux/brcm63xx/dts/vr-3026e.dts         | 31 ++++++++++-------
 target/linux/brcm63xx/dts/wap-5813n.dts        | 31 ++++++++++-------
 87 files changed, 1407 insertions(+), 863 deletions(-)

diff --git a/target/linux/brcm63xx/dts/a226g.dts b/target/linux/brcm63xx/dts/a226g.dts
index 921e46c..539f776 100644
--- a/target/linux/brcm63xx/dts/a226g.dts
+++ b/target/linux/brcm63xx/dts/a226g.dts
@@ -96,20 +96,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/a226m-fwb.dts b/target/linux/brcm63xx/dts/a226m-fwb.dts
index c21d06e..6c88d53 100644
--- a/target/linux/brcm63xx/dts/a226m-fwb.dts
+++ b/target/linux/brcm63xx/dts/a226m-fwb.dts
@@ -96,20 +96,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xfc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0xfc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/a226m.dts b/target/linux/brcm63xx/dts/a226m.dts
index 7c8bdab..4918a87 100644
--- a/target/linux/brcm63xx/dts/a226m.dts
+++ b/target/linux/brcm63xx/dts/a226m.dts
@@ -96,20 +96,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/a4001n.dts b/target/linux/brcm63xx/dts/a4001n.dts
index db83543..d99da82 100644
--- a/target/linux/brcm63xx/dts/a4001n.dts
+++ b/target/linux/brcm63xx/dts/a4001n.dts
@@ -69,25 +69,29 @@
 		spi-rx-bus-width = <2>;
 		reg = <0>;
 
-		#address-cells = <1>;
-		#size-cells = <1>;
-
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0x7e0000>;
-			label = "linux";
-		};
-
-		nvram at 7f0000 {
-			reg = <0x7f0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0x7e0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at 7f0000 {
+				reg = <0x7f0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/a4001n1.dts b/target/linux/brcm63xx/dts/a4001n1.dts
index ad1590d..7306e90 100644
--- a/target/linux/brcm63xx/dts/a4001n1.dts
+++ b/target/linux/brcm63xx/dts/a4001n1.dts
@@ -102,20 +102,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0xfe0000>;
-			label = "linux";
-		};
-
-		nvram at ff0000 {
-			reg = <0xff0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0xfe0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at ff0000 {
+				reg = <0xff0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/ad1018-nor.dts b/target/linux/brcm63xx/dts/ad1018-nor.dts
index 7a630a1..5ce19db 100644
--- a/target/linux/brcm63xx/dts/ad1018-nor.dts
+++ b/target/linux/brcm63xx/dts/ad1018-nor.dts
@@ -133,6 +133,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/agpf-s0.dts b/target/linux/brcm63xx/dts/agpf-s0.dts
index 6ac3801..140ebfa 100644
--- a/target/linux/brcm63xx/dts/agpf-s0.dts
+++ b/target/linux/brcm63xx/dts/agpf-s0.dts
@@ -100,20 +100,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xfc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xfc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/ar-5315u.dts b/target/linux/brcm63xx/dts/ar-5315u.dts
index e359fe4..5c5d7c6 100644
--- a/target/linux/brcm63xx/dts/ar-5315u.dts
+++ b/target/linux/brcm63xx/dts/ar-5315u.dts
@@ -82,20 +82,28 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0xfe0000>;
-			label = "linux";
-		};
 
-		nvram at ff0000 {
-			reg = <0xff0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0xfe0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at ff0000 {
+				reg = <0xff0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/ar-5381u.dts b/target/linux/brcm63xx/dts/ar-5381u.dts
index 9da5b7e..c3ed00a 100644
--- a/target/linux/brcm63xx/dts/ar-5381u.dts
+++ b/target/linux/brcm63xx/dts/ar-5381u.dts
@@ -61,20 +61,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0xfe0000>;
-			label = "linux";
-		};
-
-		nvram at ff0000 {
-			reg = <0xff0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0xfe0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at ff0000 {
+				reg = <0xff0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/ar-5387un.dts b/target/linux/brcm63xx/dts/ar-5387un.dts
index 4dd7145..9b54fda 100644
--- a/target/linux/brcm63xx/dts/ar-5387un.dts
+++ b/target/linux/brcm63xx/dts/ar-5387un.dts
@@ -69,20 +69,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0xfe0000>;
-			label = "linux";
-		};
-
-		nvram at ff0000 {
-			reg = <0xff0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0xfe0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at ff0000 {
+				reg = <0xff0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/ar1004g.dts b/target/linux/brcm63xx/dts/ar1004g.dts
index e7265f4..600245c 100644
--- a/target/linux/brcm63xx/dts/ar1004g.dts
+++ b/target/linux/brcm63xx/dts/ar1004g.dts
@@ -51,20 +51,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/av4202n.dts b/target/linux/brcm63xx/dts/av4202n.dts
index ef61607..138d8c0 100644
--- a/target/linux/brcm63xx/dts/av4202n.dts
+++ b/target/linux/brcm63xx/dts/av4202n.dts
@@ -73,20 +73,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xfc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xfc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/bcm96318ref.dts b/target/linux/brcm63xx/dts/bcm96318ref.dts
index e48c0bf..2d19eea 100644
--- a/target/linux/brcm63xx/dts/bcm96318ref.dts
+++ b/target/linux/brcm63xx/dts/bcm96318ref.dts
@@ -67,6 +67,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/bcm96318ref_p300.dts b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
index db9d5ec..fb8ad78 100644
--- a/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
+++ b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts
@@ -73,6 +73,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/bcm963268bu_p300.dts b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
index 2bccb57..2c98756 100644
--- a/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
+++ b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts
@@ -48,6 +48,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/bcm963269bhr.dts b/target/linux/brcm63xx/dts/bcm963269bhr.dts
index d3c7098..ad31adf 100644
--- a/target/linux/brcm63xx/dts/bcm963269bhr.dts
+++ b/target/linux/brcm63xx/dts/bcm963269bhr.dts
@@ -56,6 +56,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/bcm963281TAN.dts b/target/linux/brcm63xx/dts/bcm963281TAN.dts
index d0d19a3..b280cb0 100644
--- a/target/linux/brcm63xx/dts/bcm963281TAN.dts
+++ b/target/linux/brcm63xx/dts/bcm963281TAN.dts
@@ -58,6 +58,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/bcm96328avng.dts b/target/linux/brcm63xx/dts/bcm96328avng.dts
index d0d6788..24e658e 100644
--- a/target/linux/brcm63xx/dts/bcm96328avng.dts
+++ b/target/linux/brcm63xx/dts/bcm96328avng.dts
@@ -58,6 +58,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/bcm96338GW.dts b/target/linux/brcm63xx/dts/bcm96338GW.dts
index d6ff449..741a695 100644
--- a/target/linux/brcm63xx/dts/bcm96338GW.dts
+++ b/target/linux/brcm63xx/dts/bcm96338GW.dts
@@ -44,6 +44,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &uart0 {
diff --git a/target/linux/brcm63xx/dts/bcm96338W.dts b/target/linux/brcm63xx/dts/bcm96338W.dts
index f91ca9a..674b399 100644
--- a/target/linux/brcm63xx/dts/bcm96338W.dts
+++ b/target/linux/brcm63xx/dts/bcm96338W.dts
@@ -44,6 +44,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &uart0 {
diff --git a/target/linux/brcm63xx/dts/bcm96345GW2.dts b/target/linux/brcm63xx/dts/bcm96345GW2.dts
index a7b3fad..e329b01 100644
--- a/target/linux/brcm63xx/dts/bcm96345GW2.dts
+++ b/target/linux/brcm63xx/dts/bcm96345GW2.dts
@@ -18,6 +18,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &uart0 {
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-10.dts b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
index 59850b5..742fefd 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-10.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-10.dts
@@ -58,6 +58,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &pinctrl {
diff --git a/target/linux/brcm63xx/dts/bcm96348GW-11.dts b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
index 3caca09..30f77d9 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW-11.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW-11.dts
@@ -58,6 +58,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &pinctrl {
diff --git a/target/linux/brcm63xx/dts/bcm96348GW.dts b/target/linux/brcm63xx/dts/bcm96348GW.dts
index c213ac7..0713cec 100644
--- a/target/linux/brcm63xx/dts/bcm96348GW.dts
+++ b/target/linux/brcm63xx/dts/bcm96348GW.dts
@@ -58,6 +58,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &pinctrl {
diff --git a/target/linux/brcm63xx/dts/bcm96348R.dts b/target/linux/brcm63xx/dts/bcm96348R.dts
index b56869b..b15c6cc 100644
--- a/target/linux/brcm63xx/dts/bcm96348R.dts
+++ b/target/linux/brcm63xx/dts/bcm96348R.dts
@@ -44,6 +44,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &pinctrl {
diff --git a/target/linux/brcm63xx/dts/bcm96358VW.dts b/target/linux/brcm63xx/dts/bcm96358VW.dts
index e097c05..ca92388 100644
--- a/target/linux/brcm63xx/dts/bcm96358VW.dts
+++ b/target/linux/brcm63xx/dts/bcm96358VW.dts
@@ -44,6 +44,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &uart0 {
diff --git a/target/linux/brcm63xx/dts/bcm96358VW2.dts b/target/linux/brcm63xx/dts/bcm96358VW2.dts
index 5c242c2..8eebd1c 100644
--- a/target/linux/brcm63xx/dts/bcm96358VW2.dts
+++ b/target/linux/brcm63xx/dts/bcm96358VW2.dts
@@ -40,6 +40,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &uart0 {
diff --git a/target/linux/brcm63xx/dts/bcm96368MVNgr.dts b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
index 6c4ef09..0b1773d 100644
--- a/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
+++ b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts
@@ -44,6 +44,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &pinctrl {
diff --git a/target/linux/brcm63xx/dts/bcm96368MVWG.dts b/target/linux/brcm63xx/dts/bcm96368MVWG.dts
index ed1dd90..172abd2 100644
--- a/target/linux/brcm63xx/dts/bcm96368MVWG.dts
+++ b/target/linux/brcm63xx/dts/bcm96368MVWG.dts
@@ -44,6 +44,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &pinctrl {
diff --git a/target/linux/brcm63xx/dts/cpva502plus.dts b/target/linux/brcm63xx/dts/cpva502plus.dts
index 6d8455e..023970a 100644
--- a/target/linux/brcm63xx/dts/cpva502plus.dts
+++ b/target/linux/brcm63xx/dts/cpva502plus.dts
@@ -47,20 +47,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/cpva642.dts b/target/linux/brcm63xx/dts/cpva642.dts
index 212bf6c..ba0426a 100644
--- a/target/linux/brcm63xx/dts/cpva642.dts
+++ b/target/linux/brcm63xx/dts/cpva642.dts
@@ -84,20 +84,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/ct-5365.dts b/target/linux/brcm63xx/dts/ct-5365.dts
index ac3b809..3598f91 100644
--- a/target/linux/brcm63xx/dts/ct-5365.dts
+++ b/target/linux/brcm63xx/dts/ct-5365.dts
@@ -61,20 +61,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/ct-6373.dts b/target/linux/brcm63xx/dts/ct-6373.dts
index 579b514..e6069bc 100644
--- a/target/linux/brcm63xx/dts/ct-6373.dts
+++ b/target/linux/brcm63xx/dts/ct-6373.dts
@@ -82,20 +82,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/ct536plus.dts b/target/linux/brcm63xx/dts/ct536plus.dts
index f9bc7e1..9c075a5 100644
--- a/target/linux/brcm63xx/dts/ct536plus.dts
+++ b/target/linux/brcm63xx/dts/ct536plus.dts
@@ -47,20 +47,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/cvg834g.dts b/target/linux/brcm63xx/dts/cvg834g.dts
index fa14c8b..ad71eb3 100644
--- a/target/linux/brcm63xx/dts/cvg834g.dts
+++ b/target/linux/brcm63xx/dts/cvg834g.dts
@@ -29,20 +29,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dg834g_v4.dts b/target/linux/brcm63xx/dts/dg834g_v4.dts
index 369a67c..019fe49 100644
--- a/target/linux/brcm63xx/dts/dg834g_v4.dts
+++ b/target/linux/brcm63xx/dts/dg834g_v4.dts
@@ -55,20 +55,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dg834gtpn.dts b/target/linux/brcm63xx/dts/dg834gtpn.dts
index 794c701..694af6a 100644
--- a/target/linux/brcm63xx/dts/dg834gtpn.dts
+++ b/target/linux/brcm63xx/dts/dg834gtpn.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dgnd3700v1.dts b/target/linux/brcm63xx/dts/dgnd3700v1.dts
index 2d23f19..3a556b3 100644
--- a/target/linux/brcm63xx/dts/dgnd3700v1.dts
+++ b/target/linux/brcm63xx/dts/dgnd3700v1.dts
@@ -93,26 +93,33 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0x1e20000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	board_data at 1e40000 {
-		label = "board_data";
-		reg = <0x1e40000 0x1a0000>;
-		read-only;
-	};
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0x1e20000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		board_data at 1e40000 {
+			label = "board_data";
+			reg = <0x1e40000 0x1a0000>;
+			read-only;
+		};
 
-	nvram at 1fe0000 {
-		label = "nvram";
-		reg = <0x1fe0000 0x20000>;
+		nvram at 1fe0000 {
+			label = "nvram";
+			reg = <0x1fe0000 0x20000>;
+		};
 	};
 }; 
 
diff --git a/target/linux/brcm63xx/dts/dsl-2640b-b.dts b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
index df7f4ad..0acb5c6 100644
--- a/target/linux/brcm63xx/dts/dsl-2640b-b.dts
+++ b/target/linux/brcm63xx/dts/dsl-2640b-b.dts
@@ -55,20 +55,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dsl-2640u.dts b/target/linux/brcm63xx/dts/dsl-2640u.dts
index 8fea2ac..e6d1819 100644
--- a/target/linux/brcm63xx/dts/dsl-2640u.dts
+++ b/target/linux/brcm63xx/dts/dsl-2640u.dts
@@ -39,20 +39,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dsl-2650u.dts b/target/linux/brcm63xx/dts/dsl-2650u.dts
index c9b189b..22b1d52 100644
--- a/target/linux/brcm63xx/dts/dsl-2650u.dts
+++ b/target/linux/brcm63xx/dts/dsl-2650u.dts
@@ -41,20 +41,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-c.dts b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
index 3468dea..bab0427 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-c.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-c.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dsl-274xb-f.dts b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
index 00a5a9e..8555bb4 100644
--- a/target/linux/brcm63xx/dts/dsl-274xb-f.dts
+++ b/target/linux/brcm63xx/dts/dsl-274xb-f.dts
@@ -83,26 +83,33 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0x7c0000>;
-			label = "linux";
-		};
-
-		cal_data at 7d0000 {
-			reg = <0x7d0000 0x010000>;
-			label = "cal_data";
-			read-only;
-		};
-
-		nvram at 7e0000 {
-			reg = <0x7e0000 0x020000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0x7c0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			cal_data at 7d0000 {
+				reg = <0x7d0000 0x010000>;
+				label = "cal_data";
+				read-only;
+			};
+
+			nvram at 7e0000 {
+				reg = <0x7e0000 0x020000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/dsl-275xb-d.dts b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
index d8f8c08..c801fca 100644
--- a/target/linux/brcm63xx/dts/dsl-275xb-d.dts
+++ b/target/linux/brcm63xx/dts/dsl-275xb-d.dts
@@ -96,20 +96,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0x7e0000>;
-			label = "linux";
-		};
-
-		nvram at 7f0000 {
-			reg = <0x7f0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0x7e0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at 7f0000 {
+				reg = <0x7f0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/dv-201amr.dts b/target/linux/brcm63xx/dts/dv-201amr.dts
index 42a825f..c130932 100644
--- a/target/linux/brcm63xx/dts/dv-201amr.dts
+++ b/target/linux/brcm63xx/dts/dv-201amr.dts
@@ -19,20 +19,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	backup at 0 {
-		label = "backup";
-		reg = <0x000000 0x400000>;
-	};
-
-	cfe at 400000 {
-		label = "cfe";
-		reg = <0x400000 0x010000>;
-		read-only;
-	};
-
-	linux at 410000 {
-		label = "linux";
-		reg = <0x410000 0x3f0000>;
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		backup at 0 {
+			label = "backup";
+			reg = <0x000000 0x400000>;
+		};
+
+		cfe at 400000 {
+			label = "cfe";
+			reg = <0x400000 0x010000>;
+			read-only;
+		};
+
+		linux at 410000 {
+			label = "linux";
+			reg = <0x410000 0x3f0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
index 2945165..3478657 100644
--- a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
+++ b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/evg2000.dts b/target/linux/brcm63xx/dts/evg2000.dts
index 10e0ddc..2d254fb 100644
--- a/target/linux/brcm63xx/dts/evg2000.dts
+++ b/target/linux/brcm63xx/dts/evg2000.dts
@@ -84,26 +84,33 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x00000000 0x00020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x00020000 0x00f40000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x00000000 0x00020000>;
+			read-only;
+		};
 
-	board_data at f60000 {
-		label = "board_data";
-		reg = <0x00f60000 0x00080000>;
-		read-only;
-	};
+		linux at 20000 {
+			label = "linux";
+			reg = <0x00020000 0x00f40000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		board_data at f60000 {
+			label = "board_data";
+			reg = <0x00f60000 0x00080000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0x00fe0000 0x00020000>;
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0x00fe0000 0x00020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/f5d7633.dts b/target/linux/brcm63xx/dts/f5d7633.dts
index 89c646b..621ef0b 100644
--- a/target/linux/brcm63xx/dts/f5d7633.dts
+++ b/target/linux/brcm63xx/dts/f5d7633.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0x3c0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at 3e0000 {
-		label = "nvram";
-		reg = <0x3e0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0x3c0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3e0000 {
+			label = "nvram";
+			reg = <0x3e0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/fast2404.dts b/target/linux/brcm63xx/dts/fast2404.dts
index c0a30a0..8fde616 100644
--- a/target/linux/brcm63xx/dts/fast2404.dts
+++ b/target/linux/brcm63xx/dts/fast2404.dts
@@ -19,20 +19,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
-
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
-
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
+
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/fast2504n.dts b/target/linux/brcm63xx/dts/fast2504n.dts
index 8b644fb..bb0d98c 100644
--- a/target/linux/brcm63xx/dts/fast2504n.dts
+++ b/target/linux/brcm63xx/dts/fast2504n.dts
@@ -78,20 +78,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0x7e0000>;
-			label = "linux";
-		};
-
-		nvram at 7f0000 {
-			reg = <0x7f0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0x7e0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at 7f0000 {
+				reg = <0x7f0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/fast2604.dts b/target/linux/brcm63xx/dts/fast2604.dts
index 1433940..5515504 100644
--- a/target/linux/brcm63xx/dts/fast2604.dts
+++ b/target/linux/brcm63xx/dts/fast2604.dts
@@ -55,20 +55,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/fast2704n.dts b/target/linux/brcm63xx/dts/fast2704n.dts
index 217ef12..079f159 100644
--- a/target/linux/brcm63xx/dts/fast2704n.dts
+++ b/target/linux/brcm63xx/dts/fast2704n.dts
@@ -103,20 +103,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0x7e0000>;
-			label = "linux";
-		};
-
-		nvram at 7f0000 {
-			reg = <0x7f0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0x7e0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at 7f0000 {
+				reg = <0x7f0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/fast2704v2.dts b/target/linux/brcm63xx/dts/fast2704v2.dts
index eeed6b1..8cb1c05 100644
--- a/target/linux/brcm63xx/dts/fast2704v2.dts
+++ b/target/linux/brcm63xx/dts/fast2704v2.dts
@@ -87,20 +87,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0x7e0000>;
-			label = "linux";
-		};
-
-		nvram at 7f0000 {
-			reg = <0x7f0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0x7e0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at 7f0000 {
+				reg = <0x7f0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/gw6000.dts b/target/linux/brcm63xx/dts/gw6000.dts
index 31555b3..ea7deaa 100644
--- a/target/linux/brcm63xx/dts/gw6000.dts
+++ b/target/linux/brcm63xx/dts/gw6000.dts
@@ -33,20 +33,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/gw6200.dts b/target/linux/brcm63xx/dts/gw6200.dts
index acc100c..e9523d0 100644
--- a/target/linux/brcm63xx/dts/gw6200.dts
+++ b/target/linux/brcm63xx/dts/gw6200.dts
@@ -54,20 +54,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/hg520v.dts b/target/linux/brcm63xx/dts/hg520v.dts
index bfd3069..08312f7 100644
--- a/target/linux/brcm63xx/dts/hg520v.dts
+++ b/target/linux/brcm63xx/dts/hg520v.dts
@@ -42,20 +42,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+		partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/hg553.dts b/target/linux/brcm63xx/dts/hg553.dts
index a459976..01f230d 100644
--- a/target/linux/brcm63xx/dts/hg553.dts
+++ b/target/linux/brcm63xx/dts/hg553.dts
@@ -81,20 +81,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xfc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xfc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/hg556a-a.dts b/target/linux/brcm63xx/dts/hg556a-a.dts
index 906ee61..bd12fcf 100644
--- a/target/linux/brcm63xx/dts/hg556a-a.dts
+++ b/target/linux/brcm63xx/dts/hg556a-a.dts
@@ -107,26 +107,33 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xec0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	cal_data at ee0000 {
-		label = "cal_data";
-		reg = <0xee0000 0x100000>;
-		read-only;
-	};
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xec0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		cal_data at ee0000 {
+			label = "cal_data";
+			reg = <0xee0000 0x100000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/hg556a-b.dts b/target/linux/brcm63xx/dts/hg556a-b.dts
index 4285e17..e4dc24d 100644
--- a/target/linux/brcm63xx/dts/hg556a-b.dts
+++ b/target/linux/brcm63xx/dts/hg556a-b.dts
@@ -107,26 +107,33 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xec0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	cal_data at ee0000 {
-		label = "cal_data";
-		reg = <0xee0000 0x100000>;
-		read-only;
-	};
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xec0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		cal_data at ee0000 {
+			label = "cal_data";
+			reg = <0xee0000 0x100000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/hg556a-c.dts b/target/linux/brcm63xx/dts/hg556a-c.dts
index 48c601e..a8c5e9e 100644
--- a/target/linux/brcm63xx/dts/hg556a-c.dts
+++ b/target/linux/brcm63xx/dts/hg556a-c.dts
@@ -102,26 +102,33 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xec0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	cal_data at ee0000 {
-		label = "cal_data";
-		reg = <0xee0000 0x100000>;
-		read-only;
-	};
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xec0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		cal_data at ee0000 {
+			label = "cal_data";
+			reg = <0xee0000 0x100000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/hg622.dts b/target/linux/brcm63xx/dts/hg622.dts
index 419439d..30a8061 100644
--- a/target/linux/brcm63xx/dts/hg622.dts
+++ b/target/linux/brcm63xx/dts/hg622.dts
@@ -56,26 +56,33 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xf80000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	cal_data at fa0000 {
-		label = "cal_data";
-		reg = <0xfa0000 0x020000>;
-		read-only;
-	};
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xf80000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		cal_data at fa0000 {
+			label = "cal_data";
+			reg = <0xfa0000 0x020000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/hg655b.dts b/target/linux/brcm63xx/dts/hg655b.dts
index 0336a63..fbdf984 100644
--- a/target/linux/brcm63xx/dts/hg655b.dts
+++ b/target/linux/brcm63xx/dts/hg655b.dts
@@ -74,30 +74,37 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0x770000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+		};
 
-	board_data at 790000 {
-		label = "board_data";
-		reg = <0x790000 0x030000>;
-	};
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0x770000>;
+		};
 
-	cal_data at 7c0000 {
-		label = "cal_data";
-		reg = <0x7c0000 0x020000>;
-		read-only;
-	};
+		board_data at 790000 {
+			label = "board_data";
+			reg = <0x790000 0x030000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
 
-	nvram at 7d0000 {
-		label = "nvram";
-		reg = <0x7e0000 0x020000>;
+		cal_data at 7c0000 {
+			label = "cal_data";
+			reg = <0x7c0000 0x020000>;
+			read-only;
+		};
+
+		nvram at 7d0000 {
+			label = "nvram";
+			reg = <0x7e0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/homehub2a.dts b/target/linux/brcm63xx/dts/homehub2a.dts
index 1f55265..b3cc23e 100644
--- a/target/linux/brcm63xx/dts/homehub2a.dts
+++ b/target/linux/brcm63xx/dts/homehub2a.dts
@@ -141,19 +141,26 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xfc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xfc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/magic.dts b/target/linux/brcm63xx/dts/magic.dts
index c78b836..65fdb4e 100644
--- a/target/linux/brcm63xx/dts/magic.dts
+++ b/target/linux/brcm63xx/dts/magic.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
index 9d341ec..eba4b20 100644
--- a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
+++ b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts
@@ -103,6 +103,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &uart0 {
diff --git a/target/linux/brcm63xx/dts/nb4-ser-r0.dts b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
index e97d9f2..ac36bd3 100644
--- a/target/linux/brcm63xx/dts/nb4-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb4-ser-r0.dts
@@ -103,6 +103,10 @@
 	status = "ok";
 
 	linux,part-probe = "bcm63xxpart";
+
+	partitions {
+		compatible = "brcm,bcm963xx-cfe-nor-partitions";
+	};
 };
 
 &uart0 {
diff --git a/target/linux/brcm63xx/dts/nb6-ser-r0.dts b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
index 70d719e..199aa6d 100644
--- a/target/linux/brcm63xx/dts/nb6-ser-r0.dts
+++ b/target/linux/brcm63xx/dts/nb6-ser-r0.dts
@@ -66,20 +66,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0xfe0000>;
-			label = "linux";
-		};
-
-		nvram at ff0000 {
-			reg = <0xff0000 0x010000>;
-			label = "nvram";
+		partitions {
+			compatible = "fixed-partitions";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0xfe0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at ff0000 {
+				reg = <0xff0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
index d7e5d3e..62e1aca 100644
--- a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
+++ b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts
@@ -64,20 +64,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/r1000h.dts b/target/linux/brcm63xx/dts/r1000h.dts
index 299b520..5f773bd 100644
--- a/target/linux/brcm63xx/dts/r1000h.dts
+++ b/target/linux/brcm63xx/dts/r1000h.dts
@@ -79,17 +79,24 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	CFE at 0 {
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		reg = <0x020000 0x1fc0000>;
-	};
+		CFE at 0 {
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at 1fe0000 {
-		reg = <0x1fe0000 0x20000>;
+		linux at 20000 {
+			reg = <0x020000 0x1fc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 1fe0000 {
+			reg = <0x1fe0000 0x20000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/r5010unv2.dts b/target/linux/brcm63xx/dts/r5010unv2.dts
index c0b0a85..221b421 100644
--- a/target/linux/brcm63xx/dts/r5010unv2.dts
+++ b/target/linux/brcm63xx/dts/r5010unv2.dts
@@ -83,20 +83,27 @@
 
 		linux,part-probe = "bcm63xxpart";
 
-		cfe at 0 {
-			reg = <0x000000 0x010000>;
-			label = "cfe";
-			read-only;
-		};
-
-		linux at 10000 {
-			reg = <0x010000 0x7e0000>;
-			label = "linux";
-		};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-		nvram at 7f0000 {
-			reg = <0x7f0000 0x010000>;
-			label = "nvram";
+			cfe at 0 {
+				reg = <0x000000 0x010000>;
+				label = "cfe";
+				read-only;
+			};
+
+			linux at 10000 {
+				reg = <0x010000 0x7e0000>;
+				label = "linux";
+				compatible = "brcm,bcm963xx-imagetag";
+			};
+
+			nvram at 7f0000 {
+				reg = <0x7f0000 0x010000>;
+				label = "nvram";
+			};
 		};
 	};
 };
diff --git a/target/linux/brcm63xx/dts/rg100a.dts b/target/linux/brcm63xx/dts/rg100a.dts
index 871aada..3a46a3e 100644
--- a/target/linux/brcm63xx/dts/rg100a.dts
+++ b/target/linux/brcm63xx/dts/rg100a.dts
@@ -41,20 +41,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0xfc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at fe0000 {
-		label = "nvram";
-		reg = <0xfe0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0xfc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at fe0000 {
+			label = "nvram";
+			reg = <0xfe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/rta1025w.dts b/target/linux/brcm63xx/dts/rta1025w.dts
index e4de95d..d7c2bf8 100644
--- a/target/linux/brcm63xx/dts/rta1025w.dts
+++ b/target/linux/brcm63xx/dts/rta1025w.dts
@@ -19,20 +19,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
-
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
-
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
+
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/rta1320.dts b/target/linux/brcm63xx/dts/rta1320.dts
index aedc9d3..bec477c 100644
--- a/target/linux/brcm63xx/dts/rta1320.dts
+++ b/target/linux/brcm63xx/dts/rta1320.dts
@@ -41,20 +41,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/rta770bw.dts b/target/linux/brcm63xx/dts/rta770bw.dts
index 0f71467..767ff36 100644
--- a/target/linux/brcm63xx/dts/rta770bw.dts
+++ b/target/linux/brcm63xx/dts/rta770bw.dts
@@ -57,20 +57,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/rta770w.dts b/target/linux/brcm63xx/dts/rta770w.dts
index ce9f0be..93cf9ff 100644
--- a/target/linux/brcm63xx/dts/rta770w.dts
+++ b/target/linux/brcm63xx/dts/rta770w.dts
@@ -57,20 +57,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/spw303v.dts b/target/linux/brcm63xx/dts/spw303v.dts
index 7a00020..e7113df 100644
--- a/target/linux/brcm63xx/dts/spw303v.dts
+++ b/target/linux/brcm63xx/dts/spw303v.dts
@@ -68,20 +68,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/spw500v.dts b/target/linux/brcm63xx/dts/spw500v.dts
index c7a4c7d..af9c696 100644
--- a/target/linux/brcm63xx/dts/spw500v.dts
+++ b/target/linux/brcm63xx/dts/spw500v.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/td-w8900gb.dts b/target/linux/brcm63xx/dts/td-w8900gb.dts
index e5c02e6..e90cd70 100644
--- a/target/linux/brcm63xx/dts/td-w8900gb.dts
+++ b/target/linux/brcm63xx/dts/td-w8900gb.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x020000 0x3d0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x020000>;
+			read-only;
+		};
 
-	nvram at 3e0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x020000 0x3d0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3e0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/usr9108.dts b/target/linux/brcm63xx/dts/usr9108.dts
index 4852d65..d2cb81e 100644
--- a/target/linux/brcm63xx/dts/usr9108.dts
+++ b/target/linux/brcm63xx/dts/usr9108.dts
@@ -32,20 +32,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/v2110.dts b/target/linux/brcm63xx/dts/v2110.dts
index 93a5d94..b5a7f9e 100644
--- a/target/linux/brcm63xx/dts/v2110.dts
+++ b/target/linux/brcm63xx/dts/v2110.dts
@@ -58,20 +58,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/v2500v-bb.dts b/target/linux/brcm63xx/dts/v2500v-bb.dts
index d6b5964..9111e07 100644
--- a/target/linux/brcm63xx/dts/v2500v-bb.dts
+++ b/target/linux/brcm63xx/dts/v2500v-bb.dts
@@ -58,20 +58,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x3e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 3f0000 {
-		label = "nvram";
-		reg = <0x3f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x3e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 3f0000 {
+			label = "nvram";
+			reg = <0x3f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/vg50.dts b/target/linux/brcm63xx/dts/vg50.dts
index f1d48ea..9f559f2 100644
--- a/target/linux/brcm63xx/dts/vg50.dts
+++ b/target/linux/brcm63xx/dts/vg50.dts
@@ -48,6 +48,10 @@
 		#size-cells = <1>;
 
 		linux,part-probe = "bcm63xxpart";
+
+		partitions {
+			compatible = "brcm,bcm963xx-cfe-nor-partitions";
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/vh4032n.dts b/target/linux/brcm63xx/dts/vh4032n.dts
index 78a708a..6c5a3d4 100644
--- a/target/linux/brcm63xx/dts/vh4032n.dts
+++ b/target/linux/brcm63xx/dts/vh4032n.dts
@@ -85,20 +85,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x0000000 0x0020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x0020000 0x1fc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x0000000 0x0020000>;
+			read-only;
+		};
 
-	nvram at 1fe0000 {
-		label = "nvram";
-		reg = <0x1fe0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x0020000 0x1fc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 1fe0000 {
+			label = "nvram";
+			reg = <0x1fe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/vr-3025u.dts b/target/linux/brcm63xx/dts/vr-3025u.dts
index fd2a567..40f64b0 100644
--- a/target/linux/brcm63xx/dts/vr-3025u.dts
+++ b/target/linux/brcm63xx/dts/vr-3025u.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x0000000 0x0020000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 20000 {
-		label = "linux";
-		reg = <0x0020000 0x1fc0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x0000000 0x0020000>;
+			read-only;
+		};
 
-	nvram at 1fe0000 {
-		label = "nvram";
-		reg = <0x1fe0000 0x020000>;
+		linux at 20000 {
+			label = "linux";
+			reg = <0x0020000 0x1fc0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 1fe0000 {
+			label = "nvram";
+			reg = <0x1fe0000 0x020000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/vr-3025un.dts b/target/linux/brcm63xx/dts/vr-3025un.dts
index 61e1972..9a3af44 100644
--- a/target/linux/brcm63xx/dts/vr-3025un.dts
+++ b/target/linux/brcm63xx/dts/vr-3025un.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/vr-3026e.dts b/target/linux/brcm63xx/dts/vr-3026e.dts
index 01cb988..7acf52e 100644
--- a/target/linux/brcm63xx/dts/vr-3026e.dts
+++ b/target/linux/brcm63xx/dts/vr-3026e.dts
@@ -59,20 +59,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 
diff --git a/target/linux/brcm63xx/dts/wap-5813n.dts b/target/linux/brcm63xx/dts/wap-5813n.dts
index 1a71426..fa9030d 100644
--- a/target/linux/brcm63xx/dts/wap-5813n.dts
+++ b/target/linux/brcm63xx/dts/wap-5813n.dts
@@ -69,20 +69,27 @@
 
 	linux,part-probe = "bcm63xxpart";
 
-	cfe at 0 {
-		label = "CFE";
-		reg = <0x000000 0x010000>;
-		read-only;
-	};
+	partitions {
+		compatible = "fixed-partitions";
+		#address-cells = <1>;
+		#size-cells = <1>;
 
-	linux at 10000 {
-		label = "linux";
-		reg = <0x010000 0x7e0000>;
-	};
+		cfe at 0 {
+			label = "CFE";
+			reg = <0x000000 0x010000>;
+			read-only;
+		};
 
-	nvram at 7f0000 {
-		label = "nvram";
-		reg = <0x7f0000 0x010000>;
+		linux at 10000 {
+			label = "linux";
+			reg = <0x010000 0x7e0000>;
+			compatible = "brcm,bcm963xx-imagetag";
+		};
+
+		nvram at 7f0000 {
+			label = "nvram";
+			reg = <0x7f0000 0x010000>;
+		};
 	};
 };
 



More information about the lede-commits mailing list