Jelajahi Sumber

ipq40xx: utilize nvmem on Netgear EX61X0 v2 Series

the Netgear EX6100v2 and EX6150v2 can utilize the nvmem
for the pre-calibration and mac-address for both WIFI
devices.

Signed-off-by: Christian Lamparter <[email protected]>
Christian Lamparter 4 tahun lalu
induk
melakukan
c3b9d0d1e2

+ 0 - 10
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata

@@ -154,11 +154,6 @@ case "$FIRMWARE" in
 		( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x0 0x2f20 ) || \
 		( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_0" 0x0 0x2f20 )
 		;;
-	netgear,ex6100v2 |\
-	netgear,ex6150v2)
-		caldata_extract "ART" 0x1000 0x2f20
-		ath10k_patch_mac $(mtd_get_mac_binary dnidata 0x0)
-		;;
 	netgear,rbr50|\
 	netgear,rbs50|\
 	netgear,srr60|\
@@ -277,11 +272,6 @@ case "$FIRMWARE" in
 		( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x8000 0x2f20 ) || \
 		( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_2" 0x0 0x2f20 )
 		;;
-	netgear,ex6100v2 |\
-	netgear,ex6150v2)
-		caldata_extract "ART" 0x5000 0x2f20
-		ath10k_patch_mac $(mtd_get_mac_binary dnidata 0xc)
-		;;
 	netgear,rbr50|\
 	netgear,rbs50|\
 	netgear,srr60|\

+ 27 - 0
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi

@@ -253,7 +253,18 @@
 			partition7@170000 {
 				label = "ART";
 				reg = <0x00170000 0x00010000>;
+				compatible = "nvmem-cells";
 				read-only;
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				precal_art_1000: precal@1000 {
+					reg = <0x1000 0x2f20>;
+				};
+
+				precal_art_5000: precal@5000 {
+					reg = <0x5000 0x2f20>;
+				};
 			};
 
 			partition8@180000 {
@@ -269,9 +280,21 @@
 			};
 
 			partition10@1a0000 {
+				compatible = "nvmem-cells";
 				label = "dnidata";
 				reg = <0x001a0000 0x00010000>;
 				read-only;
+
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				macaddr_dnidata_0: macaddr@0 {
+					reg = <0x0 0x6>;
+				};
+
+				macaddr_dnidata_c: macaddr@c {
+					reg = <0xc 0x6>;
+				};
 			};
 
 			partition11@1b0000 {
@@ -305,8 +328,12 @@
 
 &wifi0 {
 	status = "okay";
+	nvmem-cell-names = "pre-calibration", "mac-address";
+	nvmem-cells = <&precal_art_1000>, <&macaddr_dnidata_0>;
 };
 
 &wifi1 {
 	status = "okay";
+	nvmem-cell-names = "pre-calibration", "mac-address";
+	nvmem-cells = <&precal_art_5000>, <&macaddr_dnidata_c>;
 };