소스 검색

ath79: qca: remove mac-address-increment

nvmem-layout allows removal

Signed-off-by: Rosen Penev <[email protected]>
Rosen Penev 1 년 전
부모
커밋
b2f1c6ed52
83개의 변경된 파일338개의 추가작업 그리고 298개의 파일을 삭제
  1. 2 4
      target/linux/ath79/dts/qca9531_alfa-network_n2q.dts
  2. 1 2
      target/linux/ath79/dts/qca9531_alfa-network_pi-wifi4.dts
  3. 2 4
      target/linux/ath79/dts/qca9531_alfa-network_r36a.dts
  4. 3 1
      target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi
  5. 1 3
      target/linux/ath79/dts/qca9531_alfa-network_tube-2hq.dts
  6. 5 5
      target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts
  7. 5 5
      target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts
  8. 4 3
      target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts
  9. 4 3
      target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi
  10. 4 3
      target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts
  11. 4 3
      target/linux/ath79/dts/qca9531_glinet_gl-x300b.dts
  12. 4 3
      target/linux/ath79/dts/qca9531_glinet_gl-x750.dts
  13. 4 3
      target/linux/ath79/dts/qca9531_glinet_gl-xe300.dts
  14. 4 3
      target/linux/ath79/dts/qca9531_qxwlan_e600g.dtsi
  15. 4 3
      target/linux/ath79/dts/qca9531_teltonika_rut300.dts
  16. 5 4
      target/linux/ath79/dts/qca9531_tplink_archer-d50-v1.dts
  17. 5 4
      target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts
  18. 5 5
      target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts
  19. 4 3
      target/linux/ath79/dts/qca9531_tplink_tl-wr902ac-v1.dts
  20. 4 3
      target/linux/ath79/dts/qca9533_kuwfi_c910.dts
  21. 4 3
      target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi
  22. 5 5
      target/linux/ath79/dts/qca9533_plasmacloud_pa300.dtsi
  23. 4 3
      target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi
  24. 5 4
      target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi
  25. 5 4
      target/linux/ath79/dts/qca9533_tplink_tl-wr841hp-v3.dts
  26. 5 4
      target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts
  27. 5 4
      target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi
  28. 4 3
      target/linux/ath79/dts/qca9557_araknis_an-500-ap-i-ac.dts
  29. 5 6
      target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi
  30. 5 5
      target/linux/ath79/dts/qca9557_engenius_eap1200h.dts
  31. 4 3
      target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts
  32. 3 2
      target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts
  33. 4 3
      target/linux/ath79/dts/qca9558_araknis_an-700-ap-i-ac.dts
  34. 5 5
      target/linux/ath79/dts/qca9558_aruba_ap-115.dts
  35. 4 3
      target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi
  36. 4 3
      target/linux/ath79/dts/qca9558_comfast_cf-e380ac-v2.dts
  37. 1 2
      target/linux/ath79/dts/qca9558_devolo_dvl1200e.dts
  38. 1 2
      target/linux/ath79/dts/qca9558_devolo_dvl1750e.dts
  39. 4 3
      target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi
  40. 5 5
      target/linux/ath79/dts/qca9558_engenius_eap1750h.dts
  41. 6 7
      target/linux/ath79/dts/qca9558_engenius_ews660ap.dts
  42. 4 3
      target/linux/ath79/dts/qca9558_openmesh_a60.dtsi
  43. 4 3
      target/linux/ath79/dts/qca9558_openmesh_mr.dtsi
  44. 1 2
      target/linux/ath79/dts/qca9558_openmesh_mr900-v1.dts
  45. 1 2
      target/linux/ath79/dts/qca9558_openmesh_mr900-v2.dts
  46. 4 3
      target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v1.dts
  47. 4 3
      target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts
  48. 4 3
      target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi
  49. 5 4
      target/linux/ath79/dts/qca9558_tplink_archer-c5-v1.dts
  50. 5 4
      target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
  51. 6 6
      target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts
  52. 5 4
      target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts
  53. 5 4
      target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts
  54. 4 3
      target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi
  55. 6 7
      target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts
  56. 5 4
      target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts
  57. 5 4
      target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi
  58. 3 2
      target/linux/ath79/dts/qca9558_watchguard_ap300.dts
  59. 5 4
      target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts
  60. 5 4
      target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts
  61. 5 4
      target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts
  62. 5 4
      target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts
  63. 5 4
      target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts
  64. 5 4
      target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts
  65. 5 4
      target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts
  66. 5 5
      target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts
  67. 6 7
      target/linux/ath79/dts/qca9561_tplink_tl-wdr6500-v2.dts
  68. 4 3
      target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts
  69. 4 3
      target/linux/ath79/dts/qca9563_comfast_cf-e375ac.dts
  70. 3 2
      target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts
  71. 3 2
      target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts
  72. 3 3
      target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v1.dts
  73. 3 3
      target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts
  74. 3 3
      target/linux/ath79/dts/qca9563_tplink_eap225-v1.dts
  75. 3 3
      target/linux/ath79/dts/qca9563_tplink_eap225-v3.dts
  76. 3 3
      target/linux/ath79/dts/qca9563_tplink_eap225-v4.dts
  77. 3 3
      target/linux/ath79/dts/qca9563_tplink_eap245-v1.dts
  78. 5 5
      target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts
  79. 2 2
      target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi
  80. 5 4
      target/linux/ath79/dts/qca9563_zte_mf281.dts
  81. 5 4
      target/linux/ath79/dts/qca9563_zte_mf282.dts
  82. 5 4
      target/linux/ath79/dts/qca9563_zte_mf286.dts
  83. 5 4
      target/linux/ath79/dts/qca9563_zte_mf286ar.dtsi

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

