Browse Source

ath79: 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 years ago
parent
commit
abc17bf306
100 changed files with 1463 additions and 201 deletions
  1. 16 3
      target/linux/ath79/dts/ar7161_aruba_ap-105.dts
  2. 18 2
      target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dtsi
  3. 16 3
      target/linux/ath79/dts/ar7161_meraki_mr16.dts
  4. 2 2
      target/linux/ath79/dts/ar7161_netgear_wndr.dtsi
  5. 16 3
      target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts
  6. 14 2
      target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts
  7. 20 3
      target/linux/ath79/dts/ar7240_netgear_wnr1000-v2.dts
  8. 20 3
      target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi
  9. 12 1
      target/linux/ath79/dts/ar7240_tplink.dtsi
  10. 12 1
      target/linux/ath79/dts/ar7240_tplink_tl-wa.dtsi
  11. 14 2
      target/linux/ath79/dts/ar7240_tplink_tl-wr.dtsi
  12. 20 3
      target/linux/ath79/dts/ar7241_netgear_wnr2000-v3.dts
  13. 16 3
      target/linux/ath79/dts/ar7241_tplink.dtsi
  14. 16 3
      target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts
  15. 12 1
      target/linux/ath79/dts/ar7241_ubnt_unifi-ap-outdoor-plus.dts
  16. 0 1
      target/linux/ath79/dts/ar7241_ubnt_unifi.dtsi
  17. 12 1
      target/linux/ath79/dts/ar7242_buffalo_bhr-4grv.dts
  18. 14 2
      target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts
  19. 14 2
      target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g450h.dts
  20. 14 2
      target/linux/ath79/dts/ar7242_engenius_eap350-v1.dts
  21. 14 2
      target/linux/ath79/dts/ar7242_engenius_ecb350-v1.dts
  22. 16 3
      target/linux/ath79/dts/ar7242_meraki_mr12.dts
  23. 14 2
      target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts
  24. 12 1
      target/linux/ath79/dts/ar7242_ubnt_edgeswitch-5xp.dts
  25. 12 1
      target/linux/ath79/dts/ar7242_ubnt_edgeswitch-8xp.dts
  26. 12 1
      target/linux/ath79/dts/ar7242_ubnt_sw.dtsi
  27. 18 2
      target/linux/ath79/dts/ar724x_ubnt_xm.dtsi
  28. 14 2
      target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi
  29. 14 2
      target/linux/ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts
  30. 14 2
      target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts
  31. 14 2
      target/linux/ath79/dts/ar9132_tplink_tl-wr941-v2.dts
  32. 16 3
      target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts
  33. 18 2
      target/linux/ath79/dts/ar9330_openmesh_om2p.dtsi
  34. 18 2
      target/linux/ath79/dts/ar9330_pqi_air-pen.dts
  35. 15 3
      target/linux/ath79/dts/ar9330_ziking_cpe46b.dts
  36. 18 2
      target/linux/ath79/dts/ar9331_8dev_carambola2.dts
  37. 12 1
      target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi
  38. 12 1
      target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts
  39. 12 1
      target/linux/ath79/dts/ar9331_etactica_eg200.dts
  40. 14 2
      target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts
  41. 12 1
      target/linux/ath79/dts/ar9331_glinet_gl-usb150.dts
  42. 14 2
      target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi
  43. 12 1
      target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts
  44. 14 2
      target/linux/ath79/dts/ar9331_pisen_ts-d084.dts
  45. 14 2
      target/linux/ath79/dts/ar9331_pisen_wmm003n.dts
  46. 18 5
      target/linux/ath79/dts/ar9331_teltonika_rut230-v1.dts
  47. 14 2
      target/linux/ath79/dts/ar9331_tplink_tl-mr3020-v1.dts
  48. 14 2
      target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts
  49. 14 2
      target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi
  50. 16 3
      target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi
  51. 12 1
      target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts
  52. 14 2
      target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts
  53. 18 2
      target/linux/ath79/dts/ar9341_openmesh_om2p-hs.dtsi
  54. 14 2
      target/linux/ath79/dts/ar9341_pcs_cr3000.dts
  55. 12 1
      target/linux/ath79/dts/ar9341_pisen_wmb001n.dts
  56. 14 2
      target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi
  57. 12 1
      target/linux/ath79/dts/ar9342_ubnt_aircube-ac.dts
  58. 12 1
      target/linux/ath79/dts/ar9342_ubnt_wa_1port.dtsi
  59. 12 1
      target/linux/ath79/dts/ar9342_ubnt_wa_2port.dtsi
  60. 12 1
      target/linux/ath79/dts/ar9342_ubnt_xw.dtsi
  61. 16 3
      target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts
  62. 18 2
      target/linux/ath79/dts/ar9344_alfa-network_n5q.dts
  63. 18 2
      target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts
  64. 12 1
      target/linux/ath79/dts/ar9344_compex_wpj344-16m.dts
  65. 12 1
      target/linux/ath79/dts/ar9344_devolo_dlan_wifi.dtsi
  66. 16 3
      target/linux/ath79/dts/ar9344_engenius_eap600.dts
  67. 16 3
      target/linux/ath79/dts/ar9344_engenius_ecb600.dts
  68. 20 3
      target/linux/ath79/dts/ar9344_netgear_wndr.dtsi
  69. 24 3
      target/linux/ath79/dts/ar9344_ocedo_raccoon.dts
  70. 16 3
      target/linux/ath79/dts/ar9344_openmesh_mr600.dtsi
  71. 18 2
      target/linux/ath79/dts/ar9344_openmesh_om5p.dts
  72. 16 3
      target/linux/ath79/dts/ar9344_pcs_cap324.dts
  73. 18 2
      target/linux/ath79/dts/ar9344_pcs_cr5000.dts
  74. 14 2
      target/linux/ath79/dts/ar9344_qxwlan_e750a-v4-16m.dts
  75. 14 2
      target/linux/ath79/dts/ar9344_qxwlan_e750a-v4-8m.dts
  76. 12 1
      target/linux/ath79/dts/ar9344_qxwlan_e750g-v8-16m.dts
  77. 12 1
      target/linux/ath79/dts/ar9344_qxwlan_e750g-v8-8m.dts
  78. 14 2
      target/linux/ath79/dts/ar9344_samsung_wam250.dts
  79. 14 2
      target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts
  80. 14 2
      target/linux/ath79/dts/ar9344_teltonika_rut955.dts
  81. 12 1
      target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi
  82. 14 2
      target/linux/ath79/dts/ar9344_tplink_cpe.dtsi
  83. 12 1
      target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi
  84. 18 4
      target/linux/ath79/dts/ar9344_tplink_tl-wdr3500-v1.dts
  85. 16 3
      target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi
  86. 12 1
      target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts
  87. 16 3
      target/linux/ath79/dts/ar9344_winchannel_wb2000.dts
  88. 18 2
      target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts
  89. 18 2
      target/linux/ath79/dts/qca9531_8dev_lima.dts
  90. 14 2
      target/linux/ath79/dts/qca9531_alfa-network_n2q.dts
  91. 12 1
      target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts
  92. 14 2
      target/linux/ath79/dts/qca9531_alfa-network_r36a.dts
  93. 14 2
      target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts
  94. 18 2
      target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts
  95. 18 2
      target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts
  96. 18 2
      target/linux/ath79/dts/qca9531_comfast_cf-e5.dts
  97. 16 3
      target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts
  98. 16 3
      target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts
  99. 14 2
      target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts
  100. 18 2
      target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts

