From: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Date: Sat, 20 Jul 2019 10:49:20 +0000 (+0200)
Subject: ath79: add support for TP-Link CPE510 v1
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=0104eed1e5ca93a1c912e2d9b70e800b8d3099ad;p=openwrt%2Fstaging%2Fblogic.git

ath79: add support for TP-Link CPE510 v1

TP-Link CPE510-v1 is an outdoor wireless CPE for 5 GHz with
two Ethernet ports based on Atheros AR9334

Specifications:
 - 560/450/225 MHz (CPU/DDR/AHB)
 - 2x 10/100 Mbps Ethernet, 1x PoE-in, 1x PoE-out
 - 64 MB of DDR2 RAM
 - 8 MB of SPI-NOR Flash
 - 2T2R 5 GHz
 - 13 dBi built-in antenna
 - Power, LAN0, LAN1 green LEDs
 - 4x green RSSI LEDs

Flash factory image through stock firmware WEB UI
or through TFTP:
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Based on the work of Paul Wassi <p.wassi@gmx.at>

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
---

diff --git a/target/linux/ath79/base-files/etc/board.d/01_leds b/target/linux/ath79/base-files/etc/board.d/01_leds
index 5c1598462291..85d54aa708d2 100755
--- a/target/linux/ath79/base-files/etc/board.d/01_leds
+++ b/target/linux/ath79/base-files/etc/board.d/01_leds
@@ -158,7 +158,8 @@ tplink,archer-d50-v1)
 	ucidef_set_led_switch "wan_data" "WAN Data" "tp-link:white:internet" "switch0" "0x02" "" "tx rx"
 	ucidef_set_led_switch "wan_link" "WAN Link" "tp-link:white:wan" "switch0" "0x02" "" "link"
 	;;
-tplink,cpe210-v1)
+tplink,cpe210-v1|\
+tplink,cpe510-v1)
 	ucidef_set_led_netdev "lan0" "LAN0" "tp-link:green:lan0" "eth1"
 	ucidef_set_led_switch "lan1" "LAN1" "tp-link:green:lan1" "switch0" "0x10"
 	ucidef_set_rssimon "wlan0" "200000" "1"
diff --git a/target/linux/ath79/base-files/etc/board.d/02_network b/target/linux/ath79/base-files/etc/board.d/02_network
index 18dfe303ad8e..e8846f38f360 100755
--- a/target/linux/ath79/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/base-files/etc/board.d/02_network
@@ -103,6 +103,7 @@ ath79_setup_interfaces()
 	comfast,cf-e110n-v2|\
 	comfast,cf-e120a-v3|\
 	tplink,cpe210-v1|\
+	tplink,cpe510-v1|\
 	ubnt,nanostation-m|\
 	ubnt,routerstation)
 		ucidef_set_interfaces_lan_wan "eth1" "eth0"
diff --git a/target/linux/ath79/base-files/etc/board.d/03_gpio_switches b/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
index 3f79ceefaf6a..9dc9feb70c7a 100755
--- a/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
+++ b/target/linux/ath79/base-files/etc/board.d/03_gpio_switches
@@ -42,7 +42,8 @@ tplink,archer-c25-v1)
 	ucidef_add_gpio_switch "led_control" "LED control" "21" "0"
 	ucidef_add_gpio_switch "led_reset" "LED reset" "19" "1"
 	;;
-tplink,cpe210-v1)
+tplink,cpe210-v1|\
+tplink,cpe510-v1)
 	ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "20"
 	;;
 ubnt,nanostation-ac)
diff --git a/target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts b/target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts
new file mode 100644
index 000000000000..225d16e2e783
--- /dev/null
+++ b/target/linux/ath79/dts/ar9344_tplink_cpe510-v1.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "ar9344_tplink_cpexxx-v1.dtsi"
+
+/ {
+	compatible = "tplink,cpe510-v1", "qca,ar9344";
+	model = "TP-Link CPE510 v1";
+};
diff --git a/target/linux/ath79/image/generic-tp-link.mk b/target/linux/ath79/image/generic-tp-link.mk
index a5844227e437..ffbdfbc14f89 100644
--- a/target/linux/ath79/image/generic-tp-link.mk
+++ b/target/linux/ath79/image/generic-tp-link.mk
@@ -195,6 +195,18 @@ define Device/tplink_cpe210-v3
 endef
 TARGET_DEVICES += tplink_cpe210-v3
 
+define Device/tplink_cpe510-v1
+  $(Device/tplink-loader-okli)
+  ATH_SOC := ar9344
+  IMAGE_SIZE := 7680k
+  DEVICE_MODEL := CPE510
+  DEVICE_VARIANT := v1
+  DEVICE_PACKAGES := rssileds
+  TPLINK_BOARD_ID := CPE510
+  SUPPORTED_DEVICES += cpe510
+endef
+TARGET_DEVICES += tplink_cpe510-v1
+
 define Device/tplink_cpe510-v2
   $(Device/tplink-loader-okli)
   ATH_SOC := ar9344