Просмотр исходного кода

ramips: convert mtd-mac-address to nvmem implementation

Define nvmem-cells and convert mtd-mac-address to nvmem implementation.
The conversion is done with an automated script.

Signed-off-by: Ansuel Smith <[email protected]>
Ansuel Smith 4 лет назад
Родитель
Сommit
06bb4a5018
100 измененных файлов с 1263 добавлено и 122 удалено
  1. 12 1
      target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts
  2. 12 1
      target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts
  3. 12 1
      target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts
  4. 12 1
      target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts
  5. 12 1
      target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi
  6. 12 1
      target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts
  7. 12 1
      target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts
  8. 12 1
      target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts
  9. 12 1
      target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts
  10. 16 3
      target/linux/ramips/dts/mt7620a_cameo_810.dtsi
  11. 12 1
      target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts
  12. 12 1
      target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts
  13. 12 1
      target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts
  14. 12 1
      target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts
  15. 12 1
      target/linux/ramips/dts/mt7620a_dlink_dwr-960.dts
  16. 12 1
      target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts
  17. 12 1
      target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts
  18. 12 1
      target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi
  19. 12 1
      target/linux/ramips/dts/mt7620a_engenius_esr600.dts
  20. 12 1
      target/linux/ramips/dts/mt7620a_fon_fon2601.dts
  21. 12 1
      target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts
  22. 12 1
      target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts
  23. 12 1
      target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts
  24. 12 1
      target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts
  25. 12 1
      target/linux/ramips/dts/mt7620a_hiwifi_hc5861.dts
  26. 12 1
      target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi
  27. 12 1
      target/linux/ramips/dts/mt7620a_hnet_c108.dts
  28. 12 1
      target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts
  29. 12 1
      target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts
  30. 12 1
      target/linux/ramips/dts/mt7620a_iptime.dtsi
  31. 12 1
      target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts
  32. 12 1
      target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts
  33. 12 1
      target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts
  34. 12 1
      target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dts
  35. 12 1
      target/linux/ramips/dts/mt7620a_lenovo_newifi-y1s.dts
  36. 12 1
      target/linux/ramips/dts/mt7620a_linksys_e1700.dts
  37. 12 1
      target/linux/ramips/dts/mt7620a_microduino_microwrt.dts
  38. 12 1
      target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi
  39. 12 1
      target/linux/ramips/dts/mt7620a_netis_wf2770.dts
  40. 12 1
      target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts
  41. 12 1
      target/linux/ramips/dts/mt7620a_phicomm_k2g.dts
  42. 12 1
      target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts
  43. 12 1
      target/linux/ramips/dts/mt7620a_phicomm_psg1218a.dts
  44. 12 1
      target/linux/ramips/dts/mt7620a_phicomm_psg1218b.dts
  45. 12 1
      target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts
  46. 12 1
      target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts
  47. 12 1
      target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts
  48. 12 1
      target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts
  49. 12 1
      target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts
  50. 12 1
      target/linux/ramips/dts/mt7620a_sanlinking_d240.dts
  51. 16 3
      target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts
  52. 14 2
      target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts
  53. 14 2
      target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts
  54. 14 2
      target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts
  55. 12 1
      target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts
  56. 12 1
      target/linux/ramips/dts/mt7620a_tplink_archer.dtsi
  57. 16 3
      target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi
  58. 12 1
      target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts
  59. 12 1
      target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts
  60. 12 1
      target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts
  61. 12 1
      target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi
  62. 12 1
      target/linux/ramips/dts/mt7620a_yukai_bocco.dts
  63. 12 1
      target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts
  64. 12 1
      target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi
  65. 12 1
      target/linux/ramips/dts/mt7620a_zte_q7.dts
  66. 12 1
      target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts
  67. 12 1
      target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts
  68. 12 1
      target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts
  69. 12 1
      target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts
  70. 12 1
      target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts
  71. 12 1
      target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts
  72. 12 1
      target/linux/ramips/dts/mt7620n_kimax_u35wf.dts
  73. 12 1
      target/linux/ramips/dts/mt7620n_kingston_mlw221.dts
  74. 12 1
      target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts
  75. 12 1
      target/linux/ramips/dts/mt7620n_netgear_n300.dtsi
  76. 12 1
      target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi
  77. 12 1
      target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts
  78. 12 1
      target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts
  79. 12 1
      target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts
  80. 12 1
      target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts
  81. 12 1
      target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts
  82. 12 1
      target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts
  83. 12 1
      target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts
  84. 12 1
      target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts
  85. 14 2
      target/linux/ramips/dts/mt7621_adslr_g7.dts
  86. 14 2
      target/linux/ramips/dts/mt7621_afoundry_ew1200.dts
  87. 18 2
      target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts
  88. 12 1
      target/linux/ramips/dts/mt7621_asiarf_ap7621-001.dts
  89. 12 1
      target/linux/ramips/dts/mt7621_asiarf_ap7621-nv1.dts
  90. 12 1
      target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi
  91. 18 2
      target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts
  92. 12 1
      target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi
  93. 18 2
      target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts
  94. 12 1
      target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts
  95. 12 1
      target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts
  96. 18 4
      target/linux/ramips/dts/mt7621_cudy_wr1300.dts
  97. 15 3
      target/linux/ramips/dts/mt7621_cudy_wr2100.dts
  98. 18 2
      target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts
  99. 18 2
      target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts
  100. 14 2
      target/linux/ramips/dts/mt7621_dlink_dir-1960-a1.dts