+ 16 - 3
target/linux/ath79/dts/ar7161_aruba_ap-105.dts

@@ -103,7 +103,8 @@
 
 	ath9k0: wifi@0,11 { /* 2.4 GHz */
 		compatible = "pci168c,0029";
-		mtd-mac-address = <&hwinfo 0x1c>;
+		nvmem-cells = <&macaddr_hwinfo_1c>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <1>;
 		reg = <0x8800 0 0 0 0>;
 		#gpio-cells = <2>;
@@ -112,7 +113,8 @@
 
 	ath9k1: wifi@0,12 { /* 5 GHz */
 		compatible = "pci168c,0029";
-		mtd-mac-address = <&hwinfo 0x1c>;
+		nvmem-cells = <&macaddr_hwinfo_1c>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <2>;
 		reg = <0x9000 0 0 0 0>;
 		#gpio-cells = <2>;
@@ -132,7 +134,8 @@
 
 &eth0 {
 	status = "okay";
-	mtd-mac-address = <&hwinfo 0x1c>;
+	nvmem-cells = <&macaddr_hwinfo_1c>;
+	nvmem-cell-names = "mac-address";
 
 	pll-data = <0x00110000 0x00001099 0x00991099>;
 
@@ -179,3 +182,13 @@
 		};
 	};
 };
