From f44d3f99803be7ba5c38b26a2d8cbda1c301e893 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Thu, 17 Jul 2014 10:55:31 +0000
Subject: [PATCH] ramips: soc wmac eeprom cleanup

Move eeprom extraction from scripts to dts files.
Additionally there are few other changes like:
- whitespace fixes
- add partition labels where needed
- BR6524N board doesn't exist (lost in translation?)
- fix Edimax 3g-6200nl model
- add wmac eeprom to dts for Asus RT-N14U board

Compile tested all subtargets and their profiles.
Run tested on:
- Asus RT-N15
- Asus RT-N14U
- Buffalo WHR-600D
- Argus ATP52B
- Sparklan WCR-150GN

Few problems noted:
- many boards didn't have wmac eeprom information defined at all
- several boards don't have any patitions defined (see FIXME comments in dts)

Signed-off-by: Roman Yeryomin <roman@advem.lv>

SVN-Revision: 41680
---
 .../etc/hotplug.d/firmware/10-rt2x00-eeprom   | 106 +-----------------
 target/linux/ramips/base-files/lib/ramips.sh  |   3 -
 target/linux/ramips/dts/3G-6200N.dts          |   4 +
 target/linux/ramips/dts/3G-6200NL.dts         |   8 +-
 target/linux/ramips/dts/3G300M.dts            |   4 +
 target/linux/ramips/dts/AIR3GII.dts           |   4 +
 target/linux/ramips/dts/ALL0239-3G.dts        |   4 +
 target/linux/ramips/dts/ALL0256N-4M.dts       |   4 +
 target/linux/ramips/dts/ALL0256N-8M.dts       |   4 +
 target/linux/ramips/dts/ALL5002.dts           |   4 +
 target/linux/ramips/dts/ALL5003.dts           |   4 +
 target/linux/ramips/dts/ARGUS_ATP52B.dts      |   4 +
 target/linux/ramips/dts/ASL26555-16M.dts      |   6 +-
 target/linux/ramips/dts/ASL26555-8M.dts       |   5 +
 target/linux/ramips/dts/AWAPN2403.dts         |   4 +
 target/linux/ramips/dts/AWM002-EVB-4M.dts     |   4 +
 target/linux/ramips/dts/AWM002-EVB-8M.dts     |   4 +
 target/linux/ramips/dts/BC2.dts               |   4 +
 target/linux/ramips/dts/BR-6425.dts           |   4 +
 target/linux/ramips/dts/BR-6475ND.dts         |   4 +
 target/linux/ramips/dts/BROADWAY.dts          |   4 +
 target/linux/ramips/dts/CARAMBOLA.dts         |   4 +
 target/linux/ramips/dts/CY-SWR1100.dts        |   1 +
 target/linux/ramips/dts/D105.dts              |   4 +
 target/linux/ramips/dts/DAP-1350.dts          |   6 +-
 target/linux/ramips/dts/DCS-930.dts           |   4 +
 target/linux/ramips/dts/DIR-300-B1.dts        |   6 +-
 target/linux/ramips/dts/DIR-300-B7.dts        |   7 +-
 target/linux/ramips/dts/DIR-320-B1.dts        |   4 +
 target/linux/ramips/dts/DIR-600-B1.dts        |   6 +-
 target/linux/ramips/dts/DIR-600-B2.dts        |   6 +-
 target/linux/ramips/dts/DIR-610-A1.dts        |   2 +-
 target/linux/ramips/dts/DIR-615-D.dts         |   6 +-
 target/linux/ramips/dts/DIR-615-H1.dts        |   4 +
 target/linux/ramips/dts/DIR-620-A1.dts        |   4 +
 target/linux/ramips/dts/DIR-620-D1.dts        |   4 +
 target/linux/ramips/dts/DIR-645.dts           |   1 +
 target/linux/ramips/dts/ESR-9753.dts          |   4 +
 target/linux/ramips/dts/F5D8235_V1.dts        |   6 +-
 target/linux/ramips/dts/F5D8235_V2.dts        |   6 +-
 target/linux/ramips/dts/F7C027.dts            |   4 +
 target/linux/ramips/dts/FONERA20N.dts         |   4 +
 target/linux/ramips/dts/FREESTATION5.dts      |   4 +
 target/linux/ramips/dts/HG255D.dts            |   4 +
 target/linux/ramips/dts/HW550-3G.dts          |   4 +
 target/linux/ramips/dts/MOFI3500-3GN.dts      |   1 +
 target/linux/ramips/dts/MPRA1.dts             |   4 +
 target/linux/ramips/dts/MPRA2.dts             |   4 +
 target/linux/ramips/dts/MZK-750DHP.dts        |   4 +
 target/linux/ramips/dts/MZK-W300NH2.dts       |   4 +
 target/linux/ramips/dts/NBG-419N.dts          |   4 +
 target/linux/ramips/dts/NCS601W.dts           |   4 +
 target/linux/ramips/dts/NW718.dts             |   4 +
 target/linux/ramips/dts/OMNI-EMB-HPM.dts      |   4 +
 target/linux/ramips/dts/OMNI-EMB.dts          |   4 +
 target/linux/ramips/dts/PSR-680W.dts          |   4 +
 target/linux/ramips/dts/PWH2004.dts           |   4 +
 target/linux/ramips/dts/RT-G32-B1.dts         |   8 +-
 target/linux/ramips/dts/RT-N10-PLUS.dts       |   6 +-
 target/linux/ramips/dts/RT-N13U.dts           |   4 +
 target/linux/ramips/dts/RT-N14U.dts           |   4 +
 target/linux/ramips/dts/RT-N15.dts            |   4 +
 target/linux/ramips/dts/RTN56U.dts            |   2 +-
 target/linux/ramips/dts/RUT5XX.dts            |   4 +
 target/linux/ramips/dts/SL-R7205.dts          |   4 +
 target/linux/ramips/dts/UR-326N4G.dts         |   4 +
 target/linux/ramips/dts/UR-336UN.dts          |  10 +-
 target/linux/ramips/dts/V11STFE.dts           |   6 +-
 target/linux/ramips/dts/V22RW-2X2.dts         |   4 +
 target/linux/ramips/dts/W150M.dts             |   4 +
 target/linux/ramips/dts/W306R_V20.dts         |   4 +
 target/linux/ramips/dts/W502U.dts             |   4 +
 target/linux/ramips/dts/WCR150GN.dts          |   4 +
 target/linux/ramips/dts/WHR-1166D.dts         |   4 +
 target/linux/ramips/dts/WHR-300HP2.dts        |   4 +
 target/linux/ramips/dts/WHR-600D.dts          |   4 +
 target/linux/ramips/dts/WHR-G300N.dts         |   5 +
 target/linux/ramips/dts/WL-351.dts            |   4 +
 target/linux/ramips/dts/WL341V3.dts           |   6 +-
 target/linux/ramips/dts/WLI-TX4-AG300N.dts    |   4 +
 target/linux/ramips/dts/WL_330N.dts           |   4 +
 target/linux/ramips/dts/WL_330N3G.dts         |   4 +
 target/linux/ramips/dts/WMR300.dts            |   4 +
 target/linux/ramips/dts/WNCE2001.dts          |   4 +
 target/linux/ramips/dts/WR512-3GN-4M.dts      |   4 +
 target/linux/ramips/dts/WR512-3GN-8M.dts      |   4 +
 target/linux/ramips/dts/WR6202.dts            |   4 +
 target/linux/ramips/dts/WR8305RT.dts          |   4 +
 target/linux/ramips/dts/WRTNODE.dts           |   4 +
 target/linux/ramips/dts/XDXRN502J.dts         |   4 +
 90 files changed, 358 insertions(+), 131 deletions(-)

diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
index 18a0448de4..2a5a80c4bf 100644
--- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
+++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
@@ -31,112 +31,8 @@ board=$(ramips_board_name)
 case "$FIRMWARE" in
 "soc_wmac.eeprom")
 	case $board in
-	asl26555 | \
-	dir-300-b1 | \
-	dir-600-b1 | \
-	dir-600-b2 | \
-	dir-610-a1 | \
-	dir-615-d)
-		rt2x00_eeprom_extract "devdata" 16384 512
-		;;
-
-	dap-1350)
-		rt2x00_eeprom_extract "devdata" 0 512
-		;;
-
-	rt-n10-plus | \
-	rt-g32-b1)
-		rt2x00_eeprom_extract "devconf" 0 512
-		;;
-
-	f5d8235-v1 | \
-	f5d8235-v2)
-		rt2x00_eeprom_extract "u-boot" 262144 512
-		;;
-
-	3g-6200n | \
-	3g-6200nl | \
-	3g300m | \
-	air3gii | \
-	all0239-3g | \
-	all0256n | \
-	all5002 | \
-	all5003 | \
-	argus-atp52b | \
-	awm002-evb | \
-	awapn2403 | \
-	bc2 | \
-	br6425 | \
-	br-6475nd | \
-	broadway | \
-	br6524n | \
-	carambola | \
-	cy-swr1100 | \
-	d105 | \
-	dcs-930 | \
-	dir-300-b7 | \
-	dir-320-b1 | \
-	dir-615-h1 | \
-	dir-620-a1 | \
-	dir-620-d1 | \
-	dir-645 | \
-	esr-9753 | \
-	f7c027 | \
-	fonera20n | \
-	rt-n13u | \
-	freestation5 | \
-	hlk-rm04 | \
-	hw550-3g | \
-	mofi3500-3gn | \
-	mpr-a1 | \
-	mpr-a2 | \
-	mzk-750dhp | \
-	pwh2004 | \
-	ncs601w | \
-	nbg-419n | \
-	nw718 | \
-	omni-emb | \
-	omni-emb-hpm | \
-	psr-680w | \
-	px4885 | \
-	rt-n15 | \
-	rt-n56u | \
-	rut5xx | \
-	sl-r7205 | \
-	v11st-fe | \
-	v22rw-2x2 | \
-	w306r-v20 | \
-	w150m | \
-	w502u | \
-	wcr-150gn | \
-	whr-g300n | \
-	whr-300hp2 | \
-	whr-600d | \
-	whr-1166d | \
-	wl-330n | \
-	wl-330n3g | \
-	wl-351 | \
-	wli-tx4-ag300n | \
-	wmr300 | \
-	wnce2001 | \
-	wr512-3gn | \
-	wr6202 | \
-	wr8305rt | \
-	wrtnode | \
-	mzk-w300nh2 | \
-	ur-326n4g | \
-	ur-336un | \
-	xdxrn502j | \
-	hg255d)
-		rt2x00_eeprom_extract "factory" 0 512
-		;;
-
-	wl341v3)
-		rt2x00_eeprom_extract "board-nvram" 64880 512
-		;;
-
 	*)
-		rt2x00_eeprom_die "board $board is not supported yet"
+		rt2x00_eeprom_die "Please define mtd-eeprom in $board DTS file!"
 		;;
 	esac
 	;;
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 2e831d2931..f9ab1e33ba 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -58,9 +58,6 @@ ramips_board_detect() {
 	*"AsiaRF AWAPN2403")
 		name="awapn2403"
 		;;
-	*"BR6524N")
-		name="br6524n"
-		;;
 	*"Asus WL-330N")
 		name="wl-330n"
 		;;
