ath79: WNDR3700/3800/MAC: utilize nvmem for caldata fetching

converts the still popular WNDR3700 Series to fetch the
caldata through nvmem. As the "MAC with NVMEM" has shown,
there could pitfalls along the way.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This commit is contained in:
Christian Lamparter 2021-11-05 22:50:45 +01:00
parent d91318662d
commit 217571b6ab
8 changed files with 74 additions and 40 deletions

View File

@ -153,7 +153,6 @@
compatible = "pci168c,0029";
reg = <0x8800 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
@ -181,7 +180,6 @@
compatible = "pci168c,0029";
reg = <0x9000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};

View File

@ -39,13 +39,13 @@
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
@ -74,4 +74,12 @@
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -39,13 +39,13 @@
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
/* The original WNDR3700(v1) variant have four antennae dedicated
* to the 5GHz radio as well. Again, two antennae are available for
@ -93,4 +93,12 @@
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -40,13 +40,13 @@
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
@ -75,4 +75,12 @@
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -40,13 +40,13 @@
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
@ -75,4 +75,12 @@
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -39,13 +39,13 @@
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
@ -74,4 +74,12 @@
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -40,13 +40,13 @@
};
&ath9k0 {
nvmem-cells = <&macaddr_art_c>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_c>, <&cal_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
};
&ath9k1 {
nvmem-cells = <&macaddr_art_0>;
nvmem-cell-names = "mac-address";
nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
&eth0 {
@ -75,4 +75,12 @@
macaddr_art_c: macaddr@c {
reg = <0xc 0x6>;
};
cal_art_1000: cal@1000 {
reg = <0x1000 0xeb8>;
};
cal_art_5000: cal@5000 {
reg = <0x5000 0xeb8>;
};
};

View File

@ -146,13 +146,7 @@ case "$FIRMWARE" in
"ath9k-eeprom-pci-0000:00:11.0.bin")
case $board in
buffalo,wzr-600dhp|\
buffalo,wzr-hp-ag300h|\
netgear,wndr3700|\
netgear,wndr3700-v2|\
netgear,wndr3800|\
netgear,wndr3800ch|\
netgear,wndrmac-v1|\
netgear,wndrmac-v2)
buffalo,wzr-hp-ag300h)
caldata_extract "art" 0x1000 0xeb8
;;
dlink,dir-825-b1)
@ -170,13 +164,7 @@ case "$FIRMWARE" in
"ath9k-eeprom-pci-0000:00:12.0.bin")
case $board in
buffalo,wzr-600dhp|\
buffalo,wzr-hp-ag300h|\
netgear,wndr3700|\
netgear,wndr3700-v2|\
netgear,wndr3800|\
netgear,wndr3800ch|\
netgear,wndrmac-v1|\
netgear,wndrmac-v2)
buffalo,wzr-hp-ag300h)
caldata_extract "art" 0x5000 0xeb8
;;
dlink,dir-825-b1)