+
+&hwinfo {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_hwinfo_1c: macaddr@1c {
+		reg = <0x1c 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar7161_buffalo_wzr-hp-ag300h.dtsi

@@ -247,7 +247,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x120c>;
+	nvmem-cells = <&macaddr_art_120c>;
+	nvmem-cell-names = "mac-address";
 
 	fixed-link {
 		speed = <1000>;
@@ -258,8 +259,23 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x520c>;
+	nvmem-cells = <&macaddr_art_520c>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 
 	phy-handle = <&phy4>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_120c: macaddr@120c {
+		reg = <0x120c 0x6>;
+	};
+
+	macaddr_art_520c: macaddr@520c {
+		reg = <0x520c 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar7161_meraki_mr16.dts

@@ -81,7 +81,8 @@
 		compatible = "pci168c,0029";
 		reg = <0x8800 0 0 0 0>;
 		qca,no-eeprom;
-		mtd-mac-address = <&config 0x66>;
+		nvmem-cells = <&macaddr_config_66>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <1>;
 		#gpio-cells = <2>;
 		gpio-controller;
@@ -91,7 +92,8 @@
 		compatible = "pci168c,0029";
 		reg = <0x9000 0 0 0 0>;
 		qca,no-eeprom;
-		mtd-mac-address = <&config 0x66>;
+		nvmem-cells = <&macaddr_config_66>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <2>;
 		#gpio-cells = <2>;
 		gpio-controller;
@@ -114,7 +116,8 @@
 
 &eth0 {
 	status = "okay";
-	mtd-mac-address = <&config 0x66>;
+	nvmem-cells = <&macaddr_config_66>;
+	nvmem-cell-names = "mac-address";
 
 	pll-data = <0x00110000 0x00001099 0x00991099>;
 
@@ -167,3 +170,13 @@
 		};
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_66: macaddr@66 {
+		reg = <0x66 0x6>;
+	};
+};

+ 2 - 2
target/linux/ath79/dts/ar7161_netgear_wndr.dtsi

@@ -153,7 +153,7 @@
 	ath9k0: wifi@0,11 {
 		compatible = "pci168c,0029";
 		reg = <0x8800 0 0 0 0>;
-		mtd-mac-address = <&art 0x0>;
+		mtd-mac-address = <&art 0xc>;
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
@@ -181,7 +181,7 @@
 	ath9k1: wifi@0,12 {
 		compatible = "pci168c,0029";
 		reg = <0x9000 0 0 0 0>;
-		mtd-mac-address = <&art 0xc>;
+		mtd-mac-address = <&art 0x0>;
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;

+ 16 - 3
target/linux/ath79/dts/ar7240_buffalo_whr-g301n.dts

@@ -153,13 +153,15 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x120c>;
+	nvmem-cells = <&macaddr_art_120c>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x120c>;
+	nvmem-cells = <&macaddr_art_120c>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
@@ -170,7 +172,8 @@
 		compatible = "pci168c,002a";
 		reg = <0x0000 0 0 0 0>;
 		qca,no-eeprom;
-		mtd-mac-address = <&art 0x120c>;
+		nvmem-cells = <&macaddr_art_120c>;
+		nvmem-cell-names = "mac-address";
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
@@ -181,3 +184,13 @@
 		pinctrl-single,bits = <0x0 0x0 0xf8>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_120c: macaddr@120c {
+		reg = <0x120c 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar7240_engenius_enh202-v1.dts

@@ -72,13 +72,15 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -92,3 +94,13 @@
 		gpio-controller;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 20 - 3
target/linux/ath79/dts/ar7240_netgear_wnr1000-v2.dts

@@ -174,13 +174,15 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -189,10 +191,25 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,002b";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <1>;
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 20 - 3
target/linux/ath79/dts/ar7240_netgear_wnr612-v2.dtsi

@@ -107,13 +107,15 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -122,10 +124,25 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,002b";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <1>;
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar7240_tplink.dtsi

@@ -104,7 +104,8 @@
 	ath9k: wifi@0,0 {
 		reg = <0x0000 0 0 0 0>;
 		qca,no-eeprom;
-		mtd-mac-address = <&uboot 0x1fc00>;
+		nvmem-cells = <&macaddr_uboot_1fc00>;
+		nvmem-cell-names = "mac-address";
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
@@ -115,3 +116,13 @@
 		pinctrl-single,bits = <0x0 0x0 0xf8>;
 	};
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar7240_tplink_tl-wa.dtsi

@@ -14,9 +14,20 @@
 };
 
 &eth1 {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 };
 
 &ath9k {
 	compatible = "pci168c,002a";
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar7240_tplink_tl-wr.dtsi

@@ -30,15 +30,27 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
 &eth1 {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &ath9k {
 	compatible = "pci168c,002b";
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 20 - 3
target/linux/ath79/dts/ar7241_netgear_wnr2000-v3.dts

@@ -179,13 +179,15 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	compatible = "qca,ar7241-eth", "syscon", "simple-mfd";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -194,10 +196,25 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,002e";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <1>;
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar7241_tplink.dtsi

@@ -89,18 +89,31 @@
 		#gpio-cells = <2>;
 		gpio-controller;
 		qca,no-eeprom;
-		mtd-mac-address = <&uboot 0x1fc00>;
+		nvmem-cells = <&macaddr_uboot_1fc00>;
+		nvmem-cell-names = "mac-address";
 	};
 };
 
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
 &eth1 {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts

@@ -135,18 +135,31 @@
 		#gpio-cells = <2>;
 		gpio-controller;
 		qca,no-eeprom;
-		mtd-mac-address = <&uboot 0x1fc00>;
+		nvmem-cells = <&macaddr_uboot_1fc00>;
+		nvmem-cell-names = "mac-address";
 	};
 };
 
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
 &eth1 {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar7241_ubnt_unifi-ap-outdoor-plus.dts

@@ -94,9 +94,20 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wifi {
 	ubnt,hsr;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 0 - 1
target/linux/ath79/dts/ar7241_ubnt_unifi.dtsi

@@ -45,4 +45,3 @@
 
 	mtd-mac-address = <&art 0x0>;
 };
-

+ 12 - 1
target/linux/ath79/dts/ar7242_buffalo_bhr-4grv.dts

@@ -15,5 +15,16 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g302h-a1a0.dts

@@ -192,7 +192,8 @@
 
 	pll-data = <0x1c000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&art 0x120c>;
+	nvmem-cells = <&macaddr_art_120c>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
@@ -204,7 +205,8 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,002a";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0x120c>;
+		nvmem-cells = <&macaddr_art_120c>;
+		nvmem-cell-names = "mac-address";
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
@@ -229,3 +231,13 @@
 		#trigger-source-cells = <0>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_120c: macaddr@120c {
+		reg = <0x120c 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar7242_buffalo_wzr-hp-g450h.dts

@@ -64,7 +64,8 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
@@ -73,9 +74,20 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,0030";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0x1002>;
+		nvmem-cells = <&macaddr_art_1002>;
+		nvmem-cell-names = "mac-address";
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar7242_engenius_eap350-v1.dts

@@ -63,7 +63,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy4>;
 	phy-mode = "rgmii-id";
@@ -77,10 +78,21 @@
 	ath9k: wifi@0,0,0 {
 		compatible = "pci168c,002a";
 		reg = <0x0 0 0 0 0>;
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <1>;
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar7242_engenius_ecb350-v1.dts

@@ -63,7 +63,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy4>;
 	phy-mode = "rgmii-id";
@@ -77,10 +78,21 @@
 	ath9k: wifi@0,0,0 {
 		compatible = "pci168c,002a";
 		reg = <0x0 0 0 0 0>;
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(-1)>;
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar7242_meraki_mr12.dts

@@ -81,7 +81,8 @@
 		compatible = "pci168c,002a";
 		reg = <0x0000 0 0 0 0>;
 		qca,no-eeprom;
-		mtd-mac-address = <&config 0x66>;
+		nvmem-cells = <&macaddr_config_66>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <1>;
 	};
 };
@@ -101,7 +102,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&config 0x66>;
+	nvmem-cells = <&macaddr_config_66>;
+	nvmem-cell-names = "mac-address";
 
 	pll-data = <0x02000000 0x00000101 0x00001313>;
 
@@ -116,7 +118,8 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&config 0x66>;
+	nvmem-cells = <&macaddr_config_66>;
+	nvmem-cell-names = "mac-address";
 };
 
 &spi {
@@ -164,3 +167,13 @@
 		};
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_66: macaddr@66 {
+		reg = <0x66 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar7242_tplink_tl-wr2543-v1.dts

@@ -157,7 +157,8 @@
 		#gpio-cells = <2>;
 		gpio-controller;
 		qca,no-eeprom;
-		mtd-mac-address = <&uboot 0x1fc00>;
+		nvmem-cells = <&macaddr_uboot_1fc00>;
+		nvmem-cell-names = "mac-address";
 	};
 };
 
@@ -165,7 +166,8 @@
 	status = "okay";
 
 	phy-mode = "rgmii";
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy0>;
 	fixed-link {
@@ -173,3 +175,13 @@
 		full-duplex;
 	};
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar7242_ubnt_edgeswitch-5xp.dts

@@ -67,10 +67,21 @@
 	phy-handle = <&phy0>;
 	phy-mode = "rgmii";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	fixed-link {
 		speed = <1000>;
 		full-duplex;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar7242_ubnt_edgeswitch-8xp.dts

@@ -179,7 +179,8 @@
 
 	phy-mode = "rgmii-rxid";
 	pll-data = <0x16000000 0x00000101 0x00001313>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy0>;
 	fixed-link {
@@ -187,3 +188,13 @@
 		full-duplex;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar7242_ubnt_sw.dtsi

@@ -131,5 +131,16 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
+};
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
 };

+ 18 - 2
target/linux/ath79/dts/ar724x_ubnt_xm.dtsi

@@ -79,11 +79,27 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
+};
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar9132_buffalo_wzr-hp-g300nh.dtsi

@@ -188,7 +188,8 @@
 	status = "disabled";
 
 	phy-mode = "rgmii";
-	mtd-mac-address = <&art 0x1120c>;
+	nvmem-cells = <&macaddr_art_1120c>;
+	nvmem-cell-names = "mac-address";
 
 	fixed-link {
 		speed = <1000>;
@@ -215,7 +216,8 @@
 	resets = <&rst 13>;
 	reset-names = "mac";
 	qca,mac-idx = <1>;
-	mtd-mac-address = <&art 0x1120c>;
+	nvmem-cells = <&macaddr_art_1120c>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -247,3 +249,13 @@
 &usb_phy {
 	status = "okay";
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1120c: macaddr@1120c {
+		reg = <0x1120c 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9132_tplink_tl-wa901nd-v2.dts

@@ -118,7 +118,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy12>;
 };
@@ -127,5 +128,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts

@@ -137,7 +137,8 @@
 	status = "okay";
 
 	phy-mode = "rgmii";
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	fixed-link {
 		speed = <1000>;
@@ -149,5 +150,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar9132_tplink_tl-wr941-v2.dts

@@ -144,7 +144,8 @@
 	status = "okay";
 
 	phy-mode = "rmii";
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	fixed-link {
 		speed = <100>;
@@ -155,5 +156,16 @@
 &wmac {
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 16 - 3
target/linux/ath79/dts/ar9330_glinet_gl-ar150.dts

@@ -113,13 +113,15 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -133,5 +135,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
 };

+ 18 - 2
target/linux/ath79/dts/ar9330_openmesh_om2p.dtsi

@@ -130,13 +130,15 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -144,3 +146,17 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9330_pqi_air-pen.dts

@@ -112,7 +112,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -132,5 +133,20 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&art 0x2>;
+	nvmem-cells = <&macaddr_art_2>;
+	nvmem-cell-names = "mac-address";
+};
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_2: macaddr@2 {
+		reg = <0x2 0x6>;
+	};
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
 };

+ 15 - 3
target/linux/ath79/dts/ar9330_ziking_cpe46b.dts

@@ -86,14 +86,16 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
-	mtd-mac-address-increment = <2>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
+	mac-address-increment = <2>;
 };
 
 &wmac {
@@ -101,3 +103,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9331_8dev_carambola2.dts

@@ -103,7 +103,8 @@
 
 &eth0 {
 	status = "okay";
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -115,10 +116,25 @@
 
 &eth1 {
 	status = "okay";
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9331_alfa-network_ap121f.dtsi

@@ -55,7 +55,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -123,3 +124,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9331_embeddedwireless_dorin.dts

@@ -93,7 +93,8 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment-byte = <3>;
 	mac-address-increment = <0x40>;
 };
@@ -107,3 +108,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9331_etactica_eg200.dts

@@ -63,7 +63,8 @@
 
 &eth0 {
 	status = "okay";
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -117,3 +118,13 @@
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9331_glinet_gl-mifi.dts

@@ -121,7 +121,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -134,7 +135,8 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -142,3 +144,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9331_glinet_gl-usb150.dts

@@ -58,7 +58,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -117,3 +118,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9331_hak5_lan-turtle.dtsi

@@ -24,7 +24,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 
 	gmac-config {
@@ -38,7 +39,8 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
@@ -90,3 +92,13 @@
 &usb_phy {
 	status = "okay";
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9331_hak5_wifi-pineapple-nano.dts

@@ -62,7 +62,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
@@ -119,3 +120,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9331_pisen_ts-d084.dts

@@ -75,7 +75,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -102,5 +103,16 @@
 &wmac {
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar9331_pisen_wmm003n.dts

@@ -83,7 +83,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -111,5 +112,16 @@
 &wmac {
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 18 - 5
target/linux/ath79/dts/ar9331_teltonika_rut230-v1.dts

@@ -109,14 +109,16 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&config 0x0>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&config 0x0>;
-	mtd-mac-address-increment = <1>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
+	mac-address-increment = <1>;
 };
 
 &spi {
@@ -188,6 +190,17 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&config 0x0>;
-	mtd-mac-address-increment = <2>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
+	mac-address-increment = <2>;
+};
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar9331_tplink_tl-mr3020-v1.dts

@@ -146,7 +146,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	gmac-config {
 		device = <&gmac>;
 
@@ -165,5 +166,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar9331_tplink_tl-mr3040-v2.dts

@@ -135,7 +135,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	gmac-config {
 		device = <&gmac>;
 
@@ -154,5 +155,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 14 - 2
target/linux/ath79/dts/ar9331_tplink_tl-wr703n_tl-mr10u.dtsi

@@ -80,7 +80,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -110,5 +111,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 16 - 3
target/linux/ath79/dts/ar9331_tplink_tl-wr741nd-v4.dtsi

@@ -121,7 +121,8 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 
 	gmac-config {
@@ -135,7 +136,8 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
@@ -143,5 +145,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 12 - 1
target/linux/ath79/dts/ar9341_engenius_eap300-v2.dts

@@ -46,7 +46,8 @@
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -54,3 +55,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9341_engenius_ens202ext-v1.dts

@@ -65,13 +65,15 @@
 
 	phy-handle = <&swphy0>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -84,3 +86,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9341_openmesh_om2p-hs.dtsi

@@ -142,11 +142,13 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -154,3 +156,17 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9341_pcs_cr3000.dts

@@ -133,7 +133,8 @@
 	status = "okay";
 
 	phy-handle = <&swphy0>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
@@ -141,10 +142,21 @@
 	phy-handle = <&swphy4>;
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
 		switch-phy-swap = <1>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9341_pisen_wmb001n.dts

@@ -188,7 +188,8 @@
 &eth0 {
 	status = "okay";
 	phy-handle = <&swphy4>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
@@ -213,3 +214,13 @@
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9341_tplink_tl-wa.dtsi

@@ -54,7 +54,8 @@
 
 	phy-handle = <&swphy0>;
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -71,5 +72,16 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
+};
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
 };

+ 12 - 1
target/linux/ath79/dts/ar9342_ubnt_aircube-ac.dts

@@ -96,7 +96,8 @@
 	/* default for ar934x, except for 1000M and 10M */
 	pll-data = <0x06000000 0x00000101 0x00001313>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
@@ -111,3 +112,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9342_ubnt_wa_1port.dtsi

@@ -18,7 +18,8 @@
 	/* default for ar934x, except for 1000M and 10M */
 	pll-data = <0x02000000 0x00000101 0x00001313>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
 	phy-handle = <&phy4>;
@@ -29,3 +30,13 @@
 		rxdv-delay = <3>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9342_ubnt_wa_2port.dtsi

@@ -26,7 +26,8 @@
 	/* default for ar934x, except for 1000M and 10M */
 	pll-data = <0x06000000 0x00000101 0x00001313>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
@@ -37,3 +38,13 @@
 		rxdv-delay = <2>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9342_ubnt_xw.dtsi

@@ -110,5 +110,16 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
+};
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
 };

+ 16 - 3
target/linux/ath79/dts/ar9344_aerohive_hiveap-121.dts

@@ -106,7 +106,8 @@
 		compatible = "pci168c,0030";
 		reg = <0x0000 0 0 0 0>;
 
-		mtd-mac-address = <&hw_info 0x0>;
+		nvmem-cells = <&macaddr_hw_info_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <2>;
 	};
 };
@@ -160,7 +161,8 @@
 &wmac {
 	status = "okay";
 
-	mtd-mac-address = <&hw_info 0x0>;
+	nvmem-cells = <&macaddr_hw_info_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
@@ -215,7 +217,8 @@
 
 	pll-data = <0x06000000 0x00000101 0x00001313>;
 
-	mtd-mac-address = <&hw_info 0x0>;
+	nvmem-cells = <&macaddr_hw_info_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
 	phy-handle = <&phy0>;
@@ -227,3 +230,13 @@
 		rxdv-delay = <1>;
 	};
 };
+
+&hw_info {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_hw_info_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9344_alfa-network_n5q.dts

@@ -90,14 +90,16 @@
 &eth0 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	phy-handle = <&swphy4>;
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &ref {
@@ -149,3 +151,17 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9344_comfast_cf-e120a-v3.dts

@@ -120,7 +120,8 @@
 &eth0 {
 	status = "okay";
 	phy-handle = <&swphy0>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -130,10 +131,25 @@
 
 &eth1 {
 	status = "okay";
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9344_compex_wpj344-16m.dts

@@ -139,8 +139,19 @@
 
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&uboot 0x2e010>;
+	nvmem-cells = <&macaddr_uboot_2e010>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_2e010: macaddr@2e010 {
+		reg = <0x2e010 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9344_devolo_dlan_wifi.dtsi

@@ -130,7 +130,8 @@
 
 	pll-data = <0x02000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <2>;
 
 	phy-mode = "rgmii";
@@ -168,3 +169,13 @@
 		>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar9344_engenius_eap600.dts

@@ -29,17 +29,30 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-2)>;
 };
 
 &pcie {
 	wifi@0,0,0 {
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 	};
 };
 
 &wmac {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar9344_engenius_ecb600.dts

@@ -24,17 +24,30 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie {
 	wifi@0,0,0 {
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(-2)>;
 	};
 };
 
 &wmac {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 20 - 3
target/linux/ath79/dts/ar9344_netgear_wndr.dtsi

@@ -219,7 +219,8 @@
 	/* default for ar934x, except for 1000M */
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&caldata 0x0>;
+	nvmem-cells = <&macaddr_caldata_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
@@ -244,7 +245,8 @@
 &wmac {
 	status = "okay";
 
-	mtd-mac-address = <&caldata 0x0>;
+	nvmem-cells = <&macaddr_caldata_0>;
+	nvmem-cell-names = "mac-address";
 	qca,no-eeprom;
 };
 
@@ -254,9 +256,24 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,0033";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&caldata 0xc>;
+		nvmem-cells = <&macaddr_caldata_c>;
+		nvmem-cell-names = "mac-address";
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
 };
+
+&caldata {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_caldata_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_caldata_c: macaddr@c {
+		reg = <0xc 0x6>;
+	};
+};

+ 24 - 3
target/linux/ath79/dts/ar9344_ocedo_raccoon.dts

@@ -129,7 +129,8 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,0030";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0xc>;
+		nvmem-cells = <&macaddr_art_c>;
+		nvmem-cell-names = "mac-address";
 		qca,no-eeprom;
 		#gpio-cells = <2>;
 		gpio-controller;
@@ -140,7 +141,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &mdio0 {
@@ -158,8 +160,27 @@
 
 	pll-data = <0x06000000 0x00000101 0x00001313>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
 	phy-handle = <&phy0>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+
+	macaddr_art_c: macaddr@c {
+		reg = <0xc 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar9344_openmesh_mr600.dtsi

@@ -96,7 +96,8 @@
 
 	pll-data = <0x02000000 0x00000101 0x00001313>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
 	phy-handle = <&phy0>;
@@ -113,7 +114,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
@@ -124,7 +126,18 @@
 		compatible = "pci168c,0030";
 		reg = <0x0000 0 0 0 0>;
 		qca,no-eeprom;
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <8>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9344_openmesh_om5p.dts

@@ -145,13 +145,15 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -159,3 +161,17 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar9344_pcs_cap324.dts

@@ -118,7 +118,8 @@
 	ath9k: wifi@0,0 {
 		compatible = "168c,0030";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0x0>;
+		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <(-2)>;
 		mtd-cal-data = <&art 0x5000>;
 		qca,no-eeprom;
@@ -133,7 +134,8 @@
 
 	qca,disable-2ghz;
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
@@ -154,8 +156,19 @@
 	/* default for ar934x, except for 1000M */
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9344_pcs_cr5000.dts

@@ -125,7 +125,8 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,0030";
 		reg = <0x0000 0 0 0 0>;
-		mtd-mac-address = <&art 0x5002>;
+		nvmem-cells = <&macaddr_art_5002>;
+		nvmem-cell-names = "mac-address";
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
@@ -159,7 +160,8 @@
 	/* default for ar934x, except for 1000M */
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
@@ -209,3 +211,17 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_5002: macaddr@5002 {
+		reg = <0x5002 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9344_qxwlan_e750a-v4-16m.dts

@@ -24,14 +24,16 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&pridata 0x400>;
+	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&pridata 0x400>;
+	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -47,3 +49,13 @@
 		reg = <0x070000 0xf90000>;
 	};
 };
+
+&pridata {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_pridata_400: macaddr@400 {
+		reg = <0x400 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9344_qxwlan_e750a-v4-8m.dts

@@ -24,14 +24,16 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&pridata 0x400>;
+	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&pridata 0x400>;
+	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -47,3 +49,13 @@
 		reg = <0x070000 0x790000>;
 	};
 };
+
+&pridata {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_pridata_400: macaddr@400 {
+		reg = <0x400 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9344_qxwlan_e750g-v8-16m.dts

@@ -33,7 +33,8 @@
 
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&pridata 0x400>;
+	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
@@ -46,3 +47,13 @@
 		reg = <0x070000 0xf90000>;
 	};
 };
+
+&pridata {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_pridata_400: macaddr@400 {
+		reg = <0x400 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9344_qxwlan_e750g-v8-8m.dts

@@ -33,7 +33,8 @@
 
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&pridata 0x400>;
+	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
@@ -46,3 +47,13 @@
 		reg = <0x070000 0x790000>;
 	};
 };
+
+&pridata {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_pridata_400: macaddr@400 {
+		reg = <0x400 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9344_samsung_wam250.dts

@@ -66,7 +66,8 @@
 
 	phy-handle = <&swphy0>;
 
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 
 	gmac-config {
@@ -78,7 +79,8 @@
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 };
 
 &gpio {
@@ -154,3 +156,13 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9344_teltonika_rut955-h7v3c0.dts

@@ -164,14 +164,16 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&config 0x0>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&config 0x0>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &builtin_switch {
@@ -190,3 +192,13 @@
 		pinctrl-single,bits = <0x0 0x002e0000 0x00ff0000>;
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9344_teltonika_rut955.dts

@@ -163,14 +163,16 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&config 0x0>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&config 0x0>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &builtin_switch {
@@ -186,3 +188,13 @@
 					<0x14 0x08 0xff>;
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9344_teltonika_rut9xx.dtsi

@@ -147,7 +147,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&config 0x0>;
+	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <2>;
 };
 
@@ -171,3 +172,13 @@
 					<0x3c 0x000b0000 0x00ff0000>;
 	};
 };
+
+&config {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_config_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/ar9344_tplink_cpe.dtsi

@@ -84,7 +84,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&info 0x8>;
+	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth0 {
@@ -92,7 +93,8 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&info 0x8>;
+	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
@@ -114,3 +116,13 @@
 		line-name = "tp-link:ext:lna1";
 	};
 };
+
+&info {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_info_8: macaddr@8 {
+		reg = <0x8 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9344_tplink_cpe_2port.dtsi

@@ -45,7 +45,8 @@
 };
 
 &eth1 {
-	mtd-mac-address = <&info 0x8>;
+	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -53,3 +54,13 @@
 		switch-only-mode = <1>;
 	};
 };
+
+&info {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_info_8: macaddr@8 {
+		reg = <0x8 0x6>;
+	};
+};

+ 18 - 4
target/linux/ath79/dts/ar9344_tplink_tl-wdr3500-v1.dts

@@ -57,18 +57,21 @@
 };
 
 &ath9k {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &wmac {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 
 	gmac-config {
@@ -83,6 +86,17 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <2>;
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar9344_tplink_tl-wdr4300.dtsi

@@ -80,11 +80,13 @@
 };
 
 &ath9k {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
@@ -115,8 +117,19 @@
 	/* default for ar934x, except for 1000M */
 	pll-data = <0x06000000 0x00000101 0x00001616>;
 
-	mtd-mac-address = <&uboot 0x1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_1fc00: macaddr@1fc00 {
+		reg = <0x1fc00 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/ar9344_ubnt_unifi-ap-pro.dts

@@ -144,8 +144,19 @@
 
 	pll-data = <0x6000000 0x101 0x1616>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/ar9344_winchannel_wb2000.dts

@@ -141,7 +141,8 @@
 		compatible = "pci168c,0030";
 		reg = <0x0000 0 0 0 0>;
 		qca,no-eeprom;
-		mtd-mac-address = <&addr 0x0>;
+		nvmem-cells = <&macaddr_addr_0>;
+		nvmem-cell-names = "mac-address";
 		mac-address-increment = <0x10>;
 		#gpio-cells = <2>;
 		gpio-controller;
@@ -179,7 +180,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&addr 0x0>;
+	nvmem-cells = <&macaddr_addr_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &mdio0 {
@@ -197,7 +199,8 @@
 
 	pll-data = <0xe000000 0x04000101 0x04001313>;
 
-	mtd-mac-address = <&addr 0x0>;
+	nvmem-cells = <&macaddr_addr_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <0x21>;
 
 	phy-mode = "rgmii-rxid";
@@ -210,3 +213,13 @@
 		rxdv-delay = <1>;
 	};
 };
+
+&addr {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_addr_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/ar9344_zbtlink_zbt-wd323.dts

@@ -84,12 +84,14 @@
 &eth0 {
 	status = "okay";
 	phy-handle = <&swphy4>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &spi {
@@ -150,3 +152,17 @@
 		pinctrl-single,bits = <0x14 0x0 0xff00>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/qca9531_8dev_lima.dts

@@ -87,7 +87,8 @@
 
 	phy-handle = <&swphy0>;
 
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -98,7 +99,8 @@
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -106,3 +108,17 @@
 
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/qca9531_alfa-network_n2q.dts

@@ -106,15 +106,27 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-2)>;
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
 &pcie0 {
 	status = "okay";
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 12 - 1
target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts

@@ -45,7 +45,8 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
@@ -85,3 +86,13 @@
 		#trigger-source-cells = <0>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/qca9531_alfa-network_r36a.dts

@@ -50,7 +50,8 @@
 };
 
 &eth0 {
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-2)>;
 };
 
@@ -59,7 +60,8 @@
 	 * (GMAC0 -> eth0, GMAC1 -> eth1, same as in old ar71xx target) */
 	compatible = "qca,qca9530-eth", "syscon", "simple-mfd";
 
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <(-1)>;
 };
 
@@ -79,3 +81,13 @@
 		debounce-interval = <60>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/qca9531_comfast_cf-e130n-v2.dts

@@ -118,7 +118,8 @@
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -129,6 +130,17 @@
 &wmac {
 	status = "okay";
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/qca9531_comfast_cf-e313ac.dts

@@ -121,7 +121,8 @@
 
 	phy-handle = <&swphy0>;
 
-	mtd-mac-address = <&art 0x1002>;
+	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cell-names = "mac-address";
 
 	gmac-config {
 		device = <&gmac>;
@@ -130,7 +131,8 @@
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &pcie0 {
@@ -141,3 +143,17 @@
 		reg = <0 0 0 0 0>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_1002: macaddr@1002 {
+		reg = <0x1002 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/qca9531_comfast_cf-e314n-v2.dts

@@ -136,14 +136,30 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/qca9531_comfast_cf-e5.dts

@@ -121,11 +121,13 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x6>;
+	nvmem-cells = <&macaddr_art_6>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -139,3 +141,17 @@
 		pinctrl-single,bits = <0x4 0x0 0xff>;
 	};
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+
+	macaddr_art_6: macaddr@6 {
+		reg = <0x6 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts

@@ -150,18 +150,31 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <10>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 16 - 3
target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts

@@ -109,18 +109,31 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <1>;
 };
 
 &eth1 {
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <3>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 14 - 2
target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts

@@ -109,7 +109,8 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
@@ -121,6 +122,17 @@
 
 	mtd-cal-data = <&art 0x1000>;
 
-	mtd-mac-address = <&art 0x0>;
+	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cell-names = "mac-address";
 	mac-address-increment = <10>;
 };
+
+&art {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_art_0: macaddr@0 {
+		reg = <0x0 0x6>;
+	};
+};

+ 18 - 2
target/linux/ath79/dts/qca9531_compex_wpj531-16m.dts

@@ -105,11 +105,13 @@
 
 	phy-handle = <&swphy4>;
 
-	mtd-mac-address = <&uboot 0x2e010>;
+	nvmem-cells = <&macaddr_uboot_2e010>;
+	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	mtd-mac-address = <&uboot 0x2e018>;
+	nvmem-cells = <&macaddr_uboot_2e018>;
+	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
@@ -134,3 +136,17 @@
 &usb0 {
 	status = "okay";
 };
+
+&uboot {
+	compatible = "nvmem-cells";
+	#address-cells = <1>;
+	#size-cells = <1>;
+
+	macaddr_uboot_2e010: macaddr@2e010 {
+		reg = <0x2e010 0x6>;
+	};
+
+	macaddr_uboot_2e018: macaddr@2e018 {
+		reg = <0x2e018 0x6>;
+	};
+};

Some files were not shown because too many files changed in this diff