From 79ceea43032f9e70fdf8e5280f5af62cc175a9f5 Mon Sep 17 00:00:00 2001
From: Martin Kennedy <hurricos@gmail.com>
Date: Tue, 23 Nov 2021 19:07:14 -0500
Subject: [PATCH] mpc85xx: Fix HiveAP-330 nvmem mac loader

We actually need to enclose the whole section of partitions in a
`partitions { ... }` to assign it a `compatible = "fixed-partitions";
otherwise the partition referred to by `hwinfo` won't be registered
when bringing up MTD partitions, for example as per:

- <https://forum.openwrt.org/t/tp-link-c2600-missing-default-mac-mtd-partition-in-snapshot/103945/6>

- commit e2b03c16eb44 ("ipq806x: add missing enclosing partitions block for TP-Link C2600")'

Fixes: 8ec21d6bb210 ("mpc85xx: convert mtd-mac-address to nvmem implementation")
Signed-off-by: Martin Kennedy <hurricos@gmail.com>
[minor beautification]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
---
 .../arch/powerpc/boot/dts/hiveap-330.dts      | 102 +++++++++---------
 1 file changed, 54 insertions(+), 48 deletions(-)

diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts
index 97f5b7c7b7..9eb6e2613a 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/hiveap-330.dts
@@ -42,64 +42,70 @@
 			bank-width = <2>;
 			device-width = <1>;
 
-			partition@0 {
-				reg = <0x0 0x40000>;
-				label = "dtb";
-			};
+			partitions {
+				compatible = "fixed-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				partition@0 {
+					reg = <0x0 0x40000>;
+					label = "dtb";
+				};
 
-			partition@40000 {
-				reg = <0x40000 0x40000>;
-				label = "initrd";
-			};
+				partition@40000 {
+					reg = <0x40000 0x40000>;
+					label = "initrd";
+				};
 
-			partition@80000 {
-				reg = <0x80000 0x27c0000>;
-				label = "rootfs";
-			};
+				partition@80000 {
+					reg = <0x80000 0x27c0000>;
+					label = "rootfs";
+				};
 
-			partition@2840000 {
-				reg = <0x2840000 0x800000>;
-				label = "kernel";
-			};
+				partition@2840000 {
+					reg = <0x2840000 0x800000>;
+					label = "kernel";
+				};
 
-			partition@3040000 {
-				reg = <0x3040000 0xec0000>;
-				label = "stock-jffs2";
-				read-only;
-			};
+				partition@3040000 {
+					reg = <0x3040000 0xec0000>;
+					label = "stock-jffs2";
+					read-only;
+				};
 
-			hwinfo: partition@3f00000 {
-				reg = <0x3f00000 0x20000>;
-				label = "hw-info";
-				read-only;
-			};
+				hwinfo: partition@3f00000 {
+					reg = <0x3f00000 0x20000>;
+					label = "hw-info";
+					read-only;
+				};
 
-			partition@3f20000 {
-				reg = <0x3f20000 0x20000>;
-				label = "boot-info";
-				read-only;
-			};
+				partition@3f20000 {
+					reg = <0x3f20000 0x20000>;
+					label = "boot-info";
+					read-only;
+				};
 
-			partition@3f40000 {
-				reg = <0x3f40000 0x20000>;
-				label = "boot-info-backup";
-				read-only;
-			};
+				partition@3f40000 {
+					reg = <0x3f40000 0x20000>;
+					label = "boot-info-backup";
+					read-only;
+				};
 
-			partition@3f60000 {
-				reg = <0x3f60000 0x20000>;
-				label = "u-boot-env";
-			};
+				partition@3f60000 {
+					reg = <0x3f60000 0x20000>;
+					label = "u-boot-env";
+				};
 
-			partition@3f80000 {
-				reg = <0x3f80000 0x80000>;
-				label = "u-boot";
-				read-only;
-			};
+				partition@3f80000 {
+					reg = <0x3f80000 0x80000>;
+					label = "u-boot";
+					read-only;
+				};
 
-			firmware@0 {
-				reg = <0x0 0x3040000>;
-				label = "firmware";
+				firmware@0 {
+					reg = <0x0 0x3040000>;
+					label = "firmware";
+				};
 			};
 		};
 	};
-- 
2.30.2