From fba0826f5205af24ab8d85c4c51e40ba92784db4 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Fri, 24 Jun 2016 16:41:10 +0200 Subject: lantiq: fix fritz7320 wifi support Signed-off-by: John Crispin --- target/linux/lantiq/base-files/etc/board.d/01_leds | 3 +++ target/linux/lantiq/dts/FRITZ7320.dts | 10 +++++++++- ...-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch | 17 +++++++++++++---- target/linux/lantiq/xway/profiles/avm.mk | 3 ++- 4 files changed, 27 insertions(+), 6 deletions(-) (limited to 'target') diff --git a/target/linux/lantiq/base-files/etc/board.d/01_leds b/target/linux/lantiq/base-files/etc/board.d/01_leds index c365468030..08c384297d 100755 --- a/target/linux/lantiq/base-files/etc/board.d/01_leds +++ b/target/linux/lantiq/base-files/etc/board.d/01_leds @@ -42,6 +42,9 @@ P2812HNUF*) ARV7519RW22) ucidef_set_led_netdev "lan" "lan" "arv7519rw22:green:lan" "eth0.1" ;; +FRITZ7320) + ucidef_set_led_netdev "wifi" "wifi" "fritz7320:green:wlan" "wlan0" + ;; WBMR300) ucidef_set_led_switch "lan1" "LAN1" "wbmr300:green:lan1" "switch0" "0x08" ucidef_set_led_switch "lan2" "LAN2" "wbmr300:green:lan2" "switch0" "0x04" diff --git a/target/linux/lantiq/dts/FRITZ7320.dts b/target/linux/lantiq/dts/FRITZ7320.dts index 475da7ac8e..acb88b60a0 100644 --- a/target/linux/lantiq/dts/FRITZ7320.dts +++ b/target/linux/lantiq/dts/FRITZ7320.dts @@ -37,7 +37,7 @@ #address-cells = <1>; #size-cells = <1>; - partition@0 { + ath9k_cal: partition@0 { label = "urlader"; reg = <0x00000 0x20000>; read-only; @@ -63,6 +63,14 @@ }; }; + ath9k_eep { + compatible = "ath9k,eeprom"; + ath,eep-flash = <&ath9k_cal 0x985>; + ath,device-id = /bits/ 16 <0xff1d 0x2d>; + ath,eep-endian; + ath,eep-swap; + }; + gpio: pinmux@E100B10 { pinctrl-names = "default"; pinctrl-0 = <&state_default>; diff --git a/target/linux/lantiq/patches-4.4/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch b/target/linux/lantiq/patches-4.4/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch index 91a884d2ea..07e6a001eb 100644 --- a/target/linux/lantiq/patches-4.4/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch +++ b/target/linux/lantiq/patches-4.4/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch @@ -30,7 +30,7 @@ Signed-off-by: John Crispin +#endif /* _PCI_ATH_FIXUP */ --- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h +++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h -@@ -104,5 +104,8 @@ int xrx200_gphy_boot(struct device *dev, +@@ -104,5 +104,8 @@ extern void ltq_pmu_enable(unsigned int module); extern void ltq_pmu_disable(unsigned int module); @@ -41,7 +41,7 @@ Signed-off-by: John Crispin #endif /* _LTQ_XWAY_H__ */ --- a/arch/mips/lantiq/xway/Makefile +++ b/arch/mips/lantiq/xway/Makefile -@@ -2,4 +2,7 @@ obj-y := prom.o sysctrl.o clk.o reset.o +@@ -2,4 +2,7 @@ obj-y += vmmc.o tffs.o @@ -51,7 +51,7 @@ Signed-off-by: John Crispin obj-$(CONFIG_XRX200_PHY_FW) += xrx200_phy_fw.o --- /dev/null +++ b/arch/mips/lantiq/xway/ath_eep.c -@@ -0,0 +1,298 @@ +@@ -0,0 +1,307 @@ +/* + * Copyright (C) 2011 Luca Olivetti + * Copyright (C) 2011 John Crispin @@ -104,6 +104,7 @@ Signed-off-by: John Crispin + const __be32 *list; + const char *part; + phandle phandle; ++ u16 dev_ids[2] = { 0 }; + + if ((list = of_get_property(np, "ath,eep-flash", &i)) && i == 2 * + sizeof(*list) && (phandle = be32_to_cpup(list++)) && @@ -188,6 +189,14 @@ Signed-off-by: John Crispin + + } + ++ if (!of_property_read_u16_array(np, "ath,device-id", dev_ids, 2)) { ++ struct pci_dev *d = NULL; ++ ++ while ((d = pci_get_device(PCI_VENDOR_ID_ATHEROS, ++ dev_ids[0], d)) != NULL) ++ d->device = dev_ids[1]; ++ } ++ + if (!of_property_read_u32(np, "ath,led-pin", &led_pin)) { + ath9k_pdata.led_pin = led_pin; + dev_info(&pdev->dev, "using led pin %d.\n", led_pin); @@ -615,7 +624,7 @@ Signed-off-by: John Crispin +device_initcall(of_ralink_eeprom_init); --- a/drivers/net/ethernet/lantiq_etop.c +++ b/drivers/net/ethernet/lantiq_etop.c -@@ -840,7 +840,11 @@ ltq_etop_init(struct net_device *dev) +@@ -840,7 +840,11 @@ if (err) goto err_hw; diff --git a/target/linux/lantiq/xway/profiles/avm.mk b/target/linux/lantiq/xway/profiles/avm.mk index 2922b0862e..72d97ded22 100644 --- a/target/linux/lantiq/xway/profiles/avm.mk +++ b/target/linux/lantiq/xway/profiles/avm.mk @@ -4,7 +4,8 @@ define Profile/FRITZ7320 kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \ kmod-ltq-adsl-ar9-fw-b kmod-ltq-atm-ar9 \ ltq-adsl-app ppp-mod-pppoa \ - kmod-ltq-deu-ar9 kmod-usb-dwc2 + kmod-ltq-deu-ar9 kmod-usb-dwc2 \ + kmod-ath9k wpad-mini endef $(eval $(call Profile,FRITZ7320)) -- cgit v1.2.3