[openwrt/openwrt] ath79: calibrate dlink dir-825 b1 with nvmem

LEDE Commits lede-commits at lists.infradead.org
Sun Mar 26 07:43:18 PDT 2023


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/de3d60b982c7b8e1821b90b312db57287e74ede3

commit de3d60b982c7b8e1821b90b312db57287e74ede3
Author: Edward Chow <equu at openmail.cc>
AuthorDate: Sun Nov 20 13:49:45 2022 +0800

    ath79: calibrate dlink dir-825 b1 with nvmem
    
    Driver for both soc (2.4GHz Wifi) and pci (5 GHz) now pull the calibration
    data from the nvmem subsystem.
    
    This allows us to move the userspace caldata extraction for the pci-e ath9k
    supported wifi into the device-tree definition of the device.
    
    Currently, only ethernet devices uses the mac address of
    "mac-address-ascii" cells, while PCI ath9k devices uses the mac address
    within calibration data.
    
    Signed-off-by: Edward Chow <equu at openmail.cc>
    (restored switch configuration in 02_network, integrated caldata into
    partition)
    Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts | 33 ++++++++++++++++++++--
 .../generic/base-files/etc/board.d/02_network      |  1 -
 .../etc/hotplug.d/firmware/10-ath9k-eeprom         |  2 --
 3 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts
index 6934a8f952..0e39be7d0b 100644
--- a/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts
+++ b/target/linux/ath79/dts/ar7161_dlink_dir-825-b1.dts
@@ -139,7 +139,8 @@
 	ath9k0: wifi at 0,11 {
 		compatible = "pci168c,0029";
 		reg = <0x8800 0 0 0 0>;
-		qca,no-eeprom;
+		nvmem-cells = <&macaddr_lan>, <&cal_art_1000>;
+		nvmem-cell-names = "mac-address-ascii", "calibration";
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
@@ -147,7 +148,9 @@
 	ath9k1: wifi at 0,12 {
 		compatible = "pci168c,0029";
 		reg = <0x9000 0 0 0 0>;
-		qca,no-eeprom;
+		nvmem-cells = <&macaddr_wan>, <&cal_art_5000>;
+		nvmem-cell-names = "mac-address-ascii", "calibration";
+		mac-address-increment = <1>;
 		#gpio-cells = <2>;
 		gpio-controller;
 	};
@@ -184,9 +187,28 @@
 			};
 
 			partition at 660000 {
+				compatible = "nvmem-cells";
 				label = "caldata";
 				reg = <0x660000 0x010000>;
 				read-only;
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				cal_art_1000: cal at 1000 {
+					reg = <0x1000 0xeb8>;
+				};
+
+				cal_art_5000: cal at 5000 {
+					reg = <0x5000 0xeb8>;
+				};
+
+				macaddr_lan: macaddr at ffa0 {
+					reg = <0xffa0 0x11>;
+				};
+
+				macaddr_wan: macaddr at ffb4 {
+					reg = <0xffb4 0x11>;
+				};
 			};
 
 			fwconcat1: partition at 670000 {
@@ -202,6 +224,9 @@
 
 	pll-data = <0x11110000 0x00001099 0x00991099>;
 
+	nvmem-cells = <&macaddr_lan>;
+	nvmem-cell-names = "mac-address-ascii";
+
 	fixed-link {
 		speed = <1000>;
 		full-duplex;
@@ -213,5 +238,9 @@
 
 	pll-data = <0x11110000 0x00001099 0x00991099>;
 
+	nvmem-cells = <&macaddr_wan>;
+	nvmem-cell-names = "mac-address-ascii";
+
 	phy-handle = <&phy4>;
 };
+
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network
index 31ea891d57..1e439b1e2f 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -634,7 +634,6 @@ ath79_setup_macs()
 	dlink,dir-629-a1)
 		wan_mac=$(mtd_get_mac_text "mfcdata" 0x6a)
 		;;
-	dlink,dir-825-b1|\
 	trendnet,tew-673gru)
 		lan_mac=$(mtd_get_mac_text "caldata" 0xffa0)
 		wan_mac=$(mtd_get_mac_text "caldata" 0xffb4)
diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
index 9827508c04..022f5e2947 100644
--- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
@@ -124,7 +124,6 @@ case "$FIRMWARE" in
 	buffalo,wzr-hp-ag300h)
 		caldata_extract "art" 0x1000 0xeb8
 		;;
-	dlink,dir-825-b1|\
 	trendnet,tew-673gru)
 		caldata_extract "caldata" 0x1000 0xeb8
 		ath9k_patch_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
@@ -143,7 +142,6 @@ case "$FIRMWARE" in
 	buffalo,wzr-hp-ag300h)
 		caldata_extract "art" 0x5000 0xeb8
 		;;
-	dlink,dir-825-b1|\
 	trendnet,tew-673gru)
 		caldata_extract "caldata" 0x5000 0xeb8
 		ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c




More information about the lede-commits mailing list