diff --git a/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts
new file mode 100644
index 0000000000000000000000000000000000000000..31f0c14afbb9d35ade8338ae12a8dae8ad8f1187
--- /dev/null
+++ b/target/linux/ath79/dts/tp9343_tplink_tl-wr940n-v6.dts
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "tp9343_tplink_tl-wr94x.dtsi"
+
+/ {
+	compatible = "tplink,tl-wr940n-v6", "qca,tp9343";
+	model = "TP-Link TL-WR940N v6";
+
+	aliases {
+		led-boot = &led_diag_orange;
+		led-failsafe = &led_diag_orange;
+		led-running = &led_diag_orange;
+		led-upgrade = &led_diag_orange;
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		wan_blue {
+			label = "tp-link:blue:wan";
+			gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
+		};
+
+		led_diag_orange: diag_orange {
+			label = "tp-link:orange:diag";
+			gpios = <&gpio 15 GPIO_ACTIVE_HIGH>;
+			default-state = "on";
+		};
+	};
+};
+
+&eth1 {
+	mtd-mac-address = <&uboot 0x1fc00>;
+};
diff --git a/target/linux/ath79/image/tiny-tp-link.mk b/target/linux/ath79/image/tiny-tp-link.mk
index 787ac055ba83912d3e11b4db8afff411b2d77ef9..8f6f2fe14a528b57b66722d726afcc8c408f7052 100644
--- a/target/linux/ath79/image/tiny-tp-link.mk
+++ b/target/linux/ath79/image/tiny-tp-link.mk
@@ -274,6 +274,20 @@ define Device/tplink_tl-wr940n-v4
 endef
 TARGET_DEVICES += tplink_tl-wr940n-v4
 
+define Device/tplink_tl-wr940n-v6
+  $(Device/tplink-4mlzma)
+  SOC := tp9343
+  DEVICE_MODEL := TL-WR940N
+  DEVICE_VARIANT := v6
+  TPLINK_HWID := 0x09400006
+  SUPPORTED_DEVICES += tl-wr940n-v6
+  IMAGES += factory-us.bin factory-eu.bin factory-br.bin
+  IMAGE/factory-us.bin := tplink-v1-image factory -C US
+  IMAGE/factory-eu.bin := tplink-v1-image factory -C EU
+  IMAGE/factory-br.bin := tplink-v1-image factory -C BR
+endef
+TARGET_DEVICES += tplink_tl-wr940n-v6
+
 define Device/tplink_tl-wr941-v2
   $(Device/tplink-4m)
   SOC := ar9132
diff --git a/target/linux/ath79/tiny/base-files/etc/board.d/01_leds b/target/linux/ath79/tiny/base-files/etc/board.d/01_leds
index 43efc46145fc47430d9ef5f6f11a550377a16ade..e8c685240670ecd8b8320ee10cf8118fd5ef89ba 100755
--- a/target/linux/ath79/tiny/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/tiny/base-files/etc/board.d/01_leds
@@ -96,6 +96,9 @@ tplink,tl-wr941nd-v6)
 	ucidef_set_led_switch "lan3" "LAN3" "tp-link:blue:lan3" "switch0" "0x04"
 	ucidef_set_led_switch "lan4" "LAN4" "tp-link:blue:lan4" "switch0" "0x02"
 	;;
+tplink,tl-wr940n-v6)
+	ucidef_set_led_netdev "wan" "WAN" "tp-link:blue:wan" "eth1"
+	;;
 esac
 
 board_config_flush
diff --git a/target/linux/ath79/tiny/base-files/etc/board.d/02_network b/target/linux/ath79/tiny/base-files/etc/board.d/02_network
index c8269599a480d9ec493be1562386491545832922..ff1e8110b46005544251f50c73d9b18374a19dc9 100755
--- a/target/linux/ath79/tiny/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/tiny/base-files/etc/board.d/02_network
@@ -48,6 +48,7 @@ ath79_setup_interfaces()
 	tplink,tl-wr841-v12|\
 	tplink,tl-wr940n-v3|\
 	tplink,tl-wr940n-v4|\
+	tplink,tl-wr940n-v6|\
 	tplink,tl-wr941nd-v6)
 		ucidef_set_interface_wan "eth1"
 		ucidef_add_switch "switch0" \