From abc1faad0bacfb530dd331802b0518de14f07e26 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sat, 19 Dec 2015 11:27:59 +0000
Subject: [PATCH] ar71xx: PowerCloud CAP324 OpenWrt configuration

Openwrt configuration part of support for PowerCloud CAP324
Cloud AP.  The CAP324 Cloud AP is a device sold by PowerCloud Systems
who's stock firmware (CloudCommand) provides 'cloud' based managment
of large numbers access points.

The CAP324 is a dual-band 802.11n wireless access point with 16MB flash
and 128MB RAM and single gigabit ethernet port.  It can be powered via PoE
or a wall wart.

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>

SVN-Revision: 47944
---
 package/boot/uboot-envtools/files/ar71xx               | 1 +
 target/linux/ar71xx/base-files/etc/board.d/01_leds     | 6 ++++++
 target/linux/ar71xx/base-files/etc/board.d/02_network  | 4 ++++
 target/linux/ar71xx/base-files/etc/diag.sh             | 3 +++
 target/linux/ar71xx/base-files/lib/ar71xx.sh           | 3 +++
 target/linux/ar71xx/base-files/lib/upgrade/platform.sh | 1 +
 6 files changed, 18 insertions(+)

diff --git a/package/boot/uboot-envtools/files/ar71xx b/package/boot/uboot-envtools/files/ar71xx
index 0c81f328b6..4a9bec53dc 100644
--- a/package/boot/uboot-envtools/files/ar71xx
+++ b/package/boot/uboot-envtools/files/ar71xx
@@ -15,6 +15,7 @@ board=$(ar71xx_board_name)
 
 case "$board" in
 all0258n | \
+cap324 | \
 cap4200ag | \
 carambola2 | \
 eap300v2 | \
diff --git a/target/linux/ar71xx/base-files/etc/board.d/01_leds b/target/linux/ar71xx/base-files/etc/board.d/01_leds
index ed2aeae65a..2c7bcb768c 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/01_leds
+++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds
@@ -92,6 +92,12 @@ bxu2000n-2-a1)
 	ucidef_set_led_wlan "wlan" "WLAN" "bhu:green:wlan" "phy0tpt"
 	;;
 
+cap324)
+	ucidef_set_led_netdev "lan" "LAN" "pcs:green:lan" "eth0"
+	ucidef_set_led_wlan "wlan_amber" "WLAN_AMBER" "pcs:amber:wlan" "phy0tpt"
+	ucidef_set_led_wlan "wlan_green" "WLAN_GREEN" "pcs:green:wlan" "phy1tpt"
+	;;
+
 cap4200ag)
 	ucidef_set_led_default "lan_green" "LAN_GREEN" "senao:green:lan" "1"
 	ucidef_set_led_wlan "wlan_amber" "WLAN_AMBER" "senao:amber:wlan" "phy0tpt"
diff --git a/target/linux/ar71xx/base-files/etc/board.d/02_network b/target/linux/ar71xx/base-files/etc/board.d/02_network
index bfc898ce6d..7cb3d882da 100755
--- a/target/linux/ar71xx/base-files/etc/board.d/02_network
+++ b/target/linux/ar71xx/base-files/etc/board.d/02_network
@@ -352,6 +352,10 @@ wp543)
 	ucidef_set_interface_lan "eth0"
 	;;
 
+cap324)
+	ucidef_set_interface_lan "eth0" "dhcp"
+	;;
+
 arduino-yun | \
 dir-505-a1)
 	ucidef_set_interface_lan "eth1"
diff --git a/target/linux/ar71xx/base-files/etc/diag.sh b/target/linux/ar71xx/base-files/etc/diag.sh
index fd57c55b1d..899206aa16 100644
--- a/target/linux/ar71xx/base-files/etc/diag.sh
+++ b/target/linux/ar71xx/base-files/etc/diag.sh
@@ -55,6 +55,9 @@ get_status_led() {
 	bxu2000n-2-a1)
 		status_led="bhu:green:status"
 		;;
+	cap324)
+		status_led="pcs:green:power"
+		;;
 	cap4200ag)
 		status_led="senao:green:pwr"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index 5af7adf1af..b241060c6d 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -411,6 +411,9 @@ ar71xx_board_detect() {
 	*AW-NR580)
 		name="aw-nr580"
 		;;
+	*CAP324)
+		name="cap324"
+		;;
 	*CAP4200AG)
 		name="cap4200ag"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 7e564b45cc..2fa9a59cdd 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -167,6 +167,7 @@ platform_check_image() {
 	case "$board" in
 	all0315n | \
 	all0258n | \
+	cap324 | \
 	cap4200ag)
 		platform_check_image_allnet "$1" && return 0
 		return 1
-- 
GitLab