[openwrt/openwrt] mpc85xx: use NVMEM for wifi
LEDE Commits
lede-commits at lists.infradead.org
Wed Aug 21 12:39:34 PDT 2024
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/7ac8279bd45cce6c055510c8574c853c5a87f0d8
commit 7ac8279bd45cce6c055510c8574c853c5a87f0d8
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Fri Aug 9 13:40:27 2024 -0700
mpc85xx: use NVMEM for wifi
Userspace handling is deprecated. No need for any of this.
Calibration size was adjusted to 440, which is the standard value for
ath9k radios.
Signed-off-by: Rosen Penev <rosenp at gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16125
Signed-off-by: Robert Marko <robimarko at gmail.com>
---
.../etc/hotplug.d/firmware/10-ath9k-eeprom | 33 ----------------------
.../files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts | 29 ++++++++++++++++++-
.../arch/powerpc/platforms/85xx/tl_wdr4900_v1.c | 2 --
3 files changed, 28 insertions(+), 36 deletions(-)
diff --git a/target/linux/mpc85xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/mpc85xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
deleted file mode 100644
index be6ee40389..0000000000
--- a/target/linux/mpc85xx/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-
-[ -e /lib/firmware/$FIRMWARE ] && exit 0
-
-. /lib/functions/caldata.sh
-
-board=$(board_name)
-
-case "$FIRMWARE" in
-"pci_wmac0.eeprom")
- case $board in
- tplink,tl-wdr4900-v1)
- caldata_extract "caldata" 0x1000 0x800
- ath9k_patch_mac $(mtd_get_mac_binary u-boot 0x4fc00)
- ;;
- *)
- caldata_die "board $board is not supported yet"
- ;;
- esac
- ;;
-
-"pci_wmac1.eeprom")
- case $board in
- tplink,tl-wdr4900-v1)
- caldata_extract "caldata" 0x5000 0x800
- ath9k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x4fc00) -1)
- ;;
- *)
- caldata_die "board $board is not supported yet"
- ;;
- esac
- ;;
-esac
diff --git a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
index 0b22360562..d8162f0dff 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
+++ b/target/linux/mpc85xx/files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts
@@ -92,6 +92,20 @@
reg = <0x00ff0000 0x00010000>;
label = "caldata";
read-only;
+
+ nvmem-layout {
+ compatible = "fixed-layout";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ cal_caldata_1000: calibration at 1000 {
+ reg = <0x1000 0x440>;
+ };
+
+ cal_caldata_5000: calibration at 5000 {
+ reg = <0x5000 0x440>;
+ };
+ };
};
};
};
@@ -153,7 +167,6 @@
nvmem-cells = <&macaddr_uboot_4fc00 1>;
nvmem-cell-names = "mac-address";
-
};
port at 2 {
@@ -252,6 +265,13 @@
0x1000000 0x0 0x0
0x1000000 0x0 0x0
0x0 0x100000>;
+
+ wifi at 0,0 {
+ compatible = "pci168c,0033";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&cal_caldata_1000>, <&macaddr_uboot_4fc00 0>;
+ nvmem-cell-names = "calibration", "mac-address";
+ };
};
};
@@ -267,6 +287,13 @@
0x1000000 0x0 0x0
0x1000000 0x0 0x0
0x0 0x100000>;
+
+ wifi at 0,0 {
+ compatible = "pci168c,0030";
+ reg = <0x0000 0 0 0 0>;
+ nvmem-cells = <&cal_caldata_5000>, <&macaddr_uboot_4fc00 (-1)>;
+ nvmem-cell-names = "calibration", "mac-address";
+ };
};
};
diff --git a/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/tl_wdr4900_v1.c b/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/tl_wdr4900_v1.c
index 87a97e65c8..095f1fb77d 100644
--- a/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/tl_wdr4900_v1.c
+++ b/target/linux/mpc85xx/files/arch/powerpc/platforms/85xx/tl_wdr4900_v1.c
@@ -58,14 +58,12 @@ static struct gpio_led tl_wdr4900_v1_wmac_leds_gpio[] = {
static struct ath9k_platform_data tl_wdr4900_v1_wmac0_data = {
.led_pin = 0,
- .eeprom_name = "pci_wmac0.eeprom",
.leds = tl_wdr4900_v1_wmac_leds_gpio,
.num_leds = ARRAY_SIZE(tl_wdr4900_v1_wmac_leds_gpio),
};
static struct ath9k_platform_data tl_wdr4900_v1_wmac1_data = {
.led_pin = 0,
- .eeprom_name = "pci_wmac1.eeprom",
};
static void tl_wdr4900_v1_pci_wmac_fixup(struct pci_dev *dev)
More information about the lede-commits
mailing list