From Stefan Helmert <[email protected]>
It is mostly the same as wr841nd. WLAN and LAN are working. LAN-Led is
working. WLAN signal strength Leds are not working yet.
This is version 2: did some clean up in the patch added Copyright, hope
there are no thunderbird created linebreaks.
http://wiki.openwrt.org/toh/tp-link/tl-wa7510n?s[]=wa7510n
Signed-off-by: Stefan Helmert <[email protected]>
---
Index: target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7510n.c
===================================================================
--- target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7510n.c (revision 0)
+++ target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wa7510n.c (revision 0)
@@ -0,0 +1,65 @@
+/*
+ * TP-LINK TL-WA7510N/ND v1 board support
+ *
+ * Copyright (C) 2012 Stefan Helmert <[email protected]>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as
published
+ * by the Free Software Foundation.
+ */
+
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
+#include <linux/platform_device.h>
+
+#include <asm/mach-ath79/ar71xx_regs.h>
+#include <asm/mach-ath79/ath79.h>
+
+#include "dev-dsa.h"
+#include "dev-eth.h"
+#include "dev-gpio-buttons.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "machtypes.h"
+#include "pci.h"
+
+#include "common.h"
+
+
+static const char *tl_wa7510n_v1_part_probes[] = {
+ "tp-link",
+ NULL,
+};
+
+static struct flash_platform_data tl_wa7510n_v1_flash_data = {
+ .part_probes = tl_wa7510n_v1_part_probes,
+};
+
+static void __init tl_wa7510n_v1_setup(void)
+{
+ u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
+
+
+ /* use this to switch off LAN-LED */
+/* ath79_gpio_function_disable(AR724X_GPIO_FUNC_ETH_SWITCH_LED0_EN |
+ AR724X_GPIO_FUNC_ETH_SWITCH_LED1_EN |
+ AR724X_GPIO_FUNC_ETH_SWITCH_LED2_EN |
+ AR724X_GPIO_FUNC_ETH_SWITCH_LED3_EN |
+ AR724X_GPIO_FUNC_ETH_SWITCH_LED4_EN);
+*/
+ /*
+ * ath79_eth0 would be the WAN port, but is not connected on
+ * the TL-WA7510N like the TL-WA901ND. ath79_eth1 connects to
the internal switch chip,
+ * however we have a single LAN port only.
+ */
+ ath79_init_mac(ath79_eth1_data.mac_addr, mac, 0);
+ ath79_register_mdio(0, 0x0);
+ ath79_register_eth(1);
+
+ ath79_register_m25p80(&tl_wa7510n_v1_flash_data);
+
+ ath79_register_pci();
+}
+
+MIPS_MACHINE(ATH79_MACH_TL_WA7510N_V1, "TL-WA7510N", "TP-LINK
TL-WA7510N v1",
+ tl_wa7510n_v1_setup);
Index: target/linux/ar71xx/image/Makefile
===================================================================
--- target/linux/ar71xx/image/Makefile (revision 33891)
+++ target/linux/ar71xx/image/Makefile (working copy)
@@ -799,6 +799,7 @@
$(eval $(call
SingleProfile,TPLINK,$(fs_64kraw),TLMR3220,tl-mr3220-v1,TL-MR3220,ttyS0,115200,0x32200001,1,4M))
$(eval $(call
SingleProfile,TPLINK,$(fs_64kraw),TLMR3420,tl-mr3420-v1,TL-MR3420,ttyS0,115200,0x34200001,1,4M))
$(eval $(call
SingleProfile,TPLINK,$(fs_64kraw),TLWA701,tl-wa701n-v1,TL-WA901ND,ttyS0,115200,0x07010001,1,4M))
+$(eval $(call
SingleProfile,TPLINK,$(fs_64kraw),TLWA7510NV1,tl-wa7510n,TL-WA7510N,ttyS0,115200,0x75100001,1,4M))
$(eval $(call
SingleProfile,TPLINK,$(fs_64kraw),TLWA901NV1,tl-wa901nd-v1,TL-WA901ND,ttyS0,115200,0x09010001,1,4M))
$(eval $(call
SingleProfile,TPLINK,$(fs_64kraw),TLWA901NV2,tl-wa901nd-v2,TL-WA901ND-v2,ttyS0,115200,0x09010002,1,4M))
$(eval $(call
SingleProfile,TPLINK,$(fs_64kraw),TLWR740NV1,tl-wr740n-v1,TL-WR741ND,ttyS0,115200,0x07400001,1,4M))
@@ -861,6 +862,7 @@
$(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT))
$(eval $(call MultiProfile,TEW652BRP,TEW652BRP_FW TEW652BRP_RECOVERY))
$(eval $(call MultiProfile,TLWA901,TLWA901NV1 TLWA901NV2))
+$(eval $(call MultiProfile,TLWA7510,TLWA7510NV1))
$(eval $(call MultiProfile,TLWR740,TLWR740NV1 TLWR740NV3 TLWR740NV4))
$(eval $(call MultiProfile,TLWR741,TLWR741NV1 TLWR741NV2 TLWR741NV4))
$(eval $(call MultiProfile,TLWR841,TLWR841NV15 TLWR841NV3 TLWR841NV5
TLWR841NV7 TLWR841NV8))
Index: target/linux/ar71xx/config-3.3
===================================================================
--- target/linux/ar71xx/config-3.3 (revision 33891)
+++ target/linux/ar71xx/config-3.3 (working copy)
@@ -56,6 +56,7 @@
CONFIG_ATH79_MACH_TL_MR11U=y
CONFIG_ATH79_MACH_TL_MR3020=y
CONFIG_ATH79_MACH_TL_MR3X20=y
+CONFIG_ATH79_MACH_TL_WA7510N_V1=y
CONFIG_ATH79_MACH_TL_WA901ND=y
CONFIG_ATH79_MACH_TL_WA901ND_V2=y
CONFIG_ATH79_MACH_TL_WDR4300=y
Index:
target/linux/ar71xx/patches-3.3/615-MIPS-ath79-TL-WA7510N-v1-support.patch
===================================================================
---
target/linux/ar71xx/patches-3.3/615-MIPS-ath79-TL-WA7510N-v1-support.patch
(revision 0)
+++
target/linux/ar71xx/patches-3.3/615-MIPS-ath79-TL-WA7510N-v1-support.patch
(revision 0)
@@ -0,0 +1,41 @@
+diff -ruN a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
+--- a/arch/mips/ath79/Kconfig 2012-10-04 12:22:11.000000000 -0700
++++ b/arch/mips/ath79/Kconfig 2012-10-16 06:18:35.000000000 -0700
+@@ -441,6 +441,15 @@
+ select ATH79_DEV_M25P80
+ select ATH79_DEV_USB
+
++config ATH79_MACH_TL_WA7510N_V1
++ bool "TP-LINK TL-WA7510N support"
++ select SOC_AR724X
++ select ATH79_DEV_AP9X_PCI if PCI
++ select ATH79_DEV_ETH
++ select ATH79_DEV_LEDS_GPIO
++ select ATH79_DEV_M25P80
++ select ATH79_DEV_WMAC
++
+ config ATH79_MACH_TL_WA901ND
+ bool "TP-LINK TL-WA901ND support"
+ select SOC_AR724X
+diff -ruN a/arch/mips/ath79/machtypes.h b/arch/mips/ath79/machtypes.h
+--- a/arch/mips/ath79/machtypes.h 2012-10-04 12:22:11.000000000 -0700
++++ b/arch/mips/ath79/machtypes.h 2012-10-16 06:26:37.000000000 -0700
+@@ -72,6 +72,7 @@
+ ATH79_MACH_TL_MR3040, /* TP-LINK TL-MR3040 */
+ ATH79_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */
+ ATH79_MACH_TL_MR3420, /* TP-LINK TL-MR3420 */
++ ATH79_MACH_TL_WA7510N_V1, /* TP-LINK TL-WA7510N v1*/
+ ATH79_MACH_TL_WA901ND, /* TP-LINK TL-WA901ND */
+ ATH79_MACH_TL_WA901ND_V2, /* TP-LINK TL-WA901ND v2 */
+ ATH79_MACH_TL_WDR4300, /* TP-LINK TL-WDR4300 */
+diff -ruN a/arch/mips/ath79/Makefile b/arch/mips/ath79/Makefile
+--- a/arch/mips/ath79/Makefile 2012-10-04 12:22:11.000000000 -0700
++++ b/arch/mips/ath79/Makefile 2012-10-16 05:57:52.000000000 -0700
+@@ -75,6 +75,7 @@
+ obj-$(CONFIG_ATH79_MACH_TL_MR11U) += mach-tl-mr11u.o
+ obj-$(CONFIG_ATH79_MACH_TL_MR3020) += mach-tl-mr3020.o
+ obj-$(CONFIG_ATH79_MACH_TL_MR3X20) += mach-tl-mr3x20.o
++obj-$(CONFIG_ATH79_MACH_TL_WA7510N_V1) += mach-tl-wa7510n.o
+ obj-$(CONFIG_ATH79_MACH_TL_WA901ND) += mach-tl-wa901nd.o
+ obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2) += mach-tl-wa901nd-v2.o
+ obj-$(CONFIG_ATH79_MACH_TL_WDR4300) += mach-tl-wdr4300.o
Index: target/linux/ar71xx/base-files/lib/ar71xx.sh
===================================================================
--- target/linux/ar71xx/base-files/lib/ar71xx.sh (revision 33891)
+++ target/linux/ar71xx/base-files/lib/ar71xx.sh (working copy)
@@ -339,6 +339,9 @@
*TL-MR3420)
name="tl-mr3420"
;;
+ *TL-WA7510N)
+ name="tl-wa7510n"
+ ;;
*TL-WA901ND)
name="tl-wa901nd"
;;
Index: target/linux/ar71xx/base-files/lib/upgrade/platform.sh
===================================================================
--- target/linux/ar71xx/base-files/lib/upgrade/platform.sh (revision 33891)
+++ target/linux/ar71xx/base-files/lib/upgrade/platform.sh (working copy)
@@ -145,6 +145,7 @@
tl-mr3040 | \
tl-mr3220 | \
tl-mr3420 | \
+ tl-wa7510n | \
tl-wa901nd | \
tl-wa901nd-v2 | \
tl-wdr4300 | \
Index: target/linux/ar71xx/generic/profiles/tp-link.mk
===================================================================
--- target/linux/ar71xx/generic/profiles/tp-link.mk (revision 33891)
+++ target/linux/ar71xx/generic/profiles/tp-link.mk (working copy)
@@ -82,7 +82,17 @@
endef
$(eval $(call Profile,TLWA701))
+define Profile/TLWA7510
+ NAME:=TP-LINK TL-WA7510N
+ PACKAGES:=
+endef
+define Profile/TLWA7510/Description
+ Package set optimized for the TP-LINK TL-WA7510N.
+endef
+$(eval $(call Profile,TLWA7510))
+
+
define Profile/TLWA901
NAME:=TP-LINK TL-WA901N/ND
PACKAGES:=
Index: tools/firmware-utils/src/mktplinkfw.c
===================================================================
--- tools/firmware-utils/src/mktplinkfw.c (revision 33891)
+++ tools/firmware-utils/src/mktplinkfw.c (working copy)
@@ -34,6 +34,7 @@
#define HWID_TL_MR3220_V1 0x32200001
#define HWID_TL_MR3420_V1 0x34200001
#define HWID_TL_WA701N_V1 0x07010001
+#define HWID_TL_WA7510N_V1 0x75100001
#define HWID_TL_WA901ND_V1 0x09010001
#define HWID_TL_WA901ND_V2 0x09010002
#define HWID_TL_WR703N_V1 0x07030101
@@ -198,6 +199,11 @@
.hw_rev = 1,
.layout_id = "4M",
}, {
+ .id = "TL-WA7510N",
+ .hw_id = HWID_TL_WA7510N_V1,
+ .hw_rev = 1,
+ .layout_id = "4M",
+ }, {
.id = "TL-WA901NDv1",
.hw_id = HWID_TL_WA901ND_V1,
.hw_rev = 1,
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel