diff mbox

[OpenWrt-Devel] ar71xx: add support for EnGenius ECB1750

Message ID BN1PR04MB0604592D6594874736ACA7581010@BN1PR04MB060.namprd04.prod.outlook.com
State Changes Requested
Headers show

Commit Message

Andrew Tyler Nov. 29, 2015, 8:07 a.m. UTC
This adds support for the EnGenius ECB1750 access point. Tested for 2 weeks  and so far everything seems great!

Signed-off-by: Andrew Tyler <atyler@arocna3.com>
diff mbox

Patch

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 74c3417..a01b441 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
@@ -75,6 +75,11 @@  case "$FIRMWARE" in
 		ath10kcal_extract "ART" 20480 2116
 		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
 		;;
+	ecb1750)
+		ath10kcal_extract "art" 20480 2116
+		ath10kcal_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +1)
+		;;
+
 	esac
 	;;
 "ath10k/cal-pci-0000:01:00.0.bin")
diff --git a/target/linux/ar71xx/base-files/lib/ar71xx.sh b/target/linux/ar71xx/base-files/lib/ar71xx.sh
index df77040..761afdf 100755
--- a/target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ b/target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -491,6 +491,9 @@  ar71xx_board_detect() {
 	*"GL AR300")
 		name="gl-ar300"
 		;;