@@ -106,15 +106,13 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-2)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-2)>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 };
 
 &pcie0 {

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

@@ -45,9 +45,8 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 };
 
 &eth1 {

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

@@ -50,9 +50,8 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-2)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-2)>;
 };
 
 &eth1 {
@@ -60,9 +59,8 @@
 	 * (GMAC0 -> eth0, GMAC1 -> eth1, same as in old ar71xx target) */
 	compatible = "qca,qca9530-eth", "syscon", "simple-mfd";
 
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 };
 
 &gpio_export {

+ 3 - 1
target/linux/ath79/dts/qca9531_alfa-network_r36a.dtsi

@@ -97,7 +97,9 @@
 					};
 
 					macaddr_art_1002: macaddr@1002 {
+						compatible = "mac-base";
 						reg = <0x1002 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -122,6 +124,6 @@
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&cal_art_1000>, <&macaddr_art_1002>;
+	nvmem-cells = <&cal_art_1000>, <&macaddr_art_1002 0>;
 	nvmem-cell-names = "calibration", "mac-address";
 };

+ 1 - 3
target/linux/ath79/dts/qca9531_alfa-network_tube-2hq.dts

@@ -46,10 +46,8 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-1)>;
 	nvmem-cell-names = "mac-address";
-
-	mac-address-increment = <(-1)>;
 };
 
 &eth1 {

+ 5 - 5
target/linux/ath79/dts/qca9531_comfast_cf-e560ac.dts

@@ -110,7 +110,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -153,13 +155,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -167,7 +168,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 10>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <10>;
 };

+ 5 - 5
target/linux/ath79/dts/qca9531_comfast_cf-ew72.dts

@@ -94,7 +94,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -119,13 +121,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -133,7 +134,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 3>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <3>;
 };

+ 4 - 3
target/linux/ath79/dts/qca9531_comfast_cf-wr752ac-v1.dts

@@ -94,7 +94,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -119,7 +121,7 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -132,7 +134,6 @@
 
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 10>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <10>;
 };

+ 4 - 3
target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi

@@ -121,7 +121,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -164,14 +166,13 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &wmac {

+ 4 - 3
target/linux/ath79/dts/qca9531_glinet_gl-ar750.dts

@@ -120,7 +120,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -139,14 +141,13 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &wmac {

+ 4 - 3
target/linux/ath79/dts/qca9531_glinet_gl-x300b.dts

@@ -115,7 +115,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -133,16 +135,15 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&swphy4>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &wmac {

+ 4 - 3
target/linux/ath79/dts/qca9531_glinet_gl-x750.dts

@@ -102,7 +102,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -121,14 +123,13 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &wmac {

+ 4 - 3
target/linux/ath79/dts/qca9531_glinet_gl-xe300.dts

@@ -115,7 +115,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -155,14 +157,13 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &wmac {

+ 4 - 3
target/linux/ath79/dts/qca9531_qxwlan_e600g.dtsi

@@ -86,7 +86,9 @@
 					#size-cells = <1>;
 
 					macaddr_pridata_400: macaddr@400 {
+						compatible = "mac-base";
 						reg = <0x400 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -105,13 +107,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cells = <&macaddr_pridata_400 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cells = <&macaddr_pridata_400 0>;
 	nvmem-cell-names = "mac-address";
 };
 

+ 4 - 3
target/linux/ath79/dts/qca9531_teltonika_rut300.dts

@@ -91,7 +91,9 @@
 					#size-cells = <1>;
 
 					macaddr_config_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -132,14 +134,13 @@
 	status = "okay";
 	phy-handle = <&swphy0>;
 
-	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cells = <&macaddr_config_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
 	phy-handle = <&swphy4>;
-	nvmem-cells = <&macaddr_config_0>;
+	nvmem-cells = <&macaddr_config_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	gmac-config {

+ 5 - 4
target/linux/ath79/dts/qca9531_tplink_archer-d50-v1.dts

@@ -131,7 +131,9 @@
 					#size-cells = <1>;
 
 					macaddr_romfile_f100: macaddr@f100 {
+						compatible = "mac-base";
 						reg = <0xf100 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -156,13 +158,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_romfile_f100>;
+	nvmem-cells = <&macaddr_romfile_f100 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_romfile_f100>;
+	nvmem-cells = <&macaddr_romfile_f100 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -170,7 +171,7 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_romfile_f100>;
+	nvmem-cells = <&macaddr_romfile_f100 0>;
 	nvmem-cell-names = "mac-address";
 };
 

+ 5 - 4
target/linux/ath79/dts/qca9531_tplink_tl-mr3420-v3.dts

@@ -156,7 +156,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -181,13 +183,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -195,7 +196,7 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 

+ 5 - 5
target/linux/ath79/dts/qca9531_tplink_tl-mr6400-v1.dts

@@ -113,7 +113,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -138,22 +140,20 @@
 
 	phy-handle = <&swphy0>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 };
 
 &wmac {
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 

+ 4 - 3
target/linux/ath79/dts/qca9531_tplink_tl-wr902ac-v1.dts

@@ -132,7 +132,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -157,9 +159,8 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
@@ -170,7 +171,7 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 

+ 4 - 3
target/linux/ath79/dts/qca9533_kuwfi_c910.dts

@@ -150,7 +150,9 @@
 					};
 
 					macaddr_art_1002: macaddr@1002 {
+						compatible = "mac-base";
 						reg = <0x1002 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -171,15 +173,14 @@
 
 	phy-handle = <&swphy0>;
 
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 0>;
 	nvmem-cell-names = "mac-address";
 
 	gmac-config {

+ 4 - 3
target/linux/ath79/dts/qca9533_openmesh_om2p-v4.dtsi

@@ -129,7 +129,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 
 					macaddr_art_6: macaddr@6 {
@@ -146,7 +148,7 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -164,7 +166,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 2>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <2>;
 };

+ 5 - 5
target/linux/ath79/dts/qca9533_plasmacloud_pa300.dtsi

@@ -111,7 +111,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -124,7 +126,7 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -134,16 +136,14 @@
 	 */
 	compatible = "qca,qca9530-eth", "syscon", "simple-mfd";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &wmac {
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 2>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <2>;
 };

+ 4 - 3
target/linux/ath79/dts/qca9533_tplink_tl-wr802n.dtsi

@@ -58,7 +58,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -83,9 +85,8 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
@@ -96,6 +97,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9533_tplink_tl-wr841.dtsi

@@ -93,7 +93,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -118,13 +120,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -132,6 +133,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9533_tplink_tl-wr841hp-v3.dts

@@ -115,7 +115,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -140,13 +142,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -154,6 +155,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9533_tplink_tl-wr842n-v3.dts

@@ -126,7 +126,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -151,13 +153,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -165,6 +166,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca953x_tplink_tl-wr810n.dtsi

@@ -75,7 +75,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -100,13 +102,12 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -114,6 +115,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 4 - 3
target/linux/ath79/dts/qca9557_araknis_an-500-ap-i-ac.dts

@@ -66,7 +66,9 @@
 			#size-cells = <1>;
 
 			macaddr_art_0: macaddr@0 {
+				compatible = "mac-base";
 				reg = <0x0 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -85,7 +87,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy5>;
@@ -99,9 +101,8 @@
 
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &pcie0 {

+ 5 - 6
target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi

@@ -108,7 +108,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 
 					cal_art_1000: cal@1000 {
@@ -156,18 +158,16 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
+		nvmem-cells = <&macaddr_art_0 4>, <&cal_art_5000>;
 		nvmem-cell-names = "mac-address", "calibration";
-		mac-address-increment = <4>;
 	};
 };
 
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>, <&cal_art_1000>;
+	nvmem-cells = <&macaddr_art_0 3>, <&cal_art_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <3>;
 };
 
 &usb_phy0 {
@@ -198,9 +198,8 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 	phy-handle = <&phy0>;
 	pll-data = <0xa6000000 0x00000101 0x00001616>;
 

+ 5 - 5
target/linux/ath79/dts/qca9557_engenius_eap1200h.dts

@@ -68,7 +68,9 @@
 			#size-cells = <1>;
 
 			macaddr_art_0: macaddr@0 {
+				compatible = "mac-base";
 				reg = <0x0 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 
 			calibration_art_1000: calibration@1000 {
@@ -95,7 +97,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy5>;
@@ -107,17 +109,15 @@
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+	nvmem-cells = <&macaddr_art_0 1>, <&calibration_art_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <1>;
 };
 
 &ath10k_0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
+	nvmem-cells = <&macaddr_art_0 2>, <&calibration_art_5000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <2>;
 };
 
 &pcie0 {

+ 4 - 3
target/linux/ath79/dts/qca9557_engenius_enstationac-v1.dts

@@ -72,7 +72,9 @@
 			#size-cells = <1>;
 
 			macaddr_art_0: macaddr@0 {
+				compatible = "mac-base";
 				reg = <0x0 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -98,7 +100,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy1>;
@@ -110,9 +112,8 @@
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 
 	phy-handle = <&phy2>;
 

+ 3 - 2
target/linux/ath79/dts/qca9558_allnet_all-wap02860ac.dts

@@ -90,7 +90,9 @@
 			#size-cells = <1>;
 
 			macaddr_art_0: macaddr@0 {
+				compatible = "mac-base";
 				reg = <0x0 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -100,9 +102,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &pcie0 {

+ 4 - 3
target/linux/ath79/dts/qca9558_araknis_an-700-ap-i-ac.dts

@@ -75,7 +75,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy5>;
@@ -88,9 +88,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &pcie0 {
@@ -104,7 +103,9 @@
 		#size-cells = <1>;
 
 		macaddr_art_0: macaddr@0 {
+			compatible = "mac-base";
 			reg = <0x0 0x6>;
+			#nvmem-cell-cells = <1>;
 		};
 	};
 };

+ 5 - 5
target/linux/ath79/dts/qca9558_aruba_ap-115.dts

@@ -97,10 +97,8 @@
 		reg = <0x0000 0 0 0 0>;
 		qca,no-eeprom;
 
-		nvmem-cells = <&macaddr_oemdata_1d>;
+		nvmem-cells = <&macaddr_oemdata_1d 1>;
 		nvmem-cell-names = "mac-address";
-
-		mac-address-increment = <1>;
 	};
 };
 
@@ -171,7 +169,9 @@
 					#size-cells = <1>;
 
 					macaddr_oemdata_1d: macaddr@1d {
+						compatible = "mac-base";
 						reg = <0x1d 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -188,7 +188,7 @@
 	status = "okay";
 
 	qca,no-eeprom;
-	nvmem-cells = <&macaddr_oemdata_1d>;
+	nvmem-cells = <&macaddr_oemdata_1d 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -210,7 +210,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_oemdata_1d>;
+	nvmem-cells = <&macaddr_oemdata_1d 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy0>;

+ 4 - 3
target/linux/ath79/dts/qca9558_belkin_f9x-v2.dtsi

@@ -158,7 +158,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -188,7 +190,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 	phy-handle = <&phy0>;
 	pll-data = <0xa6000000 0x00000101 0x00001616>;
@@ -202,9 +204,8 @@
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 	pll-data = <0x03000101 0x00000101 0x00001616>;
 
 	fixed-link {

+ 4 - 3
target/linux/ath79/dts/qca9558_comfast_cf-e380ac-v2.dts

@@ -98,7 +98,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -121,7 +123,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	pll-data = <0xbe000000 0xb0000101 0xb0001313>;
@@ -144,7 +146,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 10>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <10>;
 };

+ 1 - 2
target/linux/ath79/dts/qca9558_devolo_dvl1200e.dts

@@ -58,9 +58,8 @@
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 
 	phy-handle = <&phy1>;
 	pll-data = <0x03000101 0x00000101 0x00001313>;

+ 1 - 2
target/linux/ath79/dts/qca9558_devolo_dvl1750e.dts

@@ -93,9 +93,8 @@
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 
 	phy-handle = <&phy1>;
 	pll-data = <0x03000101 0x00000101 0x00001313>;

+ 4 - 3
target/linux/ath79/dts/qca9558_devolo_dvl1xxx.dtsi

@@ -76,7 +76,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -109,7 +111,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 	phy-handle = <&phy4>;
 
@@ -124,7 +126,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 (-2)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-2)>;
 };

+ 5 - 5
target/linux/ath79/dts/qca9558_engenius_eap1750h.dts

@@ -68,7 +68,9 @@
 			#size-cells = <1>;
 
 			macaddr_art_0: macaddr@0 {
+				compatible = "mac-base";
 				reg = <0x0 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 
 			calibration_art_1000: calibration@1000 {
@@ -95,7 +97,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy5>;
@@ -107,17 +109,15 @@
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+	nvmem-cells = <&macaddr_art_0 1>, <&calibration_art_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <1>;
 };
 
 &ath10k_0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
+	nvmem-cells = <&macaddr_art_0 2>, <&calibration_art_5000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <2>;
 };
 
 &pcie0 {

+ 6 - 7
target/linux/ath79/dts/qca9558_engenius_ews660ap.dts

@@ -56,7 +56,9 @@
 			#size-cells = <1>;
 
 			macaddr_art_0: macaddr@0 {
+				compatible = "mac-base";
 				reg = <0x0 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 
 			calibration_art_1000: calibration@1000 {
@@ -90,7 +92,7 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-handle = <&phy1>;
@@ -102,9 +104,8 @@
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 
 	phy-handle = <&phy2>;
 
@@ -116,17 +117,15 @@
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+	nvmem-cells = <&macaddr_art_0 2>, <&calibration_art_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <2>;
 };
 
 &ath10k_1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
+	nvmem-cells = <&macaddr_art_0 3>, <&calibration_art_5000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <3>;
 };
 
 &pcie1 {

+ 4 - 3
target/linux/ath79/dts/qca9558_openmesh_a60.dtsi

@@ -118,7 +118,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 
 					macaddr_art_6: macaddr@6 {
@@ -152,7 +154,7 @@
 
 	pll-data = <0x82000101 0x80000101 0x80001313>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
@@ -185,9 +187,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 2>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <2>;
 };
 
 &pcie0 {

+ 4 - 3
target/linux/ath79/dts/qca9558_openmesh_mr.dtsi

@@ -126,7 +126,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -149,7 +151,7 @@
 
 	pll-data = <0x82000000 0x80000101 0x80001313>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
@@ -165,9 +167,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &pcie0 {

+ 1 - 2
target/linux/ath79/dts/qca9558_openmesh_mr900-v1.dts

@@ -19,8 +19,7 @@
 	wifi@0,0 {
 		compatible = "pci168c,0033";
 		reg = <0x0000 0 0 0 0>;
-		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cells = <&macaddr_art_0 16>;
 		nvmem-cell-names = "mac-address";
-		mac-address-increment = <16>;
 	};
 };

+ 1 - 2
target/linux/ath79/dts/qca9558_openmesh_mr900-v2.dts

@@ -19,8 +19,7 @@
 	wifi@0,0 {
 		compatible = "pci168c,0033";
 		reg = <0x0000 0 0 0 0>;
-		nvmem-cells = <&macaddr_art_0>;
+		nvmem-cells = <&macaddr_art_0 16>;
 		nvmem-cell-names = "mac-address";
-		mac-address-increment = <16>;
 	};
 };

+ 4 - 3
target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v1.dts

@@ -137,7 +137,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 
 					macaddr_art_6: macaddr@6 {
@@ -171,7 +173,7 @@
 
 	pll-data = <0x82000101 0x80000101 0x80001313>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
@@ -204,9 +206,8 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 2>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <2>;
 };
 
 &pcie1 {

+ 4 - 3
target/linux/ath79/dts/qca9558_openmesh_om5p-ac-v2.dts

@@ -167,7 +167,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 
 					macaddr_art_6: macaddr@6 {
@@ -205,7 +207,7 @@
 
 	pll-data = <0x82000101 0x80000101 0x80001313>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 
 	phy-mode = "rgmii-id";
@@ -238,7 +240,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 2>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <2>;
 };

+ 4 - 3
target/linux/ath79/dts/qca9558_qxwlan_e558.dtsi

@@ -96,7 +96,9 @@
 					#size-cells = <1>;
 
 					macaddr_pridata_400: macaddr@400 {
+						compatible = "mac-base";
 						reg = <0x400 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -137,9 +139,8 @@
 
 	phy-handle = <&phy0>;
 
-	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cells = <&macaddr_pridata_400 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
@@ -147,7 +148,7 @@
 
 	pll-data = <0x03000101 0x00000101 0x00001616>;
 
-	nvmem-cells = <&macaddr_pridata_400>;
+	nvmem-cells = <&macaddr_pridata_400 0>;
 	nvmem-cell-names = "mac-address";
 
 	fixed-link {

+ 5 - 4
target/linux/ath79/dts/qca9558_tplink_archer-c5-v1.dts

@@ -40,7 +40,9 @@
 			#size-cells = <1>;
 
 			macaddr_uboot_1fc00: macaddr@1fc00 {
+				compatible = "mac-base";
 				reg = <0x1fc00 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -59,19 +61,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts

@@ -40,7 +40,9 @@
 			#size-cells = <1>;
 
 			macaddr_uboot_1fc00: macaddr@1fc00 {
+				compatible = "mac-base";
 				reg = <0x1fc00 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -69,17 +71,16 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
-	nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>, <&calibration_art_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 6 - 6
target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts

@@ -41,7 +41,9 @@
 			#size-cells = <1>;
 
 			macaddr_uboot_1fc00: macaddr@1fc00 {
+				compatible = "mac-base";
 				reg = <0x1fc00 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -74,13 +76,12 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -91,13 +92,12 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <(-1)>;
-		nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_5000>;
+		nvmem-cells = <&macaddr_uboot_1fc00 (-1)>, <&calibration_art_5000>;
 		nvmem-cell-names = "mac-address", "calibration";
 	};
 };
 
 &wmac {
-	nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>, <&calibration_art_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 5 - 4
target/linux/ath79/dts/qca9558_tplink_archer-d7-v1.dts

@@ -59,7 +59,9 @@
 					#size-cells = <1>;
 
 					macaddr_romfs_f100: macaddr@f100 {
+						compatible = "mac-base";
 						reg = <0xf100 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -80,18 +82,17 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_romfs_f100>;
+	nvmem-cells = <&macaddr_romfs_f100 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_romfs_f100>;
+	nvmem-cells = <&macaddr_romfs_f100 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_romfs_f100>;
+	nvmem-cells = <&macaddr_romfs_f100 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9558_tplink_archer-d7b-v1.dts

@@ -53,7 +53,9 @@
 					#size-cells = <1>;
 
 					macaddr_romfs_f100: macaddr@f100 {
+						compatible = "mac-base";
 						reg = <0xf100 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -74,18 +76,17 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_romfs_f100>;
+	nvmem-cells = <&macaddr_romfs_f100 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_romfs_f100>;
+	nvmem-cells = <&macaddr_romfs_f100 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_romfs_f100>;
+	nvmem-cells = <&macaddr_romfs_f100 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 4 - 3
target/linux/ath79/dts/qca9558_tplink_rex5x.dtsi

@@ -142,7 +142,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -168,7 +170,7 @@
 	phy-handle = <&phy4>;
 	pll-data = <0xa6000000 0x00000101 0x00001616>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -176,7 +178,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 };

+ 6 - 7
target/linux/ath79/dts/qca9558_tplink_tl-wdr4900-v2.dts

@@ -96,9 +96,8 @@
 	ath9k: wifi@0,0 {
 		compatible = "pci168c,0033";
 		reg = <0x0000 0 0 0 0>;
-		nvmem-cells = <&macaddr_uboot_1fc00>, <&cal_ath9k_pci>;
+		nvmem-cells = <&macaddr_uboot_1fc00 (-2)>, <&cal_ath9k_pci>;
 		nvmem-cell-names = "mac-address", "calibration";
-		mac-address-increment = <(-2)>;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
@@ -144,7 +143,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -200,9 +201,8 @@
 &eth0 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 	phy-handle = <&phy0>;
 	pll-data = <0x56000000 0x00000101 0x00001616>;
 
@@ -215,7 +215,7 @@
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 	pll-data = <0x03000101 0x00000101 0x00001616>;
 
@@ -228,7 +228,6 @@
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_uboot_1fc00>, <&cal_ath9k_soc>;
+	nvmem-cells = <&macaddr_uboot_1fc00 (-1)>, <&cal_ath9k_soc>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <(-1)>;
 };

+ 5 - 4
target/linux/ath79/dts/qca9558_tplink_tl-wdr7500-v3.dts

@@ -40,7 +40,9 @@
 			#size-cells = <1>;
 
 			macaddr_uboot_1fc00: macaddr@1fc00 {
+				compatible = "mac-base";
 				reg = <0x1fc00 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -59,19 +61,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9558_tplink_tl-wr1043nd.dtsi

@@ -104,7 +104,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_1fc00: macaddr@1fc00 {
+						compatible = "mac-base";
 						reg = <0x1fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -148,9 +150,8 @@
 
 	pll-data = <0x56000000 0x00000101 0x00001616>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 	phy-handle = <&phy0>;
 };
 
@@ -159,7 +160,7 @@
 
 	pll-data = <0x03000101 0x00000101 0x00001616>;
 
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 
 	fixed-link {
@@ -171,6 +172,6 @@
 &wmac {
 	status = "okay";
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_uboot_1fc00>;
+	nvmem-cells = <&macaddr_uboot_1fc00 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 3 - 2
target/linux/ath79/dts/qca9558_watchguard_ap300.dts

@@ -111,7 +111,9 @@
 			#size-cells = <1>;
 
 			macaddr_art_0: macaddr@0 {
+				compatible = "mac-base";
 				reg = <0x0 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
@@ -126,9 +128,8 @@
 
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &pcie0 {

+ 5 - 4
target/linux/ath79/dts/qca9561_tplink_archer-c25-v1.dts

@@ -159,7 +159,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -182,22 +184,21 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &wmac {
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9561_tplink_archer-c58-v1.dts

@@ -41,7 +41,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -68,19 +70,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9561_tplink_archer-c59-v1.dts

@@ -58,7 +58,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -85,19 +87,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9561_tplink_archer-c59-v2.dts

@@ -64,7 +64,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -91,19 +93,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9561_tplink_archer-c60-v1.dts

@@ -53,7 +53,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -80,19 +82,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9561_tplink_archer-c60-v2.dts

@@ -53,7 +53,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -86,19 +88,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 4
target/linux/ath79/dts/qca9561_tplink_archer-c60-v3.dts

@@ -48,7 +48,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -81,19 +83,18 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	mtd-cal-data = <&art 0x1000>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };

+ 5 - 5
target/linux/ath79/dts/qca9561_tplink_eap225-wall-v2.dts

@@ -63,9 +63,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>;
 		nvmem-cell-names = "mac-address", "pre-calibration";
 	};
 };
@@ -106,7 +104,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -163,13 +163,13 @@
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_info_8>, <&calibration_ath9k>;
+	nvmem-cells = <&macaddr_info_8 0>, <&calibration_ath9k>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 6 - 7
target/linux/ath79/dts/qca9561_tplink_tl-wdr6500-v2.dts

@@ -87,7 +87,9 @@
 					#size-cells = <1>;
 
 					macaddr_uboot_0fc00: macaddr@0fc00 {
+						compatible = "mac-base";
 						reg = <0x0fc00 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -132,9 +134,8 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		nvmem-cells = <&macaddr_uboot_0fc00>, <&calibration_ath10k>;
+		nvmem-cells = <&macaddr_uboot_0fc00 (-2)>, <&calibration_ath10k>;
 		nvmem-cell-names = "mac-address", "calibration";
-		mac-address-increment = <(-2)>;
 	};
 };
 
@@ -147,24 +148,22 @@
 
 	phy-handle = <&swphy4>;
 
-	nvmem-cells = <&macaddr_uboot_0fc00>;
+	nvmem-cells = <&macaddr_uboot_0fc00 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };
 
 &eth1 {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_uboot_0fc00>;
+	nvmem-cells = <&macaddr_uboot_0fc00 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_uboot_0fc00>, <&calibration_ath9k>;
+	nvmem-cells = <&macaddr_uboot_0fc00 (-1)>, <&calibration_ath9k>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <(-1)>;
 };
 
 &usb0 {

+ 4 - 3
target/linux/ath79/dts/qca9561_xiaomi_mi-router-4q.dts

@@ -100,7 +100,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 
 					macaddr_art_6: macaddr@6 {
@@ -134,7 +136,7 @@
 	status = "okay";
 
 	phy-handle = <&swphy4>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
@@ -149,7 +151,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 1>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <1>;
 };

+ 4 - 3
target/linux/ath79/dts/qca9563_comfast_cf-e375ac.dts

@@ -91,7 +91,9 @@
 					#size-cells = <1>;
 
 					macaddr_art_0: macaddr@0 {
+						compatible = "mac-base";
 						reg = <0x0 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -132,7 +134,7 @@
 	pll-data = <0x03000101 0x00000101 0x00001919>;
 
 	phy-mode = "sgmii";
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 0>;
 	nvmem-cell-names = "mac-address";
 	phy-handle = <&phy0>;
 };
@@ -141,7 +143,6 @@
 	status = "okay";
 
 	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_art_0>;
+	nvmem-cells = <&macaddr_art_0 10>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <10>;
 };

+ 3 - 2
target/linux/ath79/dts/qca9563_elecom_wrc-1750ghbk2-i.dts

@@ -55,7 +55,9 @@
 			};
 
 			macaddr_art_1002: macaddr@1002 {
+				compatible = "mac-base";
 				reg = <0x1002 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 
 			cal_art_5000: cal@5000 {
@@ -77,9 +79,8 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 };
 
 &wmac {

+ 3 - 2
target/linux/ath79/dts/qca9563_elecom_wrc-300ghbk2-i.dts

@@ -49,16 +49,17 @@
 			};
 
 			macaddr_art_1002: macaddr@1002 {
+				compatible = "mac-base";
 				reg = <0x1002 0x6>;
+				#nvmem-cell-cells = <1>;
 			};
 		};
 	};
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_art_1002>;
+	nvmem-cells = <&macaddr_art_1002 (-1)>;
 	nvmem-cell-names = "mac-address";
-	mac-address-increment = <(-1)>;
 };
 
 &wmac {

+ 3 - 3
target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v1.dts

@@ -36,7 +36,9 @@
 		#size-cells = <1>;
 
 		macaddr_info_8: macaddr@8 {
+			compatible = "mac-base";
 			reg = <0x8 0x6>;
+			#nvmem-cell-cells = <1>;
 		};
 
 		precalibration_ath10k: pre-calibration@5000 {
@@ -62,9 +64,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>;
 		nvmem-cell-names = "mac-address", "pre-calibration";
 	};
 };

+ 3 - 3
target/linux/ath79/dts/qca9563_tplink_eap225-outdoor-v3.dts

@@ -36,7 +36,9 @@
 		#size-cells = <1>;
 
 		macaddr_info_8: macaddr@8 {
+			compatible = "mac-base";
 			reg = <0x8 0x6>;
+			#nvmem-cell-cells = <1>;
 		};
 
 		precalibration_ath10k: pre-calibration@5000 {
@@ -61,9 +63,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>;
 		nvmem-cell-names = "mac-address", "pre-calibration";
 	};
 };

+ 3 - 3
target/linux/ath79/dts/qca9563_tplink_eap225-v1.dts

@@ -57,7 +57,9 @@
 		#size-cells = <1>;
 
 		macaddr_info_8: macaddr@8 {
+			compatible = "mac-base";
 			reg = <0x8 0x6>;
+			#nvmem-cell-cells = <1>;
 		};
 
 		calibration_ath10k: calibration@5000 {
@@ -83,9 +85,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&calibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&calibration_ath10k>;
 		nvmem-cell-names = "mac-address", "calibration";
 	};
 };

+ 3 - 3
target/linux/ath79/dts/qca9563_tplink_eap225-v3.dts

@@ -36,7 +36,9 @@
 		#size-cells = <1>;
 
 		macaddr_info_8: macaddr@8 {
+			compatible = "mac-base";
 			reg = <0x8 0x6>;
+			#nvmem-cell-cells = <1>;
 		};
 
 		precalibration_ath10k: pre-calibration@5000 {
@@ -62,9 +64,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>;
 		nvmem-cell-names = "mac-address", "pre-calibration";
 	};
 };

+ 3 - 3
target/linux/ath79/dts/qca9563_tplink_eap225-v4.dts

@@ -36,7 +36,9 @@
 		#size-cells = <1>;
 
 		macaddr_info_8: macaddr@8 {
+			compatible = "mac-base";
 			reg = <0x8 0x6>;
+			#nvmem-cell-cells = <1>;
 		};
 
 		precalibration_ath10k: pre-calibration@5000 {
@@ -61,9 +63,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&precalibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&precalibration_ath10k>;
 		nvmem-cell-names = "mac-address", "pre-calibration";
 	};
 };

+ 3 - 3
target/linux/ath79/dts/qca9563_tplink_eap245-v1.dts

@@ -50,7 +50,9 @@
 		#size-cells = <1>;
 
 		macaddr_info_8: macaddr@8 {
+			compatible = "mac-base";
 			reg = <0x8 0x6>;
+			#nvmem-cell-cells = <1>;
 		};
 
 		calibration_ath10k: calibration@5000 {
@@ -76,9 +78,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&calibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&calibration_ath10k>;
 		nvmem-cell-names = "mac-address", "calibration";
 	};
 };

+ 5 - 5
target/linux/ath79/dts/qca9563_tplink_eap245-v3.dts

@@ -51,9 +51,7 @@
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
 
-		mac-address-increment = <1>;
-
-		nvmem-cells = <&macaddr_info_8>, <&calibration_ath10k>;
+		nvmem-cells = <&macaddr_info_8 1>, <&calibration_ath10k>;
 		nvmem-cell-names = "mac-address", "pre-calibration";
 	};
 };
@@ -100,7 +98,9 @@
 					#size-cells = <1>;
 
 					macaddr_info_8: macaddr@8 {
+						compatible = "mac-base";
 						reg = <0x8 0x6>;
+						#nvmem-cell-cells = <1>;
 					};
 				};
 			};
@@ -178,13 +178,13 @@
 	phy-handle = <&phy0>;
 	phy-mode = "sgmii";
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_info_8>, <&calibration_ath9k>;
+	nvmem-cells = <&macaddr_info_8 0>, <&calibration_ath9k>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 2 - 2
target/linux/ath79/dts/qca9563_tplink_eap2x5-1port.dtsi

@@ -115,7 +115,7 @@
 
 	pll-data = <0x03000000 0x00000101 0x00001313>;
 
-	nvmem-cells = <&macaddr_info_8>;
+	nvmem-cells = <&macaddr_info_8 0>;
 	nvmem-cell-names = "mac-address";
 
 	qca956x-serdes-fixup;
@@ -128,6 +128,6 @@
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&macaddr_info_8>, <&calibration_ath9k>;
+	nvmem-cells = <&macaddr_info_8 0>, <&calibration_ath9k>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 5 - 4
target/linux/ath79/dts/qca9563_zte_mf281.dts

@@ -75,7 +75,9 @@
 				#size-cells = <1>;
 
 				macaddr_mac_0: macaddr@0 {
+					compatible = "mac-base";
 					reg = <0x0 0x6>;
+					#nvmem-cell-cells = <1>;
 				};
 			};
 		};
@@ -150,14 +152,13 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_mac_0>;
+	nvmem-cells = <&macaddr_mac_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wifi_ath10k {
-	nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_5000>;
+	nvmem-cells = <&macaddr_mac_0 1>, <&cal_caldata_5000>;
 	nvmem-cell-names = "mac-address", "pre-calibration";
-	mac-address-increment = <1>;
 };
 
 &pinmux {
@@ -167,6 +168,6 @@
 };
 
 &wmac {
-	nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_1000>;
+	nvmem-cells = <&macaddr_mac_0 0>, <&cal_caldata_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 5 - 4
target/linux/ath79/dts/qca9563_zte_mf282.dts

@@ -87,7 +87,9 @@
 				#size-cells = <1>;
 
 				macaddr_mac_0: macaddr@0 {
+					compatible = "mac-base";
 					reg = <0x0 0x6>;
+					#nvmem-cell-cells = <1>;
 				};
 			};
 		};
@@ -117,17 +119,16 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_mac_0>;
+	nvmem-cells = <&macaddr_mac_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wifi_ath10k {
-	nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_5000>;
+	nvmem-cells = <&macaddr_mac_0 1>, <&cal_caldata_5000>;
 	nvmem-cell-names = "mac-address", "calibration";
-	mac-address-increment = <1>;
 };
 
 &wmac {
-	nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_1000>;
+	nvmem-cells = <&macaddr_mac_0 0>, <&cal_caldata_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 5 - 4
target/linux/ath79/dts/qca9563_zte_mf286.dts

@@ -88,7 +88,9 @@
 				#size-cells = <1>;
 
 				macaddr_mac_0: macaddr@0 {
+					compatible = "mac-base";
 					reg = <0x0 0x6>;
+					#nvmem-cell-cells = <1>;
 				};
 			};
 		};
@@ -118,17 +120,16 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_mac_0>;
+	nvmem-cells = <&macaddr_mac_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wifi_ath10k {
-	nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_5000>, <&cal_caldata_5000>;
+	nvmem-cells = <&macaddr_mac_0 1>, <&cal_caldata_5000>, <&cal_caldata_5000>;
 	nvmem-cell-names = "mac-address", "calibration", "pre-calibration";
-	mac-address-increment = <1>;
 };
 
 &wmac {
-	nvmem-cells = <&macaddr_mac_0>, <&cal_caldata_1000>;
+	nvmem-cells = <&macaddr_mac_0 0>, <&cal_caldata_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
 };

+ 5 - 4
target/linux/ath79/dts/qca9563_zte_mf286ar.dtsi

@@ -91,7 +91,9 @@
 				#size-cells = <1>;
 
 				macaddr_mac_0: mac-address@0 {
+					compatible = "mac-base";
 					reg = <0x0 0x6>;
+					#nvmem-cell-cells = <1>;
 				};
 			};
 		};
@@ -122,17 +124,16 @@
 };
 
 &eth0 {
-	nvmem-cells = <&macaddr_mac_0>;
+	nvmem-cells = <&macaddr_mac_0 0>;
 	nvmem-cell-names = "mac-address";
 };
 
 &wifi_ath10k {
-	nvmem-cells = <&macaddr_mac_0>, <&precal_art_5000>;
+	nvmem-cells = <&macaddr_mac_0 0x20000>, <&precal_art_5000>;
 	nvmem-cell-names = "mac-address", "pre-calibration";
-	mac-address-increment = <0x20000>;
 };
 
 &wmac {
-	nvmem-cells = <&macaddr_mac_0>, <&cal_art_1000>;
+	nvmem-cells = <&macaddr_mac_0 0>, <&cal_art_1000>;
 	nvmem-cell-names = "mac-address", "calibration";
 };