+ 12 - 1
target/linux/ramips/dts/mt7620a_aigale_ai-br100.dts

@@ -103,7 +103,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -111,3 +112,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_alfa-network_ac1200rm.dts

@@ -55,7 +55,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -148,3 +149,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_alfa-network_r36m-e4g.dts

@@ -126,7 +126,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 };
 
 &gpio1 {
@@ -209,3 +210,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_alfa-network_tube-e4g.dts

@@ -103,7 +103,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 };
 
 &gpio1 {
@@ -178,3 +179,13 @@
 &wmac {
 	status = "disabled";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_asus_rt-ac5x.dtsi

@@ -122,7 +122,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -134,3 +135,13 @@
 &pcie {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_bdcom_wap2100-sk.dts

@@ -117,7 +117,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -144,3 +145,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts

@@ -139,7 +139,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@5 {
 		status = "okay";
@@ -173,3 +174,13 @@
 		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts

@@ -139,7 +139,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -149,3 +150,13 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pa_pins>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_buffalo_whr-600d.dts

@@ -139,7 +139,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -159,3 +160,13 @@
 		ralink,mtd-eeprom = <&factory 0x8000>;
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 16 - 3
target/linux/ramips/dts/mt7620a_cameo_810.dtsi

@@ -127,7 +127,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -141,7 +142,8 @@
 	pinctrl-0 = <&pa_pins>;
 
 	ralink,mtd-eeprom = <&factory 0x0>;
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -153,7 +155,18 @@
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&factory 0x8000>;
 		ieee80211-freq-limit = <5000000 6000000>;
-		mtd-mac-address = <&factory 0x28>;
+		nvmem-cells = <&macaddr_factory_28>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <2>;
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_dlink_dch-m225.dts

@@ -168,7 +168,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -176,3 +177,13 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pa_pins>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_dlink_dir-510l.dts

@@ -114,7 +114,8 @@
 &pcie0 {
 	mt76x0e@0,0 {
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&config 0xe490>;
+		nvmem-cells = <&macaddr_config_e490>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(2)>;
 		mediatek,mtd-eeprom = <&config 0xe05d>;
 	};
@@ -126,3 +127,13 @@
 		function = "gpio";
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_e490: macaddr@e490 {
+		reg = <0xe490 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_dlink_dwr-118-a1.dts

@@ -142,7 +142,8 @@
 &pcie0 {
 	wifi@0,0 {
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&config 0xe496>;
+		nvmem-cells = <&macaddr_config_e496>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(2)>;
 		mediatek,mtd-eeprom = <&config 0xe083>;
 
@@ -188,3 +189,13 @@
 	mediatek,port4-gmac;
 	mediatek,ephy-base = /bits/ 8 <8>;
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_e496: macaddr@e496 {
+		reg = <0xe496 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_dlink_dwr-118-a2.dts

@@ -140,7 +140,8 @@
 	wifi@0,0 {
 		reg = <0x0000 0 0 0 0>;
 		ieee80211-freq-limit = <5000000 6000000>;
-		mtd-mac-address = <&config 0xe4a8>;
+		nvmem-cells = <&macaddr_config_e4a8>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(2)>;
 
 		led {
@@ -176,3 +177,13 @@
 	mediatek,port4-gmac;
 	mediatek,ephy-base = /bits/ 8 <2>;
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_e4a8: macaddr@e4a8 {
+		reg = <0xe4a8 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_dlink_dwr-960.dts

@@ -175,7 +175,8 @@
 		reg = <0x0000 0 0 0 0>;
 		ieee80211-freq-limit = <5000000 6000000>;
 		mediatek,mtd-eeprom = <&config 0xe08e>;
-		mtd-mac-address = <&config 0xe50e>;
+		nvmem-cells = <&macaddr_config_e50e>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <2>;
 	};
 };
@@ -186,3 +187,13 @@
 		function = "gpio";
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_e50e: macaddr@e50e {
+		reg = <0xe50e 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_edimax_br-6478ac-v2.dts

@@ -132,7 +132,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 
@@ -204,3 +205,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_edimax_ew-7478apc.dts

@@ -124,7 +124,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 
@@ -196,3 +197,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_edimax_ew-747x.dtsi

@@ -153,7 +153,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &mdio_pins &phy_reset_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	phy-reset-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
 	phy-reset-duration = <30>;
@@ -218,3 +219,13 @@
 		mediatek,2ghz = <0>;
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_engenius_esr600.dts

@@ -134,7 +134,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &mdio_pins>;
 
-	mtd-mac-address = <&iNIC_rf 0x4>;
+	nvmem-cells = <&macaddr_iNIC_rf_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@5 {
 		status = "okay";
@@ -193,3 +194,13 @@
 &ohci {
 	status = "okay";
 };
+
+&iNIC_rf {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_iNIC_rf_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_fon_fon2601.dts

@@ -117,7 +117,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@4 {
 		status = "okay";
@@ -165,3 +166,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_glinet_gl-mt300a.dts

@@ -127,7 +127,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4000>;
+	nvmem-cells = <&macaddr_factory_4000>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -142,3 +143,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4000: macaddr@4000 {
+		reg = <0x4000 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_glinet_gl-mt300n.dts

@@ -118,7 +118,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4000>;
+	nvmem-cells = <&macaddr_factory_4000>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -133,3 +134,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4000: macaddr@4000 {
+		reg = <0x4000 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_glinet_gl-mt750.dts

@@ -122,7 +122,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4000>;
+	nvmem-cells = <&macaddr_factory_4000>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -148,3 +149,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4000: macaddr@4000 {
+		reg = <0x4000 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_head-weblink_hdrm200.dts

@@ -120,7 +120,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@4 {
 		status = "okay";
@@ -182,3 +183,13 @@
 &uart {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_hiwifi_hc5861.dts

@@ -72,7 +72,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 
@@ -109,3 +110,13 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pa_pins>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_hiwifi_hc5x61.dtsi

@@ -85,7 +85,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -104,3 +105,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_hnet_c108.dts

@@ -136,7 +136,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -153,3 +154,13 @@
 &pcie {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_iodata_wn-ac1167gr.dts

@@ -139,7 +139,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@5 {
 		status = "okay";
@@ -210,3 +211,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_iodata_wn-ac733gr3.dts

@@ -147,7 +147,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@5 {
 		status = "okay";
@@ -188,3 +189,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_iptime.dtsi

@@ -49,7 +49,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&uboot 0x1fc20>;
+	nvmem-cells = <&macaddr_uboot_1fc20>;
+	nvmem-cell-names = "mac-address";
 };
 
 &ehci {
@@ -84,3 +85,13 @@
 
 	ralink,mtd-eeprom = <&uboot 0x1f400>;
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc20: macaddr@1fc20 {
+		reg = <0x1fc20 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_kimax_u25awf-h1.dts

@@ -96,7 +96,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -109,3 +110,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_lava_lr-25g001.dts

@@ -140,7 +140,8 @@
 &pcie0 {
 	mt76x0e@0,0 {
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&config 0xe07e>;
+		nvmem-cells = <&macaddr_config_e07e>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(2)>;
 		mediatek,mtd-eeprom = <&config 0xe08a>;
 	};
@@ -152,3 +153,13 @@
 		function = "gpio";
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_e07e: macaddr@e07e {
+		reg = <0xe07e 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_lb-link_bl-w1200.dts

@@ -90,7 +90,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 
@@ -168,3 +169,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dts

@@ -53,7 +53,18 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_lenovo_newifi-y1s.dts

@@ -79,7 +79,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 
@@ -114,3 +115,13 @@
 	mediatek,port4-gmac;
 	mediatek,ephy-base = /bits/ 8 <8>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_linksys_e1700.dts

@@ -101,7 +101,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	port@5 {
 		status = "okay";
@@ -151,3 +152,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_microduino_microwrt.dts

@@ -80,7 +80,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -95,3 +96,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_netgear_ex3x00_ex61xx.dtsi

@@ -137,7 +137,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -150,3 +151,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_netis_wf2770.dts

@@ -99,7 +99,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@5 {
 		status = "okay";
@@ -162,3 +163,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts

@@ -98,7 +98,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -118,3 +119,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_phicomm_k2g.dts

@@ -23,7 +23,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 
@@ -47,3 +48,13 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pa_pins>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_phicomm_psg1208.dts

@@ -99,7 +99,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -119,3 +120,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_phicomm_psg1218a.dts

@@ -14,7 +14,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -23,3 +24,13 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pa_pins>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_phicomm_psg1218b.dts

@@ -14,5 +14,16 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
+};
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
 };

+ 12 - 1
target/linux/ramips/dts/mt7620a_planex_cs-qr10.dts

@@ -117,7 +117,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -137,3 +138,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_planex_db-wrt01.dts

@@ -89,7 +89,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -97,3 +98,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_planex_mzk-750dhp.dts

@@ -109,7 +109,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -128,3 +129,13 @@
 		mediatek,mtd-eeprom = <&factory 0x8000>;
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_planex_mzk-ex300np.dts

@@ -129,7 +129,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -137,3 +138,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_planex_mzk-ex750np.dts

@@ -134,7 +134,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -153,3 +154,13 @@
 		mediatek,mtd-eeprom = <&factory 0x8000>;
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_sanlinking_d240.dts

@@ -140,7 +140,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -173,3 +174,13 @@
 &pcie {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 16 - 3
target/linux/ramips/dts/mt7620a_tplink_archer-c2-v1.dts

@@ -130,7 +130,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 
 	port@5 {
 		status = "okay";
@@ -164,7 +165,8 @@
 
 &wmac {
 	ralink,mtd-eeprom = <&radio 0x0>;
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 };
 
 &ehci {
@@ -183,7 +185,18 @@
 	mt76@0,0 {
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&radio 0x8000>;
-		mtd-mac-address = <&rom 0xf100>;
+		nvmem-cells = <&macaddr_rom_f100>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(-1)>;
 	};
 };
+
+&rom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_rom_f100: macaddr@f100 {
+		reg = <0xf100 0x6>;
+	};
+};

+ 14 - 2
target/linux/ramips/dts/mt7620a_tplink_archer-c20-v1.dts

@@ -72,11 +72,23 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pa_pins>;
 
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-2)>;
 };
 
 &wifi {
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
+
+&rom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_rom_f100: macaddr@f100 {
+		reg = <0xf100 0x6>;
+	};
+};

+ 14 - 2
target/linux/ramips/dts/mt7620a_tplink_archer-c20i.dts

@@ -53,10 +53,22 @@
 };
 
 &wmac {
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wifi {
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
+
+&rom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_rom_f100: macaddr@f100 {
+		reg = <0xf100 0x6>;
+	};
+};

+ 14 - 2
target/linux/ramips/dts/mt7620a_tplink_archer-c50-v1.dts

@@ -72,11 +72,23 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&pa_pins>;
 
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-2)>;
 };
 
 &wifi {
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
+
+&rom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_rom_f100: macaddr@f100 {
+		reg = <0xf100 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_tplink_archer-mr200.dts

@@ -167,7 +167,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 };
 
 &ehci {
@@ -192,3 +193,13 @@
 		mediatek,mtd-eeprom = <&radio 0x8000>;
 	};
 };
+
+&rom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_rom_f100: macaddr@f100 {
+		reg = <0xf100 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_tplink_archer.dtsi

@@ -92,7 +92,8 @@
 &ethernet {
 	pinctrl-names = "default";
 
-	mtd-mac-address = <&rom 0xf100>;
+	nvmem-cells = <&macaddr_rom_f100>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -120,3 +121,13 @@
 		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
+
+&rom {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_rom_f100: macaddr@f100 {
+		reg = <0xf100 0x6>;
+	};
+};

+ 16 - 3
target/linux/ramips/dts/mt7620a_tplink_re2x0-v1.dtsi

@@ -72,12 +72,14 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	ralink,mtd-eeprom = <&radio 0x0>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -88,8 +90,19 @@
 	mt76@0,0 {
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&radio 0x8000>;
-		mtd-mac-address = <&uboot 0x1fc00>;
+		nvmem-cells = <&macaddr_uboot_1fc00>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <2>;
 		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_wavlink_wl-wn530hg4.dts

@@ -97,7 +97,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 
@@ -135,3 +136,13 @@
 
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_wavlink_wl-wn579x3.dts

@@ -163,7 +163,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 
@@ -209,3 +210,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_xiaomi_miwifi-mini.dts

@@ -121,7 +121,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -150,3 +151,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi

@@ -105,7 +105,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -125,3 +126,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_yukai_bocco.dts

@@ -136,7 +136,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -144,3 +145,13 @@
 &wmac {
 	ralink,mtd-eeprom = <&factory 0x0>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_zbtlink_zbt-ape522ii.dts

@@ -98,7 +98,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -127,3 +128,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_zbtlink_zbt-we1026.dtsi

@@ -87,7 +87,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -100,3 +101,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_zte_q7.dts

@@ -91,7 +91,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -111,3 +112,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620a_zyxel_keenetic-viva.dts

@@ -137,7 +137,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&rgmii2_pins &mdio_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	port@4 {
 		status = "okay";
@@ -172,3 +173,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_asus_rt-n12p.dts

@@ -106,7 +106,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -121,3 +122,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_asus_rt-n14u.dts

@@ -119,7 +119,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -134,3 +135,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_buffalo_wmr-300.dts

@@ -95,7 +95,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -110,3 +111,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_comfast_cf-wr800n.dts

@@ -101,7 +101,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -114,3 +115,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_elecom_wrh-300cr.dts

@@ -112,7 +112,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x2e>;
+	nvmem-cells = <&macaddr_factory_2e>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -127,3 +128,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_2e: macaddr@2e {
+		reg = <0x2e 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_kimax_u35wf.dts

@@ -96,7 +96,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -109,3 +110,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_kingston_mlw221.dts

@@ -107,7 +107,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -122,3 +123,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_kingston_mlwg2.dts

@@ -107,7 +107,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -122,3 +123,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_netgear_n300.dtsi

@@ -66,7 +66,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -81,3 +82,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_sunvalley_filehub.dtsi

@@ -123,7 +123,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x28>;
+	nvmem-cells = <&macaddr_factory_28>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -136,3 +137,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_28: macaddr@28 {
+		reg = <0x28 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_vonets_var11n-300.dts

@@ -75,7 +75,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -90,3 +91,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_wrtnode_wrtnode.dts

@@ -76,7 +76,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -91,3 +92,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_zbtlink_zbt-cpe102.dts

@@ -99,7 +99,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -114,3 +115,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_zbtlink_zbt-wa05.dts

@@ -107,7 +107,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -122,3 +123,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_zbtlink_zbt-we2026.dts

@@ -92,7 +92,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -107,3 +108,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_zbtlink_zbt-wr8305rt.dts

@@ -106,7 +106,8 @@
 	pinctrl-names = "default";
 	pinctrl-0 = <&ephy_pins>;
 
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -121,3 +122,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni-ii.dts

@@ -130,7 +130,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "wllll";
 };
@@ -146,3 +147,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7620n_zyxel_keenetic-omni.dts

@@ -130,7 +130,8 @@
 };
 
 &ethernet {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 
 	mediatek,portmap = "llllw";
 };
@@ -146,3 +147,13 @@
 &ohci {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 14 - 2
target/linux/ramips/dts/mt7621_adslr_g7.dts

@@ -101,7 +101,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe00c>;
+	nvmem-cells = <&macaddr_factory_e00c>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -129,7 +130,8 @@
 		port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe00c>;
+			nvmem-cells = <&macaddr_factory_e00c>;
+			nvmem-cell-names = "mac-address";
 			mac-address-increment = <1>;
 		};
 	};
@@ -141,3 +143,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e00c: macaddr@e00c {
+		reg = <0xe00c 0x6>;
+	};
+};

+ 14 - 2
target/linux/ramips/dts/mt7621_afoundry_ew1200.dts

@@ -106,7 +106,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -134,7 +135,8 @@
 		port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe000>;
+			nvmem-cells = <&macaddr_factory_e000>;
+			nvmem-cell-names = "mac-address";
 			mac-address-increment = <1>;
 		};
 	};
@@ -146,3 +148,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+};

+ 18 - 2
target/linux/ramips/dts/mt7621_alfa-network_quad-e4g.dts

@@ -148,7 +148,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -176,7 +177,8 @@
 		port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe006>;
+			nvmem-cells = <&macaddr_factory_e006>;
+			nvmem-cell-names = "mac-address";
 		};
 	};
 };
@@ -257,3 +259,17 @@
 &uartlite3 {
 	status = "okay";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+
+	macaddr_factory_e006: macaddr@e006 {
+		reg = <0xe006 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7621_asiarf_ap7621-001.dts

@@ -17,8 +17,19 @@
 		port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe000>;
+			nvmem-cells = <&macaddr_factory_e000>;
+			nvmem-cell-names = "mac-address";
 			mac-address-increment = <1>;
 		};
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7621_asiarf_ap7621-nv1.dts

@@ -12,7 +12,8 @@
 		port@0 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe000>;
+			nvmem-cells = <&macaddr_factory_e000>;
+			nvmem-cell-names = "mac-address";
 			mac-address-increment = <1>;
 		};
 
@@ -27,3 +28,13 @@
 		};
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7621_asiarf_ap7621.dtsi

@@ -100,7 +100,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 };
 
 &state_default {
@@ -109,3 +110,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+};

+ 18 - 2
target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts

@@ -130,7 +130,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -138,7 +139,8 @@
 		port@0 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe006>;
+			nvmem-cells = <&macaddr_factory_e006>;
+			nvmem-cell-names = "mac-address";
 		};
 
 		port@1 {
@@ -169,3 +171,17 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+
+	macaddr_factory_e006: macaddr@e006 {
+		reg = <0xe006 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7621_asus_rt-acx5p.dtsi

@@ -131,7 +131,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -169,3 +170,13 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+};

+ 18 - 2
target/linux/ramips/dts/mt7621_asus_rt-n56u-b1.dts

@@ -140,7 +140,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0x8004>;
+	nvmem-cells = <&macaddr_factory_8004>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -168,7 +169,8 @@
 		wan: port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0x4>;
+			nvmem-cells = <&macaddr_factory_4>;
+			nvmem-cell-names = "mac-address";
 		};
 	};
 };
@@ -179,3 +181,17 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+
+	macaddr_factory_8004: macaddr@8004 {
+		reg = <0x8004 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7621_buffalo_wsr-2533dhpl.dts

@@ -164,7 +164,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
@@ -229,3 +230,13 @@
 &xhci {
 	status = "disabled";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 12 - 1
target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts

@@ -173,7 +173,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0x4>;
+	nvmem-cells = <&macaddr_factory_4>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -208,3 +209,13 @@
 &xhci {
 	status = "disabled";
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_4: macaddr@4 {
+		reg = <0x4 0x6>;
+	};
+};

+ 18 - 4
target/linux/ramips/dts/mt7621_cudy_wr1300.dts

@@ -127,7 +127,8 @@
 		compatible = "pci14c3,7603";
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&factory 0x0000>;
-		mtd-mac-address = <&bdinfo 0xde00>;
+		nvmem-cells = <&macaddr_bdinfo_de00>;
+		nvmem-cell-names = "mac-address";
 		ieee80211-freq-limit = <2400000 2500000>;
 
 		led {
@@ -141,7 +142,8 @@
 		compatible = "pci14c3,7662";
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&factory 0x8000>;
-		mtd-mac-address = <&bdinfo 0xde00>;
+		nvmem-cells = <&macaddr_bdinfo_de00>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <2>;
 		ieee80211-freq-limit = <5000000 6000000>;
 
@@ -153,7 +155,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&bdinfo 0xde00>;
+	nvmem-cells = <&macaddr_bdinfo_de00>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -181,7 +184,8 @@
 		port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&bdinfo 0xde00>;
+			nvmem-cells = <&macaddr_bdinfo_de00>;
+			nvmem-cell-names = "mac-address";
 			mac-address-increment = <1>;
 		};
 	};
@@ -193,3 +197,13 @@
 		function = "gpio";
 	};
 };
+
+&bdinfo {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_bdinfo_de00: macaddr@de00 {
+		reg = <0xde00 0x6>;
+	};
+};

+ 15 - 3
target/linux/ramips/dts/mt7621_cudy_wr2100.dts

@@ -78,7 +78,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&bdinfo 0xde00>;
+	nvmem-cells = <&macaddr_bdinfo_de00>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -194,8 +195,19 @@
 			status = "okay";
 			label = "wan";
 
-			mtd-mac-address = <&bdinfo 0xde00>;
-			mtd-mac-address-increment = <1>;
+			nvmem-cells = <&macaddr_bdinfo_de00>;
+			nvmem-cell-names = "mac-address";
+			mac-address-increment = <1>;
 		};
 	};
 };
+
+&bdinfo {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_bdinfo_de00: macaddr@de00 {
+		reg = <0xde00 0x6>;
+	};
+};

+ 18 - 2
target/linux/ramips/dts/mt7621_d-team_newifi-d2.dts

@@ -149,7 +149,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -177,7 +178,8 @@
 		port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe006>;
+			nvmem-cells = <&macaddr_factory_e006>;
+			nvmem-cell-names = "mac-address";
 		};
 	};
 };
@@ -188,3 +190,17 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+
+	macaddr_factory_e006: macaddr@e006 {
+		reg = <0xe006 0x6>;
+	};
+};

+ 18 - 2
target/linux/ramips/dts/mt7621_d-team_pbr-m1.dts

@@ -175,7 +175,8 @@
 };
 
 &gmac0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 };
 
 &switch0 {
@@ -203,7 +204,8 @@
 		port@4 {
 			status = "okay";
 			label = "wan";
-			mtd-mac-address = <&factory 0xe006>;
+			nvmem-cells = <&macaddr_factory_e006>;
+			nvmem-cell-names = "mac-address";
 		};
 	};
 };
@@ -214,3 +216,17 @@
 		function = "gpio";
 	};
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+
+	macaddr_factory_e006: macaddr@e006 {
+		reg = <0xe006 0x6>;
+	};
+};

+ 14 - 2
target/linux/ramips/dts/mt7621_dlink_dir-1960-a1.dts

@@ -17,11 +17,23 @@
 };
 
 &wifi0 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &wifi1 {
-	mtd-mac-address = <&factory 0xe000>;
+	nvmem-cells = <&macaddr_factory_e000>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <2>;
 };
+
+&factory {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_factory_e000: macaddr@e000 {
+		reg = <0xe000 0x6>;
+	};
+};

Некоторые файлы не были показаны из-за большого количества измененных файлов