[openwrt/openwrt] mpc85xx: tl-wdr4900: move platform code to dts
LEDE Commits
lede-commits at lists.infradead.org
Wed Aug 21 12:39:35 PDT 2024
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/949e1a0856c4a04ac4a3fee1bd4a0cc69ac187c5
commit 949e1a0856c4a04ac4a3fee1bd4a0cc69ac187c5
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Mon Aug 19 15:08:55 2024 -0700
mpc85xx: tl-wdr4900: move platform code to dts
No benefit in doing so in platform file. Code for dts has already been
written. Might as well use it.
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>
---
.../files/arch/powerpc/boot/dts/tl-wdr4900-v1.dts | 19 +++++++-
.../arch/powerpc/platforms/85xx/tl_wdr4900_v1.c | 52 ----------------------
2 files changed, 18 insertions(+), 53 deletions(-)
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 d8162f0dff..91baba0cd7 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
@@ -266,9 +266,12 @@
0x1000000 0x0 0x0
0x0 0x100000>;
- wifi at 0,0 {
+ ath9k: wifi at 0,0 {
compatible = "pci168c,0033";
reg = <0x0000 0 0 0 0>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ qca,led-pin = /bits/ 8 <0>;
nvmem-cells = <&cal_caldata_1000>, <&macaddr_uboot_4fc00 0>;
nvmem-cell-names = "calibration", "mac-address";
};
@@ -291,6 +294,15 @@
wifi at 0,0 {
compatible = "pci168c,0030";
reg = <0x0000 0 0 0 0>;
+ /*
+ * The PCI header of the AR9381 chip is not programmed
+ * correctly by the bootloader and the device uses wrong
+ * data due to that. Replace the broken values with the
+ * correct ones.
+ */
+ device-id = <0x0030>;
+ class-code = <0x028000>;
+ qca,led-pin = /bits/ 8 <0>;
nvmem-cells = <&cal_caldata_5000>, <&macaddr_uboot_4fc00 (-1)>;
nvmem-cell-names = "calibration", "mac-address";
};
@@ -304,6 +316,11 @@
leds {
compatible = "gpio-leds";
+ wps {
+ gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
+ label = "tp-link:green:wps";
+ };
+
system_green: system {
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
label = "tp-link:blue:system";
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 095f1fb77d..22c4ad3fc4 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
@@ -47,58 +47,6 @@ void __init tl_wdr4900_v1_pic_init(void)
mpic_init(mpic);
}
-#ifdef CONFIG_PCI
-static struct gpio_led tl_wdr4900_v1_wmac_leds_gpio[] = {
- {
- .name = "tp-link:blue:wps",
- .gpio = 1,
- .active_low = 1,
- },
-};
-
-static struct ath9k_platform_data tl_wdr4900_v1_wmac0_data = {
- .led_pin = 0,
- .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,
-};
-
-static void tl_wdr4900_v1_pci_wmac_fixup(struct pci_dev *dev)
-{
- if (!machine_is(tl_wdr4900_v1))
- return;
-
- if (dev->bus->number == 1 &&
- PCI_SLOT(dev->devfn) == 0) {
- dev->dev.platform_data = &tl_wdr4900_v1_wmac0_data;
- return;
- }
-
- if (dev->bus->number == 3 &&
- PCI_SLOT(dev->devfn) == 0 &&
- dev->device == 0xabcd) {
- dev->dev.platform_data = &tl_wdr4900_v1_wmac1_data;
-
- /*
- * The PCI header of the AR9381 chip is not programmed
- * correctly by the bootloader and the device uses wrong
- * data due to that. Replace the broken values with the
- * correct ones.
- */
- dev->device = 0x30;
- dev->class = 0x028000;
-
- pr_info("pci %s: AR9381 fixup applied\n", pci_name(dev));
- }
-}
-
-DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ATHEROS, PCI_ANY_ID,
- tl_wdr4900_v1_pci_wmac_fixup);
-#endif /* CONFIG_PCI */
-
/*
* Setup the architecture
*/
More information about the lede-commits
mailing list