From e07014e70bae07201844265d74f88234685e694c Mon Sep 17 00:00:00 2001 From: Ding Tengfei Date: Mon, 22 Jan 2018 14:57:57 +0800 Subject: [PATCH] ar71xx: add support for COMFAST CF-E355AC v2 COMFAST CF-E355AC v2 is a ceiling mount AP with PoE support, based on Qualcomm/Atheros QCA9531 + QCA9886. Short specification: - 2x 10/100 Mbps Ethernet, with PoE support - 128MB of RAM (DDR2) - 16 MB of FLASH - 2T2R 2.4 GHz, 802.11b/g/n - 2T2R 5 GHz, 802.11ac/n/a, WAVE 2 - built-in 4x 3 dBi antennas - output power (max): 500 mW (27 dBm) - 1x RGB LED, 1x button - built-in watchdog chipset Flash instruction: Original firmware is based on OpenWrt. Use sysupgrade image directly in vendor GUI. Signed-off-by: Ding Tengfei [updated kernel config for both boards] Signed-off-by: Piotr Dymacz --- target/linux/ar71xx/base-files/etc/board.d/01_leds | 5 +++++ .../base-files/etc/hotplug.d/firmware/11-ath10k-caldata | 1 + target/linux/ar71xx/base-files/lib/ar71xx.sh | 3 +++ target/linux/ar71xx/base-files/lib/upgrade/platform.sh | 1 + target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt | 7 +++++-- .../linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c | 6 +++++- target/linux/ar71xx/files/arch/mips/ath79/machtypes.h | 1 + target/linux/ar71xx/image/generic.mk | 8 ++++++++ 8 files changed, 29 insertions(+), 3 deletions(-) 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 725bab2c71..99e4141e7e 100755 --- a/target/linux/ar71xx/base-files/etc/board.d/01_leds +++ b/target/linux/ar71xx/base-files/etc/board.d/01_leds @@ -216,6 +216,11 @@ cf-e375ac) ucidef_set_led_wlan "wlan1" "WLAN" "comfast:blue:wlan" "phy1tpt" ;; cf-e355ac|\ +cf-e355ac-v2) + ucidef_set_led_netdev "lan" "LAN" "cf-e355ac:green:lan" "eth0" + ucidef_set_led_wlan "wlan2g" "WLAN2G" "cf-e355ac:blue:wlan2g" "phy1tpt" + ucidef_set_led_wlan "wlan5g" "WLAN5G" "cf-e355ac:red:wlan5g" "phy0tpt" + ;; cf-e380ac-v1|\ cf-e380ac-v2) ucidef_set_led_netdev "lan" "LAN" "$board:green:lan" "eth0" diff --git a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index b0ada3b342..f1301d0556 100644 --- a/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ar71xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -155,6 +155,7 @@ case "$FIRMWARE" in archer-c58-v1|\ archer-c59-v1|\ archer-c60-v1|\ + cf-e355ac-v2|\ cf-e375ac) ath10kcal_extract "art" 20480 12064 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \ diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh index a9c6821ba8..9df2853e36 100755 --- a/target/linux/ar71xx/base-files/lib/ar71xx.sh +++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh @@ -519,6 +519,9 @@ ar71xx_board_detect() { *"CF-E355AC") name="cf-e355ac" ;; + *"CF-E355AC v2") + name="cf-e355ac-v2" + ;; *"CF-E375AC") name="cf-e375ac" ;; diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index 614692d663..bc28e8b3aa 100755 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ -209,6 +209,7 @@ platform_check_image() { cf-e316n-v2|\ cf-e320n-v2|\ cf-e355ac|\ + cf-e355ac-v2|\ cf-e375ac|\ cf-e380ac-v1|\ cf-e380ac-v2|\ diff --git a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt index ad4e2a23c6..228e7ef898 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt +++ b/target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt @@ -2176,11 +2176,14 @@ config ATH79_MACH_CF_E320N_V2 select ATH79_DEV_WMAC config ATH79_MACH_CF_E355AC - bool "COMFAST CF-E355AC support" + bool "COMFAST CF-E355AC v1/v2 support" select SOC_QCA953X + select ATH79_DEV_AP9X_PCI if PCI select ATH79_DEV_ETH select ATH79_DEV_GPIO_BUTTONS - select ATH79_DEV_AP9X_PCI if PCI + select ATH79_DEV_LEDS_GPIO + select ATH79_DEV_M25P80 + select ATH79_DEV_USB select ATH79_DEV_WMAC config ATH79_MACH_CF_E375AC diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c index 90937a4503..ef6cff4b1a 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-cf-e316n-v2.c @@ -2,7 +2,8 @@ * Support for COMFAST boards: * - CF-E316N v2 (AR9341) * - CF-E320N v2 (QCA9531) - * - CF-E355AC (QCA9531) + * - CF-E355AC (QCA9531 + QCA9882) + * - CF-E355AC v2 (QCA9531 + QCA9886) * - CF-E375AC (QCA9563 + QCA9886 + QCA8337) * - CF-E380AC v1/v2 (QCA9558) * - CF-E520N/CF-E530N (QCA9531) @@ -481,6 +482,9 @@ static void __init cf_e355ac_setup(void) MIPS_MACHINE(ATH79_MACH_CF_E355AC, "CF-E355AC", "COMFAST CF-E355AC", cf_e355ac_setup); +MIPS_MACHINE(ATH79_MACH_CF_E355AC_V2, "CF-E355AC-V2", "COMFAST CF-E355AC v2", + cf_e355ac_setup); + static void __init cf_e375ac_setup(void) { u8 *mac = (u8 *) KSEG1ADDR(0x1f040000); diff --git a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h index e22ebd06f8..2d26b86c4d 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h +++ b/target/linux/ar71xx/files/arch/mips/ath79/machtypes.h @@ -64,6 +64,7 @@ enum ath79_mach_type { ATH79_MACH_CF_E316N_V2, /* COMFAST CF-E316N v2 */ ATH79_MACH_CF_E320N_V2, /* COMFAST CF-E320N v2 */ ATH79_MACH_CF_E355AC, /* COMFAST CF-E355AC */ + ATH79_MACH_CF_E355AC_V2, /* COMFAST CF-E355AC v2*/ ATH79_MACH_CF_E375AC, /* COMFAST CF-E375AC */ ATH79_MACH_CF_E380AC_V1, /* COMFAST CF-E380AC v1 */ ATH79_MACH_CF_E380AC_V2, /* COMFAST CF-E380AC v2 */ diff --git a/target/linux/ar71xx/image/generic.mk b/target/linux/ar71xx/image/generic.mk index beb56bde7a..435fa13593 100644 --- a/target/linux/ar71xx/image/generic.mk +++ b/target/linux/ar71xx/image/generic.mk @@ -203,6 +203,14 @@ define Device/cf-e355ac endef TARGET_DEVICES += cf-e355ac +define Device/cf-e355ac-v2 + $(Device/cf-e355ac) + DEVICE_TITLE := COMFAST CF-E355AC v2 + DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-ath10k ath10k-firmware-qca9888 + BOARDNAME := CF-E355AC-V2 +endef +TARGET_DEVICES += cf-e355ac-v2 + define Device/cf-e375ac DEVICE_TITLE := COMFAST CF-E375AC DEVICE_PACKAGES := kmod-ath10k ath10k-firmware-qca9888