+	*"EnGenius ECB1750")
+	name="ecb1750"
+	;;
 	*"EnGenius EPG5000")
 		name="epg5000"
 		;;
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 41886e3..d19a33c 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -216,6 +216,7 @@  platform_check_image() {
 	dlan-pro-1200-ac | \
 	dragino2 | \
 	epg5000 | \
+	ecb1750 | \
 	esr1750 | \
 	esr900 | \
 	ew-dorin | \
diff --git a/target/linux/ar71xx/config-4.1 b/target/linux/ar71xx/config-4.1
index eff197a..d0b0c8a 100644
--- a/target/linux/ar71xx/config-4.1
+++ b/target/linux/ar71xx/config-4.1
@@ -74,6 +74,7 @@  CONFIG_ATH79_MACH_EL_M150=y
 CONFIG_ATH79_MACH_EL_MINI=y
 CONFIG_ATH79_MACH_EPG5000=y
 CONFIG_ATH79_MACH_ESR1750=y
+CONFIG_ATH79_MACH_ECB1750=y
 CONFIG_ATH79_MACH_ESR900=y
 CONFIG_ATH79_MACH_EW_DORIN=y
 CONFIG_ATH79_MACH_F9K1115V2=y
diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
new file mode 100644
index 0000000..aa3cf43
--- /dev/null
+++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
@@ -0,0 +1,109 @@ 
+/*
+ *  EnGenius ECB1750 board support
+ *
+ *  Andrew Tyler <atyler@arocna3.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
+ *  by the Free Software Foundation.
+ */
+
+#include <linux/platform_device.h>
+#include <linux/ar8216_platform.h>
+
+#include <asm/mach-ath79/ar71xx_regs.h>
+
+#include "common.h"
+#include "dev-ap9x-pci.h"
+#include "dev-gpio-buttons.h"
+#include "dev-eth.h"
+#include "dev-leds-gpio.h"
+#include "dev-m25p80.h"
+#include "dev-wmac.h"
+#include "machtypes.h"
+#include "pci.h"
+
+#define ECB1750_GPIO_LED_LAN		12
+#define ECB1750_GPIO_LED_WLAN_2G		13
+#define ECB1750_GPIO_LED_POWER		22
+#define ECB1750_GPIO_LED_WLAN_5G		23
+
+#define ECB1750_GPIO_BTN_RESET		17
+
+#define ECB1750_KEYS_POLL_INTERVAL	20	/* msecs */
+#define ECB1750_KEYS_DEBOUNCE_INTERVAL	(3 * ECB1750_KEYS_POLL_INTERVAL)
+
+#define ECB1750_MAC0_OFFSET		0
+#define ECB1750_MAC1_OFFSET		1
+#define ECB1750_WMAC_CALDATA_OFFSET	0x1000
+#define ECB1750_PCIE_CALDATA_OFFSET   0x5000
+
+static struct gpio_led ecb1750_leds_gpio[] __initdata = {
+	{
+		.name		= "ecb1750:amber:power",
+		.gpio		= ECB1750_GPIO_LED_POWER,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:lan",
+		.gpio		= ECB1750_GPIO_LED_LAN,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:wlan24",
+		.gpio		= ECB1750_GPIO_LED_WLAN_2G,
+		.active_low	= 0,
+	},
+	{
+		.name		= "ecb1750:blue:wlan58",
+		.gpio		= ECB1750_GPIO_LED_WLAN_5G,
+		.active_low	= 0,
+	},
+};
+
+static struct gpio_keys_button ecb1750_gpio_keys[] __initdata = {
+	{
+		.desc		= "Reset button",
+		.type		= EV_KEY,
+		.code		= KEY_RESTART,
+		.debounce_interval = ECB1750_KEYS_DEBOUNCE_INTERVAL,
+		.gpio		= ECB1750_GPIO_BTN_RESET,
+		.active_low	= 1,
+	},
+};
+
+static void __init ecb1750_setup(void)
+{
+	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
+	u8 mac[6];
+
+	ath79_register_m25p80(NULL);
+
+	ath79_register_leds_gpio(-1, ARRAY_SIZE(ecb1750_leds_gpio),
+				 ecb1750_leds_gpio);
+	ath79_register_gpio_keys_polled(-1, ECB1750_KEYS_POLL_INTERVAL,
+					ARRAY_SIZE(ecb1750_gpio_keys),
+					ecb1750_gpio_keys);
+
+	ath79_init_mac(mac, art + ECB1750_MAC0_OFFSET, 1);
+	ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0);
+	ath79_register_wmac(art + ECB1750_WMAC_CALDATA_OFFSET, NULL);
+	ath79_register_pci();
+
+	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
+	ath79_register_mdio(0, 0x0);
+
+	ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0);
+
+	/* GMAC0 is connected to the RMGII interface */
+	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
+	ath79_eth0_data.phy_mask = BIT(5);
+	ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
+	ath79_eth0_pll_data.pll_1000 = 0x9a000000;
+	ath79_eth0_pll_data.pll_100  = 0x80000101;
+	ath79_eth0_pll_data.pll_10   = 0x80001313;
+
+ath79_register_eth(0);
+}
+
+MIPS_MACHINE(ATH79_MACH_ECB1750, "ECB1750", "EnGenius ECB1750", ecb1750_setup);
diff --git a/target/linux/ar71xx/generic/profiles/engenius.mk b/target/linux/ar71xx/generic/profiles/engenius.mk
index 7ea93e3..2a19f58 100644
--- a/target/linux/ar71xx/generic/profiles/engenius.mk
+++ b/target/linux/ar71xx/generic/profiles/engenius.mk
@@ -16,6 +16,16 @@  endef
 
 $(eval $(call Profile,EAP300V2))
 
+define Profile/ECB1750
+	NAME:=EnGenius ECB1750
+	PACKAGES:=kmod-ath9k kmod-ath10k
+endef
+
+define Profile/ECB1750/Description
+	Package set optimized for the EnGenius ECB1750.
+endef
+
+$(eval $(call Profile,ECB1750))
 
 define Profile/ESR900
 	NAME:=EnGenius ESR900
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index d12ad8b..5de7d82 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -1484,6 +1484,7 @@  cameo_ap94_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,6208k(firmware)
 cameo_ap94_mtdlayout_fat=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,7808k(firmware),64k(caldata)ro,64k@0x660000(caldata_orig),6208k@0x50000(firmware_orig)
 esr900_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware)
 esr1750_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware)
+ecb1750_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),1408k(kernel),14272k(rootfs),320k(userconfig),64k(art),15680k@0x50000(firmware)
 epg5000_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware)
 ew-dorin_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),3712k(firmware),64k(art)
 ew-dorin_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
