ipq40xx: utilize nvmem on Netgear EX61X0 v2 Series
authorChristian Lamparter <chunkeey@gmail.com>
Fri, 15 Oct 2021 17:17:42 +0000 (19:17 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 28 Nov 2021 00:13:08 +0000 (01:13 +0100)
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 <chunkeey@gmail.com>
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ipq40xx/files/arch/arm/boot/dts/qcom-ipq4018-ex61x0v2.dtsi

index 35862ce3bcf24361fc1f5fd50f2508a49aac4d04..f90c5580153324b51ad1a052b87b3a1007462790 100644 (file)
@@ -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|\
index dbf9a02a2940689cf463006ea7788827843eca89..eb97130c27d84c1f0171991ccf56ca3b63da9940 100644 (file)
                        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 {
                        };
 
                        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 {
 
 &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>;
 };