diff options
author | Edward Chow <equu@openmail.cc> | 2022-11-20 13:49:45 +0800 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2023-03-26 16:39:37 +0200 |
commit | de3d60b982c7b8e1821b90b312db57287e74ede3 (patch) | |
tree | 4c48d130d3c2e9177f6b2def08403a290be98e02 /target/linux | |
parent | c2d1c32d1ef7f2797aa424a6c94d143e9ddaddc8 (diff) | |
download | openwrt-de3d60b982c7b8e1821b90b312db57287e74ede3.tar.gz openwrt-de3d60b982c7b8e1821b90b312db57287e74ede3.tar.bz2 openwrt-de3d60b982c7b8e1821b90b312db57287e74ede3.zip |
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@openmail.cc>
(restored switch configuration in 02_network, integrated caldata into
partition)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux')
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@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@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@660000 { + compatible = "nvmem-cells"; label = "caldata"; reg = <0x660000 0x010000>; read-only; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: cal@1000 { + reg = <0x1000 0xeb8>; + }; + + cal_art_5000: cal@5000 { + reg = <0x5000 0xeb8>; + }; + + macaddr_lan: macaddr@ffa0 { + reg = <0xffa0 0x11>; + }; + + macaddr_wan: macaddr@ffb4 { + reg = <0xffb4 0x11>; + }; }; fwconcat1: partition@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 |