فهرست منبع

apm821xx: add u-boot,env compatible

Note about the MyBook Live.
The MyBook Live didn't have the encompassing fixed-partitions.
This is needed for the u-boot,env compatible to be read as otherwise
the kernel assumes this is a legacy NOR/NAND node and this binding
is unsupported.

Signed-off-by: Christian Lamparter <[email protected]>
Christian Lamparter 2 سال پیش
والد
کامیت
7e53473ee8

+ 1 - 0
target/linux/apm821xx/config-6.1

@@ -153,6 +153,7 @@ CONFIG_NR_CPUS=1
 CONFIG_NR_IRQS=512
 CONFIG_NVMEM=y
 CONFIG_NVMEM_SYSFS=y
+CONFIG_NVMEM_U_BOOT_ENV=y
 CONFIG_OF=y
 CONFIG_OF_ADDRESS=y
 CONFIG_OF_EARLY_FLATTREE=y

+ 5 - 4
target/linux/apm821xx/dts/meraki-mr24.dts

@@ -63,10 +63,11 @@
 				 * blocks (64KiB) in order to have spares
 				 * around for bad block management
 				 */
-					label = "u-boot-env";
-					reg = <0x00150000 0x00010000>;
-					read-only;
-				};
+				label = "u-boot-env";
+				compatible = "u-boot,env";
+				reg = <0x00150000 0x00010000>;
+				read-only;
+			};
 
 			partition@160000 {
 				/*

+ 1 - 0
target/linux/apm821xx/dts/meraki-mx60.dts

@@ -61,6 +61,7 @@
 			partition@100000 {
 				label = "u-boot-env";
 				reg = <0x00100000 0x00100000>;
+				compatible = "u-boot,env";
 				read-only;
 			};
 

+ 19 - 1
target/linux/apm821xx/dts/netgear-wndap6x0.dtsi

@@ -47,11 +47,29 @@
 			};
 
 			partition@100000 {
+				compatible = "u-boot,env";
 				label = "u-boot-env";
-				reg = <0x00100000 0x00010000>;
+				reg = <0x00100000 0x0004000>;
 				read-only;
+
+				ethaddr {
+				};
+
+				bootcmd {
+				};
+
+				serno {
+				};
+
+				ProductID {
+				};
+
+				HardwareVer {
+				};
 			};
 
+			/* 0x104000 - 0x10ffff free */
+
 			partition@110000 {
 				label = "firmware";
 				reg = <0x00110000 0x01ac0000>;

+ 48 - 19
target/linux/apm821xx/dts/wd-mybooklive.dts

@@ -21,30 +21,59 @@
 &POB0 {
 	ebc {
 		nor_flash@0,0 {
-			status = "okay";
-			compatible = "microchip,sst39vf040", "jedec-flash";
-			bank-width = <1>;
-			reg = <0x00000000 0x00000000 0x00080000>;
+		        status = "okay";
+		        compatible = "jedec-flash"; /* "microchip,sst39vf040 */
+		        bank-width = <1>;
+		        reg = <0x00000000 0x00000000 0x00080000>;
 			#address-cells = <1>;
 			#size-cells = <1>;
 
-			partition@0 {
-				/* Part of bootrom - Don't use it without a jump */
-				label = "free";
-				reg = <0x00000000 0x0001e000>;
-				read-only;
-			};
+			partitions {
+				compatible = "fixed-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				partition@0 {
+					/* Part of bootrom - Don't use it without a jump */
+					label = "free";
+					reg = <0x00000000 0x0001e000>;
+					read-only;
+				};
+
+				partition@1e000 {
+					compatible = "fixed-partitions";
+					reg = <0x0001e000 0x00002000>;
+					label = "u-boot-env";
+					#address-cells = <1>;
+					#size-cells = <1>;
+
+					partition@0 {
+						compatible = "u-boot,env-redundant-bool";
+						reg = <0x00000000 0x00001000>;
+						label = "u-boot-env-1";
+
+						ethaddr {
+						};
+					};
+
+/*
+ * Causes the following warning: * sysfs: cannot create duplicate filename '/bus/nvmem/devices/u-boot-env0'
+ *
+ *					partition@1000 {
+ *						compatible = "u-boot,env-redundant-bool";
+ *						reg = <0x00001000 0x00001000>;
+ *						label = "u-boot-env-2";
+ *
+ *					};
+ */
+				};
 
-			partition@1e000 {
-				label = "env";
-				reg = <0x0001e000 0x00002000>;
-				read-only;
-			};
 
-			partition@20000 {
-				label = "uboot";
-				reg = <0x00020000 0x00050000>;
-				read-only;
+				partition@20000 {
+					label = "uboot";
+					reg = <0x00020000 0x00050000>;
+					read-only;
+				};
 			};
 		};
 	};