@@ -2324,6 +2325,7 @@  $(eval $(call SingleProfile,dLANLzma,64k,dLAN_pro_1200_ac,dlan-pro-1200-ac,dLAN-
 
 $(eval $(call SingleProfile,EnGenius,64k,ESR900,esr900,ESR900,ttyS0,115200,$$(esr900_mtdlayout),KRuImage,,0x4e))
 $(eval $(call SingleProfile,EnGenius,64k,ESR1750,esr1750,ESR1750,ttyS0,115200,$$(esr1750_mtdlayout),KRuImage,,0x61))
+$(eval $(call SingleProfile,EnGenius,64k,ECB1750,ecb1750,ECB1750,ttyS0,115200,$$(ecb1750_mtdlayout),KRuImage,,0x61))
 $(eval $(call SingleProfile,EnGenius,64k,EPG5000,epg5000,EPG5000,ttyS0,115200,$$(epg5000_mtdlayout),KRuImage,,0x71))
 
 $(eval $(call SingleProfile,HiWiFi,64k,HIWIFI_HC6361,hiwifi-hc6361,HiWiFi-HC6361,ttyATH0,115200,$$(hiwifi_hc6361_mtdlayout),KRuImage))
diff --git a/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch b/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch
new file mode 100644
index 0000000..42bb18d
--- /dev/null
+++ b/target/linux/ar71xx/patches-4.1/914-MIPS-ath79-add-ecb1750-support.patch
@@ -0,0 +1,38 @@ 
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
+@@ -70,6 +70,7 @@
+ 	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
+ 	ATH79_MACH_EL_M150,		/* EasyLink EL-M150 */
+ 	ATH79_MACH_EL_MINI,		/* EasyLink EL-MINI */
++	ATH79_MACH_ECB1750,		/* EnGenius ECB1750 */
+ 	ATH79_MACH_ESR1750,		/* EnGenius ESR1750 */
+ 	ATH79_MACH_EPG5000,		/* EnGenius EPG5000 */
+ 	ATH79_MACH_F9K1115V2,		/* Belkin AC1750DB */
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
+@@ -83,6 +83,7 @@
+ obj-$(CONFIG_ATH79_MACH_EL_MINI)	+= mach-el-mini.o
+ obj-$(CONFIG_ATH79_MACH_EPG5000)	+= mach-epg5000.o
+ obj-$(CONFIG_ATH79_MACH_ESR1750)	+= mach-esr1750.o
++obj-$(CONFIG_ATH79_MACH_ECB1750)	+= mach-ecb1750.o
+ obj-$(CONFIG_ATH79_MACH_F9K1115V2)	+= mach-f9k1115v2.o
+ obj-$(CONFIG_ATH79_MACH_GL_AR150)   += mach-gl-ar150.o
+ obj-$(CONFIG_ATH79_MACH_GL_AR300)	+= mach-gl-ar300.o
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
+@@ -289,6 +289,15 @@
+ 	select ATH79_DEV_LEDS_GPIO
+ 	select ATH79_DEV_M25P80
+ 	select ATH79_DEV_USB
++	select ATH79_DEV_WMAC
++
++config ATH79_MACH_ECB1750
++	bool "EnGenius ECB1750 board support"
++	select SOC_QCA955X
++	select ATH79_DEV_ETH
++	select ATH79_DEV_GPIO_BUTTONS
++	select ATH79_DEV_LEDS_GPIO
++	select ATH79_DEV_M25P80
+ 	select ATH79_DEV_WMAC
+ 
+ config ATH79_MACH_WHR_HP_G300N
diff --git a/test.diff b/test.diff
new file mode 100644
index 0000000..b878e6c
--- /dev/null
+++ b/test.diff
@@ -0,0 +1,187 @@ 
+--- target/linux/ar71xx/base-files/lib/ar71xx.sh
++++ target/linux/ar71xx/base-files/lib/ar71xx.sh
+@@ -482,6 +478,9 @@ ar71xx_board_detect() {
+ 		name="gl-inet"
+ 		gl_inet_board_detect
+ 		;;
++	*"EnGenius ECB1750")
++	name="ecb1750"
++	;;
+ 	*"EnGenius EPG5000")
+ 		name="epg5000"
+ 		;;
+--- target/linux/ar71xx/base-files/lib/upgrade/platform.sh
++++ target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+@@ -211,11 +211,11 @@ platform_check_image() {
+ 	dir-615-i1 | \
+ 	dir-825-c1 | \
+ 	dir-835-a1 | \
+-	dlan-hotspot | \
+ 	dlan-pro-500-wp | \
+ 	dlan-pro-1200-ac | \
+ 	dragino2 | \
+-	epg5000 | \
++    ecb1750 | \
++    epg5000 | \
+ 	esr1750 | \
+ 	esr900 | \
+ 	ew-dorin | \
+--- target/linux/ar71xx/config-4.1
++++ target/linux/ar71xx/config-4.1
+@@ -73,6 +72,7 @@ CONFIG_ATH79_MACH_EL_M150=y
+ CONFIG_ATH79_MACH_EL_MINI=y
+ CONFIG_ATH79_MACH_EPG5000=y
+ CONFIG_ATH79_MACH_ESR1750=y
++CONFIG_ATH79_MACH_ECB1750=y
+ CONFIG_ATH79_MACH_ESR900=y
+ CONFIG_ATH79_MACH_EW_DORIN=y
+ CONFIG_ATH79_MACH_F9K1115V2=y
+--- /dev/null
++++ target/linux/ar71xx/files/arch/mips/ath79/mach-ecb1750.c
+@@ -0,0 +1,108 @@
++/*
++ *  EnGenius ECB1750 board support
++ *
++ *  Copyright (c) 2015 Andrew Tyler <atyler@arocna3.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
++ *  by the Free Software Foundation.
++ */
++
++#include <linux/platform_device.h>
++#include <linux/ar8216_platform.h>
++
++#include <asm/mach-ath79/ar71xx_regs.h>
++
++#include "common.h"
++#include "dev-ap9x-pci.h"
++#include "dev-gpio-buttons.h"
++#include "dev-eth.h"
++#include "dev-leds-gpio.h"
++#include "dev-m25p80.h"
++#include "dev-wmac.h"
++#include "machtypes.h"
++#include "pci.h"
++
++#define ECB1750_GPIO_LED_LAN		12
++#define ECB1750_GPIO_LED_WLAN_2G		13
++#define ECB1750_GPIO_LED_POWER		22
++#define ECB1750_GPIO_LED_WLAN_5G		23
++
++#define ECB1750_GPIO_BTN_RESET		17
++
++#define ECB1750_KEYS_POLL_INTERVAL	20	/* msecs */
++#define ECB1750_KEYS_DEBOUNCE_INTERVAL	(3 * ECB1750_KEYS_POLL_INTERVAL)
++
++#define ECB1750_MAC0_OFFSET		0
++#define ECB1750_MAC1_OFFSET		1
++#define ECB1750_WMAC_CALDATA_OFFSET	0x1000
++#define ECB1750_PCIE_CALDATA_OFFSET   0x5000
++
++static struct gpio_led ecb1750_leds_gpio[] __initdata = {
++	{
++		.name		= "ecb1750:amber:power",
++		.gpio		= ECB1750_GPIO_LED_POWER,
++		.active_low	= 0,
++	},
++	{
++		.name		= "ecb1750:blue:lan",
++		.gpio		= ECB1750_GPIO_LED_LAN,
++		.active_low	= 0,
++	},
++	{
++		.name		= "ecb1750:blue:wlan24",
++		.gpio		= ECB1750_GPIO_LED_WLAN_2G,
++		.active_low	= 0,
++	},
++	{
++		.name		= "ecb1750:blue:wlan58",
++		.gpio		= ECB1750_GPIO_LED_WLAN_5G,
++		.active_low	= 0,
++	},
++};
++
++static struct gpio_keys_button ecb1750_gpio_keys[] __initdata = {
++	{
++		.desc		= "Reset button",
++		.type		= EV_KEY,
++		.code		= KEY_RESTART,
++		.debounce_interval = ECB1750_KEYS_DEBOUNCE_INTERVAL,
++		.gpio		= ECB1750_GPIO_BTN_RESET,
++		.active_low	= 1,
++	},
++};
++
++static void __init ecb1750_setup(void)
++{
++	u8 *art = (u8 *)KSEG1ADDR(0x1fff0000);
++	u8 mac[6];
++
++	ath79_register_m25p80(NULL);
++
++	ath79_register_leds_gpio(-1, ARRAY_SIZE(ecb1750_leds_gpio),
++				 ecb1750_leds_gpio);
++	ath79_register_gpio_keys_polled(-1, ECB1750_KEYS_POLL_INTERVAL,
++					ARRAY_SIZE(ecb1750_gpio_keys),
++					ecb1750_gpio_keys);
++
++	ath79_init_mac(mac, art + ECB1750_MAC0_OFFSET, 1);
++	ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0);
++	ath79_register_wmac(art + ECB1750_WMAC_CALDATA_OFFSET, NULL);
++	ath79_register_pci();
++
++	ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
++	ath79_register_mdio(0, 0x0);
++
++	ath79_init_mac(ath79_eth0_data.mac_addr, art + ECB1750_MAC0_OFFSET, 0);
++
++	/* GMAC0 is connected to the RMGII interface */
++	ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
++	ath79_eth0_data.phy_mask = BIT(5);
++	ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
++	ath79_eth0_pll_data.pll_1000 = 0x9a000000;
++	ath79_eth0_pll_data.pll_100  = 0x80000101;
++	ath79_eth0_pll_data.pll_10   = 0x80001313;
++
++ath79_register_eth(0);
++}
++
++MIPS_MACHINE(ATH79_MACH_ECB1750, "ECB1750", "EnGenius ECB1750", ecb1750_setup);
+--- target/linux/ar71xx/generic/profiles/engenius.mk
++++ target/linux/ar71xx/generic/profiles/engenius.mk
+@@ -16,6 +16,16 @@
+ 
+ $(eval $(call Profile,EAP300V2))
+ 
++define Profile/ECB1750
++	NAME:=EnGenius ECB1750
++	PACKAGES:=kmod-ath9k kmod-ath10k
++endef
++
++define Profile/ECB1750/Description
++	Package set optimized for the EnGenius ECB1750.
++endef
++
++$(eval $(call Profile,ECB1750))
+ 
+ define Profile/ESR900
+ 	NAME:=EnGenius ESR900
+--- target/linux/ar71xx/image/Makefile
++++ target/linux/ar71xx/image/Makefile
+@@ -1484,6 +1484,7 @@
+ cameo_ap94_mtdlayout_fat=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,7808k(firmware),64k(caldata)ro,64k@0x660000(caldata_orig),6208k@0x50000(firmware_orig)
+ esr900_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware)
+ esr1750_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware)
++ecb1750_mtdlayout=mtdparts=spi0.0:256k(u-boot),64k(u-boot-env),1408k(kernel),14272k(rootfs),320k(userconfig),64k(art),15680k@0x50000(firmware)
+ epg5000_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(u-boot-env)ro,1408k(kernel),13248k(rootfs),1024k(manufacture)ro,64k(backup)ro,320k(storage)ro,64k(caldata)ro,14656k@0x40000(firmware)
+ ew-dorin_mtdlayout_4M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),3712k(firmware),64k(art)
+ ew-dorin_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),16000k(firmware),64k(art)ro
+@@ -2324,6 +2325,7 @@
+ 
+ $(eval $(call SingleProfile,EnGenius,64k,ESR900,esr900,ESR900,ttyS0,115200,$$(esr900_mtdlayout),KRuImage,,0x4e))
+ $(eval $(call SingleProfile,EnGenius,64k,ESR1750,esr1750,ESR1750,ttyS0,115200,$$(esr1750_mtdlayout),KRuImage,,0x61))
++$(eval $(call SingleProfile,EnGenius,64k,ECB1750,ecb1750,ECB1750,ttyS0,115200,$$(ecb1750_mtdlayout),KRuImage,,0x61))
+ $(eval $(call SingleProfile,EnGenius,64k,EPG5000,epg5000,EPG5000,ttyS0,115200,$$(epg5000_mtdlayout),KRuImage,,0x71))
+ 
+ $(eval $(call SingleProfile,HiWiFi,64k,HIWIFI_HC6361,hiwifi-hc6361,HiWiFi-HC6361,ttyATH0,115200,$$(hiwifi_hc6361_mtdlayout),KRuImage))
Signed-off-by: Andrew Tyler <atyler@arocna3.com>