[OpenWrt-Devel] [PATCH v3 2/2] ramips: fix RBM11G partitioning

Thibaut VARÈNE hacks at slashdirt.org
Sat Aug 4 09:44:26 EDT 2018


This patch improves faf64056ddd46992a75b1e277d94541c7251035c by correcting
the partition scheme for the "RouterBoot" section of the flash.

The partition scheme initially submitted is incorrect and does not reflect
the actual flash structure.

The "RouterBoot" section (name matching OEM) is subdivided in several
static segments, as they are on ar71xx RB devices albeit with different
offsets and sizes.
The naming convention from ar71xx has been preserved, except for the
bootloaders which are named "bootloader1" and "bootloader2" to avoid
confusion with the master "RouterBoot" partition.
The preferred 'fixed-partitions' DTS node syntax is used, with nesting
support as introduced in 2a598bbaa3.
"partition" is used for node names, with associated "label" to match
policy set by 6dd94c2781.

Leave a note in DTS to explain how the original author selected the SPI speed.

Tested-by: Tobias Schramm <tobleminer at gmail.com>
Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
---
 target/linux/ramips/dts/RBM11G.dts | 45 ++++++++++++++++++++++++++++++--------
 1 file changed, 36 insertions(+), 9 deletions(-)

diff --git a/target/linux/ramips/dts/RBM11G.dts b/target/linux/ramips/dts/RBM11G.dts
index 800f230d95..41dabdd1a3 100644
--- a/target/linux/ramips/dts/RBM11G.dts
+++ b/target/linux/ramips/dts/RBM11G.dts
@@ -86,6 +86,7 @@
 	w25q128 at 0 {
 		compatible = "jedec,spi-nor";
 		reg = <0>;
+		// XXX empiric value to obtain actual 10MHz SCK at the chip
 		spi-max-frequency = <3125000>;
 
 		partitions {
@@ -94,15 +95,41 @@
 			#size-cells = <1>;
 
 			partition at 0 {
-				label = "routerboot";
-				reg = <0x000000 0x00F000>;
-				read-only;
-			};
-
-			factory: partition at f000 {
-				label = "factory";
-				reg = <0x00F000 0x031000>;
+				label = "RouterBoot";
+				reg = <0x0 0x40000>;
 				read-only;
+				compatible = "fixed-partitions";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				partition at 0 {
+					label = "bootloader1";
+					reg = <0x0 0xf000>;
+					read-only;
+				};
+
+				hard_config: partition at f000 {
+					label = "hard_config";
+					reg = <0xf000 0x1000>;
+					read-only;
+				};
+
+				partition at 10000 {
+					label = "bootloader2";
+					reg = <0x10000 0xf000>;
+					read-only;
+				};
+
+				partition at 20000 {
+					label = "soft_config";
+					reg = <0x20000 0x1000>;
+				};
+
+				partition at 30000 {
+					label = "bios";
+					reg = <0x30000 0x1000>;
+					read-only;
+				};
 			};
 
 			partition at 40000 {
@@ -114,7 +141,7 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x0010>;
+	mtd-mac-address = <&hard_config 0x0010>;
 	mtd-mac-address-increment = <1>;
 };
 
-- 
2.13.6 (Apple Git-96)


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list