diff --git a/target/linux/ramips/dts/3G-6200N.dts b/target/linux/ramips/dts/3G-6200N.dts
index 0be8c7252c..a19ed452f6 100644
--- a/target/linux/ramips/dts/3G-6200N.dts
+++ b/target/linux/ramips/dts/3G-6200N.dts
@@ -62,6 +62,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		power {
diff --git a/target/linux/ramips/dts/3G-6200NL.dts b/target/linux/ramips/dts/3G-6200NL.dts
index 265806154a..6a2f46f2b3 100644
--- a/target/linux/ramips/dts/3G-6200NL.dts
+++ b/target/linux/ramips/dts/3G-6200NL.dts
@@ -3,8 +3,8 @@
 /include/ "rt3050.dtsi"
 
 / {
-	compatible = "3G-6200N", "ralink,rt3050-soc";
-	model = "Edimax 3g-6200n";
+	compatible = "3G-6200NL", "ralink,rt3050-soc";
+	model = "Edimax 3g-6200nl";
 
 	pinctrl {
 		state_default: pinctrl0 {
@@ -58,6 +58,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		wlan {
diff --git a/target/linux/ramips/dts/3G300M.dts b/target/linux/ramips/dts/3G300M.dts
index 93e864f6a8..5095927c5b 100644
--- a/target/linux/ramips/dts/3G300M.dts
+++ b/target/linux/ramips/dts/3G300M.dts
@@ -105,6 +105,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/AIR3GII.dts b/target/linux/ramips/dts/AIR3GII.dts
index 1276574e93..4a265460e0 100644
--- a/target/linux/ramips/dts/AIR3GII.dts
+++ b/target/linux/ramips/dts/AIR3GII.dts
@@ -64,6 +64,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		wlan {
diff --git a/target/linux/ramips/dts/ALL0239-3G.dts b/target/linux/ramips/dts/ALL0239-3G.dts
index fe1eba960b..4da69a7329 100644
--- a/target/linux/ramips/dts/ALL0239-3G.dts
+++ b/target/linux/ramips/dts/ALL0239-3G.dts
@@ -57,6 +57,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		usb {
diff --git a/target/linux/ramips/dts/ALL0256N-4M.dts b/target/linux/ramips/dts/ALL0256N-4M.dts
index e92118f17e..581934a532 100644
--- a/target/linux/ramips/dts/ALL0256N-4M.dts
+++ b/target/linux/ramips/dts/ALL0256N-4M.dts
@@ -64,6 +64,10 @@
 		ralink,portmap = <0x3f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		rssilow {
diff --git a/target/linux/ramips/dts/ALL0256N-8M.dts b/target/linux/ramips/dts/ALL0256N-8M.dts
index 6a704f1a24..c4815d968d 100644
--- a/target/linux/ramips/dts/ALL0256N-8M.dts
+++ b/target/linux/ramips/dts/ALL0256N-8M.dts
@@ -64,6 +64,10 @@
 		ralink,portmap = <0x3f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		rssilow {
diff --git a/target/linux/ramips/dts/ALL5002.dts b/target/linux/ramips/dts/ALL5002.dts
index 827e9df05b..7c195714a0 100644
--- a/target/linux/ramips/dts/ALL5002.dts
+++ b/target/linux/ramips/dts/ALL5002.dts
@@ -64,6 +64,10 @@
 		ralink,portmap = <0x3f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	ehci@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/ALL5003.dts b/target/linux/ramips/dts/ALL5003.dts
index d599e71efc..0d21508fba 100644
--- a/target/linux/ramips/dts/ALL5003.dts
+++ b/target/linux/ramips/dts/ALL5003.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x3f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	ehci@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/ARGUS_ATP52B.dts b/target/linux/ramips/dts/ARGUS_ATP52B.dts
index fb04f017d5..66108b1fb5 100644
--- a/target/linux/ramips/dts/ARGUS_ATP52B.dts
+++ b/target/linux/ramips/dts/ARGUS_ATP52B.dts
@@ -83,6 +83,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/ASL26555-16M.dts b/target/linux/ramips/dts/ASL26555-16M.dts
index 568d8f9d64..bd45bc305b 100644
--- a/target/linux/ramips/dts/ASL26555-16M.dts
+++ b/target/linux/ramips/dts/ASL26555-16M.dts
@@ -50,7 +50,7 @@
 					reg = <0xfe0000 0x10000>;
 					read-only;
 				};
-				partition@ff0000 {
+				devdata: partition@ff0000 {
 					label = "devdata";
 					reg = <0xff0000 0x10000>;
 					read-only;
@@ -76,6 +76,10 @@
 		ralink,portmap = <0x1e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devdata 0x4000>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/ASL26555-8M.dts b/target/linux/ramips/dts/ASL26555-8M.dts
index 1ddbb1c984..d7e424d868 100644
--- a/target/linux/ramips/dts/ASL26555-8M.dts
+++ b/target/linux/ramips/dts/ASL26555-8M.dts
@@ -71,6 +71,11 @@
 		ralink,portmap = <0x1e>;
 	};
 
+	/* devdata partition seems to be missing */
+/*	wmac@10180000 {
+		ralink,mtd-eeprom = <&devdata 0x4000>;
+	};
+*/
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/AWAPN2403.dts b/target/linux/ramips/dts/AWAPN2403.dts
index 068c8005b2..2de04022c7 100644
--- a/target/linux/ramips/dts/AWAPN2403.dts
+++ b/target/linux/ramips/dts/AWAPN2403.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		link {
diff --git a/target/linux/ramips/dts/AWM002-EVB-4M.dts b/target/linux/ramips/dts/AWM002-EVB-4M.dts
index 61b2d76b32..12887d8481 100644
--- a/target/linux/ramips/dts/AWM002-EVB-4M.dts
+++ b/target/linux/ramips/dts/AWM002-EVB-4M.dts
@@ -5,6 +5,10 @@
 / {
 	model = "AsiaRF AWM002 EVB";
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		tx {
diff --git a/target/linux/ramips/dts/AWM002-EVB-8M.dts b/target/linux/ramips/dts/AWM002-EVB-8M.dts
index dd1ce4cf54..3be34bffa5 100644
--- a/target/linux/ramips/dts/AWM002-EVB-8M.dts
+++ b/target/linux/ramips/dts/AWM002-EVB-8M.dts
@@ -5,6 +5,10 @@
 / {
 	model = "AsiaRF AWM002 EVB";
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		tx {
diff --git a/target/linux/ramips/dts/BC2.dts b/target/linux/ramips/dts/BC2.dts
index 54adbafad6..0524f2d6d2 100644
--- a/target/linux/ramips/dts/BC2.dts
+++ b/target/linux/ramips/dts/BC2.dts
@@ -76,6 +76,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/BR-6425.dts b/target/linux/ramips/dts/BR-6425.dts
index 7df63c6583..6f836c832f 100644
--- a/target/linux/ramips/dts/BR-6425.dts
+++ b/target/linux/ramips/dts/BR-6425.dts
@@ -33,6 +33,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		power {
diff --git a/target/linux/ramips/dts/BR-6475ND.dts b/target/linux/ramips/dts/BR-6475ND.dts
index b348889d9b..60b8525609 100644
--- a/target/linux/ramips/dts/BR-6475ND.dts
+++ b/target/linux/ramips/dts/BR-6475ND.dts
@@ -37,6 +37,10 @@
 		};
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pci@10140000 {
 		status = "okay";
 
diff --git a/target/linux/ramips/dts/BROADWAY.dts b/target/linux/ramips/dts/BROADWAY.dts
index 25e3b89db9..db86f97476 100644
--- a/target/linux/ramips/dts/BROADWAY.dts
+++ b/target/linux/ramips/dts/BROADWAY.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		diskmounted {
diff --git a/target/linux/ramips/dts/CARAMBOLA.dts b/target/linux/ramips/dts/CARAMBOLA.dts
index 520450a5cc..c33ed420bf 100644
--- a/target/linux/ramips/dts/CARAMBOLA.dts
+++ b/target/linux/ramips/dts/CARAMBOLA.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x3f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/CY-SWR1100.dts b/target/linux/ramips/dts/CY-SWR1100.dts
index d0cc0e5fc5..2e0af387bd 100644
--- a/target/linux/ramips/dts/CY-SWR1100.dts
+++ b/target/linux/ramips/dts/CY-SWR1100.dts
@@ -49,6 +49,7 @@
 
 	wmac@10180000 {
 		status = "okay";
+		ralink,mtd-eeprom = <&factory 0>;
 	};
 
 	ehci@101c0000 {
diff --git a/target/linux/ramips/dts/D105.dts b/target/linux/ramips/dts/D105.dts
index c19e0dabb0..42f6fd3c6d 100644
--- a/target/linux/ramips/dts/D105.dts
+++ b/target/linux/ramips/dts/D105.dts
@@ -80,6 +80,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/DAP-1350.dts b/target/linux/ramips/dts/DAP-1350.dts
index 1fd9e9a7e5..0513f576af 100644
--- a/target/linux/ramips/dts/DAP-1350.dts
+++ b/target/linux/ramips/dts/DAP-1350.dts
@@ -34,7 +34,7 @@
 			read-only;
 		};
 
-		partition@30000 {
+		devdata: partition@30000 {
 			label = "devdata";
 			reg = <0x30000 0x10000>;
 			read-only;
@@ -62,6 +62,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devdata 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		power {
diff --git a/target/linux/ramips/dts/DCS-930.dts b/target/linux/ramips/dts/DCS-930.dts
index 8876d9b46a..a497c04d5d 100644
--- a/target/linux/ramips/dts/DCS-930.dts
+++ b/target/linux/ramips/dts/DCS-930.dts
@@ -122,6 +122,10 @@
 		};
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/DIR-300-B1.dts b/target/linux/ramips/dts/DIR-300-B1.dts
index 8c5fc52375..621bf088f1 100644
--- a/target/linux/ramips/dts/DIR-300-B1.dts
+++ b/target/linux/ramips/dts/DIR-300-B1.dts
@@ -30,7 +30,7 @@
 			read-only;
 		};
 
-		partition@30000 {
+		devdata: partition@30000 {
 			label = "devdata";
 			reg = <0x30000 0x10000>;
 			read-only;
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devdata 0x4000>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/DIR-300-B7.dts b/target/linux/ramips/dts/DIR-300-B7.dts
index 492fd4ce8a..c1a1385c44 100644
--- a/target/linux/ramips/dts/DIR-300-B7.dts
+++ b/target/linux/ramips/dts/DIR-300-B7.dts
@@ -92,9 +92,10 @@
                 };
         };
 
-        wmac@10180000 {
-                status = "okay";
+	wmac@10180000 {
+		status = "okay";
 		ralink,led-polarity = <1>;
-        };
+		ralink,mtd-eeprom = <&factory 0>;
+	};
 };
 
diff --git a/target/linux/ramips/dts/DIR-320-B1.dts b/target/linux/ramips/dts/DIR-320-B1.dts
index 34d7944edc..8ec07c2e54 100644
--- a/target/linux/ramips/dts/DIR-320-B1.dts
+++ b/target/linux/ramips/dts/DIR-320-B1.dts
@@ -61,6 +61,10 @@
 		ralink,led_polarity = <0x17>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		status {
diff --git a/target/linux/ramips/dts/DIR-600-B1.dts b/target/linux/ramips/dts/DIR-600-B1.dts
index aa9309fbb7..17903793ee 100644
--- a/target/linux/ramips/dts/DIR-600-B1.dts
+++ b/target/linux/ramips/dts/DIR-600-B1.dts
@@ -30,7 +30,7 @@
 			read-only;
 		};
 
-		partition@30000 {
+		devdata: partition@30000 {
 			label = "devdata";
 			reg = <0x30000 0x10000>;
 			read-only;
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devdata 0x4000>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/DIR-600-B2.dts b/target/linux/ramips/dts/DIR-600-B2.dts
index f982ae0db7..70e4a508ea 100644
--- a/target/linux/ramips/dts/DIR-600-B2.dts
+++ b/target/linux/ramips/dts/DIR-600-B2.dts
@@ -30,7 +30,7 @@
 			read-only;
 		};
 
-		partition@30000 {
+		devdata: partition@30000 {
 			label = "devdata";
 			reg = <0x30000 0x10000>;
 			read-only;
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devdata 0x4000>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/DIR-610-A1.dts b/target/linux/ramips/dts/DIR-610-A1.dts
index e6c104163a..9893e7aa00 100644
--- a/target/linux/ramips/dts/DIR-610-A1.dts
+++ b/target/linux/ramips/dts/DIR-610-A1.dts
@@ -65,7 +65,7 @@
 	wmac@10180000 {
 		status = "okay";
 		ralink,led-polarity = <1>;
-		ralink,mtd-eeprom = <&devdata 16384>;
+		ralink,mtd-eeprom = <&devdata 0x4000>;
 	};
 
 	gpio-leds {
diff --git a/target/linux/ramips/dts/DIR-615-D.dts b/target/linux/ramips/dts/DIR-615-D.dts
index b27bca061b..1a67b2dcaa 100644
--- a/target/linux/ramips/dts/DIR-615-D.dts
+++ b/target/linux/ramips/dts/DIR-615-D.dts
@@ -30,7 +30,7 @@
 			read-only;
 		};
 
-		partition@30000 {
+		devdata: partition@30000 {
 			label = "devdata";
 			reg = <0x30000 0x10000>;
 			read-only;
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devdata 0x4000>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/DIR-615-H1.dts b/target/linux/ramips/dts/DIR-615-H1.dts
index 13d7f88c70..1165ff114f 100644
--- a/target/linux/ramips/dts/DIR-615-H1.dts
+++ b/target/linux/ramips/dts/DIR-615-H1.dts
@@ -68,6 +68,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		status {
diff --git a/target/linux/ramips/dts/DIR-620-A1.dts b/target/linux/ramips/dts/DIR-620-A1.dts
index 070edafde1..1ffa829e07 100644
--- a/target/linux/ramips/dts/DIR-620-A1.dts
+++ b/target/linux/ramips/dts/DIR-620-A1.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/DIR-620-D1.dts b/target/linux/ramips/dts/DIR-620-D1.dts
index c8632f067e..e4eeb3ee6d 100644
--- a/target/linux/ramips/dts/DIR-620-D1.dts
+++ b/target/linux/ramips/dts/DIR-620-D1.dts
@@ -68,6 +68,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		status {
diff --git a/target/linux/ramips/dts/DIR-645.dts b/target/linux/ramips/dts/DIR-645.dts
index 938055c8c9..0a9d83f85c 100644
--- a/target/linux/ramips/dts/DIR-645.dts
+++ b/target/linux/ramips/dts/DIR-645.dts
@@ -71,6 +71,7 @@
 
 	wmac@10180000 {
 		ralink,5ghz = <0>;
+		ralink,mtd-eeprom = <&factory 0>;
 	};
 
 	ehci@101c0000 {
diff --git a/target/linux/ramips/dts/ESR-9753.dts b/target/linux/ramips/dts/ESR-9753.dts
index 3760a465e0..39e4232d4c 100644
--- a/target/linux/ramips/dts/ESR-9753.dts
+++ b/target/linux/ramips/dts/ESR-9753.dts
@@ -84,4 +84,8 @@
 	esw@10110000 {
 		ralink,portmap = <0x3e>;
 	};
+
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
 };
diff --git a/target/linux/ramips/dts/F5D8235_V1.dts b/target/linux/ramips/dts/F5D8235_V1.dts
index 0d1e9a8af5..9026d82b73 100644
--- a/target/linux/ramips/dts/F5D8235_V1.dts
+++ b/target/linux/ramips/dts/F5D8235_V1.dts
@@ -62,10 +62,12 @@
 		};
 	};
 
-	wmac@480000 {
+	/* FIXME: no u-boot partition and 0x40000@uboot is out of boundaries */
+/*	wmac@480000 {
 		status = "okay";
+		ralink,mtd-eeprom = <&u-boot 0x40000>;
 	};
-
+*/
 	rtl8367s {
 		compatible = "realtek,rtl8367s";
 		gpio-sda = <&gpio0 1 0>;
diff --git a/target/linux/ramips/dts/F5D8235_V2.dts b/target/linux/ramips/dts/F5D8235_V2.dts
index 1b96cea764..7eaf16542b 100644
--- a/target/linux/ramips/dts/F5D8235_V2.dts
+++ b/target/linux/ramips/dts/F5D8235_V2.dts
@@ -25,7 +25,7 @@
 		#size-cells = <1>;
 
 		uboot: partition@0 {
-			label = "u-boot";
+			label = "uboot";
 			reg = <0x0 0x50000>;
 			read-only;
 		};
@@ -54,6 +54,10 @@
 		ralink,portmap = <0x3f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&uboot 0x40000>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/F7C027.dts b/target/linux/ramips/dts/F7C027.dts
index ea716257ef..f660ff8f86 100644
--- a/target/linux/ramips/dts/F7C027.dts
+++ b/target/linux/ramips/dts/F7C027.dts
@@ -68,6 +68,10 @@
 		};
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pinctrl {
 		state_default: pinctrl0 {
 			gpio {
diff --git a/target/linux/ramips/dts/FONERA20N.dts b/target/linux/ramips/dts/FONERA20N.dts
index bb85bab533..2e01457783 100644
--- a/target/linux/ramips/dts/FONERA20N.dts
+++ b/target/linux/ramips/dts/FONERA20N.dts
@@ -116,6 +116,10 @@
 		};
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/FREESTATION5.dts b/target/linux/ramips/dts/FREESTATION5.dts
index 603ec363ea..b221ae401b 100644
--- a/target/linux/ramips/dts/FREESTATION5.dts
+++ b/target/linux/ramips/dts/FREESTATION5.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x01>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/HG255D.dts b/target/linux/ramips/dts/HG255D.dts
index 7496ca5456..41b7ddd34e 100644
--- a/target/linux/ramips/dts/HG255D.dts
+++ b/target/linux/ramips/dts/HG255D.dts
@@ -112,6 +112,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/HW550-3G.dts b/target/linux/ramips/dts/HW550-3G.dts
index d107b55396..3be3fce7b4 100644
--- a/target/linux/ramips/dts/HW550-3G.dts
+++ b/target/linux/ramips/dts/HW550-3G.dts
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		usb {
diff --git a/target/linux/ramips/dts/MOFI3500-3GN.dts b/target/linux/ramips/dts/MOFI3500-3GN.dts
index 058b7a27a3..b988dd095b 100644
--- a/target/linux/ramips/dts/MOFI3500-3GN.dts
+++ b/target/linux/ramips/dts/MOFI3500-3GN.dts
@@ -96,6 +96,7 @@
 
 	wmac@10180000 {
 		status = "okay";
+		ralink,mtd-eeprom = <&factory 0>;
 	};
 
 	otg@101c0000 {
diff --git a/target/linux/ramips/dts/MPRA1.dts b/target/linux/ramips/dts/MPRA1.dts
index a869427264..9b4ee34df5 100644
--- a/target/linux/ramips/dts/MPRA1.dts
+++ b/target/linux/ramips/dts/MPRA1.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	ehci@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/MPRA2.dts b/target/linux/ramips/dts/MPRA2.dts
index 44141418c6..56d6f51597 100644
--- a/target/linux/ramips/dts/MPRA2.dts
+++ b/target/linux/ramips/dts/MPRA2.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	ehci@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/MZK-750DHP.dts b/target/linux/ramips/dts/MZK-750DHP.dts
index e25118791d..a32a1cd882 100644
--- a/target/linux/ramips/dts/MZK-750DHP.dts
+++ b/target/linux/ramips/dts/MZK-750DHP.dts
@@ -69,6 +69,10 @@
 		ralink,port4 = "ephy";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pcie@10140000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/MZK-W300NH2.dts b/target/linux/ramips/dts/MZK-W300NH2.dts
index 43a98ce97c..790092e1aa 100644
--- a/target/linux/ramips/dts/MZK-W300NH2.dts
+++ b/target/linux/ramips/dts/MZK-W300NH2.dts
@@ -62,6 +62,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		power {
diff --git a/target/linux/ramips/dts/NBG-419N.dts b/target/linux/ramips/dts/NBG-419N.dts
index 07c5b3c356..6ef27d006e 100644
--- a/target/linux/ramips/dts/NBG-419N.dts
+++ b/target/linux/ramips/dts/NBG-419N.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		power {
diff --git a/target/linux/ramips/dts/NCS601W.dts b/target/linux/ramips/dts/NCS601W.dts
index dcf0e727a9..9f3121b2f1 100644
--- a/target/linux/ramips/dts/NCS601W.dts
+++ b/target/linux/ramips/dts/NCS601W.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	ehci@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/NW718.dts b/target/linux/ramips/dts/NW718.dts
index c67b832794..fa49bf1035 100644
--- a/target/linux/ramips/dts/NW718.dts
+++ b/target/linux/ramips/dts/NW718.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		cpu {
diff --git a/target/linux/ramips/dts/OMNI-EMB-HPM.dts b/target/linux/ramips/dts/OMNI-EMB-HPM.dts
index ed94c5f6d7..4f4ecd492b 100644
--- a/target/linux/ramips/dts/OMNI-EMB-HPM.dts
+++ b/target/linux/ramips/dts/OMNI-EMB-HPM.dts
@@ -71,6 +71,10 @@
 		};
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	ehci@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/OMNI-EMB.dts b/target/linux/ramips/dts/OMNI-EMB.dts
index 146e79b245..c8bff4dd7d 100644
--- a/target/linux/ramips/dts/OMNI-EMB.dts
+++ b/target/linux/ramips/dts/OMNI-EMB.dts
@@ -76,6 +76,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/PSR-680W.dts b/target/linux/ramips/dts/PSR-680W.dts
index 62e5f720ed..509787ae8a 100644
--- a/target/linux/ramips/dts/PSR-680W.dts
+++ b/target/linux/ramips/dts/PSR-680W.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		wan {
diff --git a/target/linux/ramips/dts/PWH2004.dts b/target/linux/ramips/dts/PWH2004.dts
index bee5e0f266..f94370f39c 100644
--- a/target/linux/ramips/dts/PWH2004.dts
+++ b/target/linux/ramips/dts/PWH2004.dts
@@ -75,4 +75,8 @@
 	esw@10110000 {
 		ralink,portmap = <0x2f>;
 	};
+
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
 };
diff --git a/target/linux/ramips/dts/RT-G32-B1.dts b/target/linux/ramips/dts/RT-G32-B1.dts
index 5b4aebc093..396e683dfb 100644
--- a/target/linux/ramips/dts/RT-G32-B1.dts
+++ b/target/linux/ramips/dts/RT-G32-B1.dts
@@ -29,7 +29,7 @@
 					read-only;
 				};
 
-				factory: partition@40000 {
+				devconf: partition@40000 {
 					label = "devconf";
 					reg = <0x40000 0x10000>;
 					read-only;
@@ -53,13 +53,17 @@
 	};
 
 	ethernet@10100000 {
-		mtd-mac-address = <&factory 0x4>;
+		mtd-mac-address = <&devconf 0x4>;
 	};
 
 	esw@10110000 {
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devconf 0>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/RT-N10-PLUS.dts b/target/linux/ramips/dts/RT-N10-PLUS.dts
index 0606ccb245..b51030c712 100644
--- a/target/linux/ramips/dts/RT-N10-PLUS.dts
+++ b/target/linux/ramips/dts/RT-N10-PLUS.dts
@@ -27,7 +27,7 @@
 			read-only;
 		};
 
-		partition@40000 {
+		devconf: partition@40000 {
 			label = "devconf";
 			reg = <0x40000 0x10000>;
 			read-only;
@@ -43,6 +43,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&devconf 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		wps {
diff --git a/target/linux/ramips/dts/RT-N13U.dts b/target/linux/ramips/dts/RT-N13U.dts
index ed344858f4..cac0d94d98 100644
--- a/target/linux/ramips/dts/RT-N13U.dts
+++ b/target/linux/ramips/dts/RT-N13U.dts
@@ -90,6 +90,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/RT-N14U.dts b/target/linux/ramips/dts/RT-N14U.dts
index d95365bc0e..66ac0fc71b 100644
--- a/target/linux/ramips/dts/RT-N14U.dts
+++ b/target/linux/ramips/dts/RT-N14U.dts
@@ -66,6 +66,10 @@
 		ralink,port-map = "wllll";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pinctrl {
 		state_default: pinctrl0 {
 			default {
diff --git a/target/linux/ramips/dts/RT-N15.dts b/target/linux/ramips/dts/RT-N15.dts
index 893652055f..23842d48b8 100644
--- a/target/linux/ramips/dts/RT-N15.dts
+++ b/target/linux/ramips/dts/RT-N15.dts
@@ -76,6 +76,10 @@
 		gpio-sck = <&gpio0 2 0>;
 	};
 
+	wmac@480000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/RTN56U.dts b/target/linux/ramips/dts/RTN56U.dts
index 305e36e85b..4b7258333d 100644
--- a/target/linux/ramips/dts/RTN56U.dts
+++ b/target/linux/ramips/dts/RTN56U.dts
@@ -56,7 +56,7 @@
 	wmac@10180000 {
 		status = "okay";
 		ralink,2ghz = <0>;
-		ralink,eeprom = "soc_wmac.eeprom";
+		ralink,mtd-eeprom = <&factory 0>;
 	};
 
 	ehci@101c0000 {
diff --git a/target/linux/ramips/dts/RUT5XX.dts b/target/linux/ramips/dts/RUT5XX.dts
index 530b8b12fb..9ae6997352 100644
--- a/target/linux/ramips/dts/RUT5XX.dts
+++ b/target/linux/ramips/dts/RUT5XX.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		status {
diff --git a/target/linux/ramips/dts/SL-R7205.dts b/target/linux/ramips/dts/SL-R7205.dts
index 24bf940379..574de55b49 100644
--- a/target/linux/ramips/dts/SL-R7205.dts
+++ b/target/linux/ramips/dts/SL-R7205.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		wifi {
diff --git a/target/linux/ramips/dts/UR-326N4G.dts b/target/linux/ramips/dts/UR-326N4G.dts
index 4af10bb8f4..021efe584a 100644
--- a/target/linux/ramips/dts/UR-326N4G.dts
+++ b/target/linux/ramips/dts/UR-326N4G.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		3g {
diff --git a/target/linux/ramips/dts/UR-336UN.dts b/target/linux/ramips/dts/UR-336UN.dts
index 5ce7fa9efd..81d0be033f 100644
--- a/target/linux/ramips/dts/UR-336UN.dts
+++ b/target/linux/ramips/dts/UR-336UN.dts
@@ -25,14 +25,20 @@
 		#size-cells = <1>;
 	};
 
-	ethernet@10100000 {
+	/* FIXME: no partitions defined */
+/*	ethernet@10100000 {
 		mtd-mac-address = <&factory 0x4004>;
 	};
-
+*/
 	esw@10110000 {
 		ralink,portmap = <0x2f>;
 	};
 
+	/* FIXME: no partitions defined */
+/*	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+*/
 	gpio-leds {
 		compatible = "gpio-leds";
 		3g {
diff --git a/target/linux/ramips/dts/V11STFE.dts b/target/linux/ramips/dts/V11STFE.dts
index 54ead081dd..6fa6aa5c3e 100644
--- a/target/linux/ramips/dts/V11STFE.dts
+++ b/target/linux/ramips/dts/V11STFE.dts
@@ -24,6 +24,10 @@
 		status = "okay";
 	};
 
+	wmac@480000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pci@10140000 {
 		status = "okay";
 
@@ -54,7 +58,7 @@
 			read-only;
 		};
 
-		partition@40000 {
+		factory: partition@40000 {
 			reg = <0x00040000 0x00010000>;
 			label = "factory";
 			read-only;
diff --git a/target/linux/ramips/dts/V22RW-2X2.dts b/target/linux/ramips/dts/V22RW-2X2.dts
index 99e748e78d..7eff596676 100644
--- a/target/linux/ramips/dts/V22RW-2X2.dts
+++ b/target/linux/ramips/dts/V22RW-2X2.dts
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		security {
diff --git a/target/linux/ramips/dts/W150M.dts b/target/linux/ramips/dts/W150M.dts
index f3ab7191ca..915fb21d8a 100644
--- a/target/linux/ramips/dts/W150M.dts
+++ b/target/linux/ramips/dts/W150M.dts
@@ -100,4 +100,8 @@
 	esw@10110000 {
 		ralink,portmap = <0x2f>;
 	};
+
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
 };
diff --git a/target/linux/ramips/dts/W306R_V20.dts b/target/linux/ramips/dts/W306R_V20.dts
index 3f57b35bd8..1c2cf6af88 100644
--- a/target/linux/ramips/dts/W306R_V20.dts
+++ b/target/linux/ramips/dts/W306R_V20.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		sys {
diff --git a/target/linux/ramips/dts/W502U.dts b/target/linux/ramips/dts/W502U.dts
index af448eb7b1..6d3282ea64 100644
--- a/target/linux/ramips/dts/W502U.dts
+++ b/target/linux/ramips/dts/W502U.dts
@@ -60,6 +60,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		usb {
diff --git a/target/linux/ramips/dts/WCR150GN.dts b/target/linux/ramips/dts/WCR150GN.dts
index 976754eac1..2a4fa11565 100644
--- a/target/linux/ramips/dts/WCR150GN.dts
+++ b/target/linux/ramips/dts/WCR150GN.dts
@@ -85,6 +85,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/WHR-1166D.dts b/target/linux/ramips/dts/WHR-1166D.dts
index 47e0b1b6ed..d62be1e10e 100644
--- a/target/linux/ramips/dts/WHR-1166D.dts
+++ b/target/linux/ramips/dts/WHR-1166D.dts
@@ -73,6 +73,10 @@
 		ralink,port4 = "ephy";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pcie@10140000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/WHR-300HP2.dts b/target/linux/ramips/dts/WHR-300HP2.dts
index 28917fec93..f3f2a9397d 100644
--- a/target/linux/ramips/dts/WHR-300HP2.dts
+++ b/target/linux/ramips/dts/WHR-300HP2.dts
@@ -77,6 +77,10 @@
 		ralink,port4 = "ephy";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		power {
diff --git a/target/linux/ramips/dts/WHR-600D.dts b/target/linux/ramips/dts/WHR-600D.dts
index df38b8c951..5b4b900edc 100644
--- a/target/linux/ramips/dts/WHR-600D.dts
+++ b/target/linux/ramips/dts/WHR-600D.dts
@@ -74,6 +74,10 @@
 		ralink,port4 = "ephy";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pcie@10140000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/WHR-G300N.dts b/target/linux/ramips/dts/WHR-G300N.dts
index 8cec31e033..30541313ad 100644
--- a/target/linux/ramips/dts/WHR-G300N.dts
+++ b/target/linux/ramips/dts/WHR-G300N.dts
@@ -29,6 +29,11 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	/* FIXME: no partitions defined */
+/*	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+*/
 	gpio-leds {
 		compatible = "gpio-leds";
 		diag {
diff --git a/target/linux/ramips/dts/WL-351.dts b/target/linux/ramips/dts/WL-351.dts
index 1e6705c02c..fd30160692 100644
--- a/target/linux/ramips/dts/WL-351.dts
+++ b/target/linux/ramips/dts/WL-351.dts
@@ -64,6 +64,10 @@
 		ralink,fpa2 = <0x1f003fff>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/WL341V3.dts b/target/linux/ramips/dts/WL341V3.dts
index 70317c7eee..1271cfadbc 100644
--- a/target/linux/ramips/dts/WL341V3.dts
+++ b/target/linux/ramips/dts/WL341V3.dts
@@ -21,7 +21,7 @@
 			read-only;
 		};
 
-		partition@20000 {
+		boardnvram: partition@20000 {
 			label = "board-nvram";
 			reg = <0x20000 0x10000>;
 			read-only;
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&boardnvram 0xfd70>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		first {
diff --git a/target/linux/ramips/dts/WLI-TX4-AG300N.dts b/target/linux/ramips/dts/WLI-TX4-AG300N.dts
index 063caed87b..b144ca9986 100644
--- a/target/linux/ramips/dts/WLI-TX4-AG300N.dts
+++ b/target/linux/ramips/dts/WLI-TX4-AG300N.dts
@@ -59,6 +59,10 @@
 		};
 	};
 
+	wmac@480000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-keys-polled {
 		compatible = "gpio-keys-polled";
 		#address-cells = <1>;
diff --git a/target/linux/ramips/dts/WL_330N.dts b/target/linux/ramips/dts/WL_330N.dts
index 4fc4368c3f..999a29d330 100644
--- a/target/linux/ramips/dts/WL_330N.dts
+++ b/target/linux/ramips/dts/WL_330N.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		link {
diff --git a/target/linux/ramips/dts/WL_330N3G.dts b/target/linux/ramips/dts/WL_330N3G.dts
index 1c88ed31aa..3b29104af5 100644
--- a/target/linux/ramips/dts/WL_330N3G.dts
+++ b/target/linux/ramips/dts/WL_330N3G.dts
@@ -56,6 +56,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		3g {
diff --git a/target/linux/ramips/dts/WMR300.dts b/target/linux/ramips/dts/WMR300.dts
index 56cf6a60f1..b6bce43575 100644
--- a/target/linux/ramips/dts/WMR300.dts
+++ b/target/linux/ramips/dts/WMR300.dts
@@ -53,6 +53,10 @@
 		ralink,port-map = "wllll";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pinctrl {
 		state_default: pinctrl0 {
 			default {
diff --git a/target/linux/ramips/dts/WNCE2001.dts b/target/linux/ramips/dts/WNCE2001.dts
index 10910afe31..d8a3b0badf 100644
--- a/target/linux/ramips/dts/WNCE2001.dts
+++ b/target/linux/ramips/dts/WNCE2001.dts
@@ -77,6 +77,10 @@
 		mtd-mac-address = <&factory 0x28>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		power-green {
diff --git a/target/linux/ramips/dts/WR512-3GN-4M.dts b/target/linux/ramips/dts/WR512-3GN-4M.dts
index fccd04aed9..0098970247 100644
--- a/target/linux/ramips/dts/WR512-3GN-4M.dts
+++ b/target/linux/ramips/dts/WR512-3GN-4M.dts
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		3g {
diff --git a/target/linux/ramips/dts/WR512-3GN-8M.dts b/target/linux/ramips/dts/WR512-3GN-8M.dts
index 01da52340e..20a325cd71 100644
--- a/target/linux/ramips/dts/WR512-3GN-8M.dts
+++ b/target/linux/ramips/dts/WR512-3GN-8M.dts
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x2f>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		3g {
diff --git a/target/linux/ramips/dts/WR6202.dts b/target/linux/ramips/dts/WR6202.dts
index ed3e70851d..a769a98abc 100644
--- a/target/linux/ramips/dts/WR6202.dts
+++ b/target/linux/ramips/dts/WR6202.dts
@@ -85,6 +85,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	otg@101c0000 {
 		status = "okay";
 	};
diff --git a/target/linux/ramips/dts/WR8305RT.dts b/target/linux/ramips/dts/WR8305RT.dts
index 81653f509d..c28e422eea 100644
--- a/target/linux/ramips/dts/WR8305RT.dts
+++ b/target/linux/ramips/dts/WR8305RT.dts
@@ -64,6 +64,10 @@
 		ralink,port-map = "llllw";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pinctrl {
 		state_default: pinctrl0 {
 			ephy {
diff --git a/target/linux/ramips/dts/WRTNODE.dts b/target/linux/ramips/dts/WRTNODE.dts
index 2e0b71bcc2..3fb2303e02 100644
--- a/target/linux/ramips/dts/WRTNODE.dts
+++ b/target/linux/ramips/dts/WRTNODE.dts
@@ -65,6 +65,10 @@
 		ralink,port-map = "wllll";
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	pinctrl {
 		state_default: pinctrl0 {
 			default {
diff --git a/target/linux/ramips/dts/XDXRN502J.dts b/target/linux/ramips/dts/XDXRN502J.dts
index 628324cfbb..000f9db405 100644
--- a/target/linux/ramips/dts/XDXRN502J.dts
+++ b/target/linux/ramips/dts/XDXRN502J.dts
@@ -52,6 +52,10 @@
 		ralink,portmap = <0x3e>;
 	};
 
+	wmac@10180000 {
+		ralink,mtd-eeprom = <&factory 0>;
+	};
+
 	gpio-leds {
 		compatible = "gpio-leds";
 		wifi {
-- 
GitLab