Преглед изворни кода

ar71xx-generic: fix TL-WR841N/ND v11 LEDs

Fixes #812
Matthias Schiffer пре 8 година
родитељ
комит
a4b60a372b

+ 209 - 0
patches/openwrt/0110-ar71xx-Fix-TL-WR841N-v11-LEDs-use-separate-machine.patch

@@ -0,0 +1,209 @@
+From: Matthias Schiffer <mschiffer@universe-factory.net>
+Date: Sun, 3 Jul 2016 22:21:13 +0200
+Subject: ar71xx: Fix TL-WR841N v11 LEDs, use separate machine
+
+Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
+
+Backport of LEDE d2a91f9853a9bfb47cb5d6e3078372f3f85557c5
+
+diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
+index c3aeffc..ef59d11 100644
+--- a/target/linux/ar71xx/base-files/etc/diag.sh
++++ b/target/linux/ar71xx/base-files/etc/diag.sh
+@@ -274,6 +274,7 @@ get_status_led() {
+ 	tl-wr841n-v1 | \
+ 	tl-wr841n-v7 | \
+ 	tl-wr841n-v8 | \
++	tl-wr841n-v11 | \
+ 	tl-wa830re-v2 | \
+ 	tl-wr842n-v2 | \
+ 	tl-wr842n-v3 | \
+diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
+index e118e0a..9a0d7eb 100644
+--- a/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
++++ b/target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
+@@ -496,7 +496,8 @@ tl-wa830re-v2)
+ 	ucidef_set_led_wlan "wlan" "WLAN" "tp-link:green:wlan" "phy0tpt"
+ 	;;
+ 
+-tl-wr841n-v9)
++tl-wr841n-v9 | \
++tl-wr841n-v11)
+ 	ucidef_set_led_netdev "wan" "WAN" "tp-link:green:wan" "eth1"
+ 	ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
+ 	ucidef_set_led_switch "lan2" "LAN2" "tp-link:green:lan2" "switch0" "0x08"
+diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
+index 3c428ba..d5603d7 100755
+--- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
++++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
+@@ -447,6 +447,7 @@ tl-wr741nd |\
+ tl-wr741nd-v4 |\
+ tl-wr841n-v7 |\
+ tl-wr841n-v9 |\
++tl-wr841n-v11 |\
+ tl-wr842n-v3 |\
+ whr-g301n |\
+ whr-hp-g300n |\
+diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
+index e4a617e..beca73a 100755
+--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
++++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
+@@ -860,6 +860,9 @@ ar71xx_board_detect() {
+ 	*"TL-WR841N/ND v9")
+ 		name="tl-wr841n-v9"
+ 		;;
++	*"TL-WR841N/ND v11")
++		name="tl-wr841n-v11"
++		;;
+ 	*"TL-WR842N/ND v2")
+ 		name="tl-wr842n-v2"
+ 		;;
+diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+index 2a1abf3..f50cd53 100755
+--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
++++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+@@ -364,6 +364,7 @@ platform_check_image() {
+ 	tl-wr841n-v7 | \
+ 	tl-wr841n-v8 | \
+ 	tl-wr841n-v9 | \
++	tl-wr841n-v11 | \
+ 	tl-wr842n-v2 | \
+ 	tl-wr842n-v3 | \
+ 	tl-wr941nd | \
+diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c
+index 0209603..f806568 100644
+--- a/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c
++++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr841n-v9.c
+@@ -1,8 +1,9 @@
+ /*
+- *  TP-LINK TL-WR841N/ND v9/TL-WR842N/ND v3
++ *  TP-LINK TL-WR841N/ND v9/v11 / TL-WR842N/ND v3
+  *
+  *  Copyright (C) 2014 Matthias Schiffer <mschiffer@universe-factory.net>
+  *  Copyright (C) 2016 Cezary Jackiewicz <cezary@eko.one.pl>
++ *  Copyright (C) 2016 Stijn Segers <francesco.borromini@gmail.com>
+  *
+  *  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
+@@ -35,6 +36,19 @@
+ #define TL_WR841NV9_GPIO_BTN_RESET	12
+ #define TL_WR841NV9_GPIO_BTN_WIFI	17
+ 
++#define TL_WR841NV11_GPIO_LED_SYSTEM	1
++#define TL_WR841NV11_GPIO_LED_QSS	3
++#define TL_WR841NV11_GPIO_LED_WAN	4
++#define TL_WR841NV11_GPIO_LED_WAN_STATUS	2
++#define TL_WR841NV11_GPIO_LED_WLAN	13
++#define TL_WR841NV11_GPIO_LED_LAN1	16
++#define TL_WR841NV11_GPIO_LED_LAN2	15
++#define TL_WR841NV11_GPIO_LED_LAN3	14
++#define TL_WR841NV11_GPIO_LED_LAN4	11
++
++#define TL_WR841NV11_GPIO_BTN_RESET	12
++#define TL_WR841NV11_GPIO_BTN_WIFI	17
++
+ #define TL_WR842NV3_GPIO_LED_SYSTEM	2
+ #define TL_WR842NV3_GPIO_LED_WLAN	3
+ #define TL_WR842NV3_GPIO_LED_WAN_RED	4
+@@ -111,6 +125,46 @@ static struct gpio_keys_button tl_wr841n_v9_gpio_keys[] __initdata = {
+ 	}
+ };
+ 
++static struct gpio_led tl_wr841n_v11_leds_gpio[] __initdata = {
++	{
++		.name		= "tp-link:green:lan1",
++		.gpio		= TL_WR841NV9_GPIO_LED_LAN1,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:lan2",
++		.gpio		= TL_WR841NV9_GPIO_LED_LAN2,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:lan3",
++		.gpio		= TL_WR841NV9_GPIO_LED_LAN3,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:lan4",
++		.gpio		= TL_WR841NV9_GPIO_LED_LAN4,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:qss",
++		.gpio		= TL_WR841NV9_GPIO_LED_QSS,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:system",
++		.gpio		= TL_WR841NV11_GPIO_LED_SYSTEM,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:wan",
++		.gpio		= TL_WR841NV9_GPIO_LED_WAN,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:wan_status",
++		.gpio		= TL_WR841NV11_GPIO_LED_WAN_STATUS,
++		.active_low	= 1,
++	}, {
++		.name		= "tp-link:green:wlan",
++		.gpio		= TL_WR841NV9_GPIO_LED_WLAN,
++		.active_low	= 1,
++	},
++};
++
+ static struct gpio_led tl_wr842n_v3_leds_gpio[] __initdata = {
+ 	{
+ 		.name		= "tp-link:green:lan1",
+@@ -221,6 +275,21 @@ static void __init tl_wr841n_v9_setup(void)
+ MIPS_MACHINE(ATH79_MACH_TL_WR841N_V9, "TL-WR841N-v9", "TP-LINK TL-WR841N/ND v9",
+ 	     tl_wr841n_v9_setup);
+ 
++static void __init tl_wr841n_v11_setup(void)
++{
++	tl_ap143_setup();
++
++	ath79_register_leds_gpio(-1, ARRAY_SIZE(tl_wr841n_v11_leds_gpio),
++				 tl_wr841n_v11_leds_gpio);
++
++	ath79_register_gpio_keys_polled(1, TL_WR841NV9_KEYS_POLL_INTERVAL,
++					ARRAY_SIZE(tl_wr841n_v9_gpio_keys),
++					tl_wr841n_v9_gpio_keys);
++}
++
++MIPS_MACHINE(ATH79_MACH_TL_WR841N_V11, "TL-WR841N-v11", "TP-LINK TL-WR841N/ND v11",
++	     tl_wr841n_v11_setup);
++
+ static void __init tl_wr842n_v3_setup(void)
+ {
+ 	tl_ap143_setup();
+diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
+index 392dec4..6d46c1e 100644
+--- a/target/linux/ar71xx/image/Makefile
++++ b/target/linux/ar71xx/image/Makefile
+@@ -595,7 +595,7 @@ endef
+ 
+ define Device/tl-wr841n-v11
+     $(Device/tplink-4mlzma)
+-    BOARDNAME := TL-WR841N-v9
++    BOARDNAME := TL-WR841N-v11
+     DEVICE_PROFILE := TLWR841
+     TPLINK_HWID := 0x08410011
+ endef
+diff --git a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch
+index 4a53355..d4b417b 100644
+--- a/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch
++++ b/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch
+@@ -1,6 +1,6 @@
+ --- a/arch/mips/ath79/machtypes.h
+ +++ b/arch/mips/ath79/machtypes.h
+-@@ -16,22 +16,202 @@
++@@ -16,22 +16,203 @@
+  
+  enum ath79_mach_type {
+  	ATH79_MACH_GENERIC = 0,
+@@ -146,6 +146,7 @@
+ +	ATH79_MACH_TL_WR841N_V7,	/* TP-LINK TL-WR841N/ND v7 */
+ +	ATH79_MACH_TL_WR841N_V8,	/* TP-LINK TL-WR841N/ND v8 */
+ +	ATH79_MACH_TL_WR841N_V9,	/* TP-LINK TL-WR841N/ND v9 */
+++	ATH79_MACH_TL_WR841N_V11,	/* TP-LINK TL-WR841N/ND v11 */
+ +	ATH79_MACH_TL_WR842N_V2,	/* TP-LINK TL-WR842N/ND v2 */
+ +	ATH79_MACH_TL_WR842N_V3,	/* TP-LINK TL-WR842N/ND v3 */
+ +	ATH79_MACH_TL_WR941ND,		/* TP-LINK TL-WR941ND */