From: Jo-Philipp Wich <jow@openwrt.org>
Date: Thu, 29 Mar 2012 16:03:04 +0000 (+0000)
Subject: ramips: add support for the ARC FreeStation5 board, also fix WCR-150GN network setup... 
X-Git-Tag: reboot~14376
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=e9c4d3d1f2dd990ebd9474ceda1c77b45678c6bd;p=openwrt%2Fopenwrt.git

ramips: add support for the ARC FreeStation5 board, also fix WCR-150GN network setup while we're at it - thanks Pau Escrich <p4u@dabax.net> for the implementation

SVN-Revision: 31144
---

diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
index 7bd58d5fac..62788cde48 100644
--- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
+++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
@@ -53,6 +53,7 @@ case "$FIRMWARE" in
 	bc2 | \
 	esr-9753 | \
 	fonera20n | \
+	freestation5 | \
 	hw550-3g | \
 	mofi3500-3gn | \
 	pwh2004 | \
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/network b/target/linux/ramips/base-files/etc/uci-defaults/network
index a17fad8e98..dc2221f1e7 100755
--- a/target/linux/ramips/base-files/etc/uci-defaults/network
+++ b/target/linux/ramips/base-files/etc/uci-defaults/network
@@ -54,8 +54,9 @@ ramips_setup_interfaces()
 		ucidef_add_switch_vlan "switch0" "2" "4 8t"
 		;;
 
+	freestation5 | \
 	wcr-150gn)
-		ucidef_set_interface_lan_wan "eth0.2" "eth0.1"
+		ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
 		;;
 
 	wli-tx4-ag300n)
diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
index 90c327a2ed..f523d690d4 100644
--- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
+++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
@@ -10,6 +10,7 @@ preinit_set_mac_address() {
 	case $(ramips_board_name) in
 	bc2 |\
 	esr-9753 |\
+	freestation5 |\
 	nw718 |\
 	rt-n56u |\
 	sl-r7205)
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 6e1da23040..1298ebda93 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -50,6 +50,9 @@ ramips_board_name() {
 	*"Allnet ALL0256N")
 		name="all0256n"
 		;;
+	*"ARC FreeStation5")
+		name="freestation5"
+		;;
 	*"Argus ATP-52B")
 		name="argus-atp52b"
 		;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 4d0bb19c77..7f500d9796 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -21,6 +21,7 @@ platform_check_image() {
 	dir-600-b2 | \
 	esr-9753 | \
 	fonera20n | \
+	freestation5 | \
 	hw550-3g | \
 	mofi3500-3gn | \
 	nbg-419n | \
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
index bce51cd071..c2ec146c97 100644
--- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h
@@ -37,6 +37,7 @@ enum ramips_mach_type {
 	RAMIPS_MACH_ESR_9753,		/* Senao / EnGenius ESR-9753*/
 	RAMIPS_MACH_F5D8235_V2,         /* Belkin F5D8235 v2 */
 	RAMIPS_MACH_FONERA20N,		/* La Fonera 2.0N */
+	RAMIPS_MACH_FREESTATION5,	/* ARC Freestation5 */
 	RAMIPS_MACH_HW550_3G,		/* Aztech HW550-3G */
 	RAMIPS_MACH_MOFI3500_3GN,	/* MoFi Network MOFI3500-3GN */
 	RAMIPS_MACH_NBG_419N,		/* ZyXEL NBG-419N */
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig
index 6c5a62f507..ef4ddf4097 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig
@@ -66,6 +66,9 @@ config RT305X_MACH_FONERA20N
 	select RALINK_DEV_GPIO_BUTTONS
 	select RALINK_DEV_GPIO_LEDS
 
+config RT305X_MACH_FREESTATION5
+	bool "ARC FreeStation5"
+
 config RT305X_MACH_MOFI3500_3GN
 	bool "MoFi Network MOFI3500-3GN support"
 	select RALINK_DEV_GPIO_BUTTONS
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile
index db3c26210d..0336936505 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_RT305X_MACH_DIR_300_REVB)	+= mach-dir-300-revb.o
 obj-$(CONFIG_RT305X_MACH_ESR_9753)	+= mach-esr-9753.o
 obj-$(CONFIG_RT305X_MACH_F5D8235_V2)    += mach-f5d8235-v2.o
 obj-$(CONFIG_RT305X_MACH_FONERA20N)	+= mach-fonera20n.o
+obj-$(CONFIG_RT305X_MACH_FREESTATION5)  += mach-freestation5.o
 obj-$(CONFIG_RT305X_MACH_HW550_3G)	+= mach-hw550-3g.o
 obj-$(CONFIG_RT305X_MACH_MOFI3500_3GN)	+= mach-mofi3500-3gn.o
 obj-$(CONFIG_RT305X_MACH_NBG_419N)	+= mach-nbg-419n.o
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-freestation5.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-freestation5.c
new file mode 100644
index 0000000000..b868244cca
--- /dev/null
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-freestation5.c
@@ -0,0 +1,34 @@
+/*
+ *  ARC FreeStation2/5 board support
+ *
+ *  Copyright (C) 2009 John Crispin <blogic@openwrt.org>
+ *  Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>
+ *  Copyright (C) 2012 Pau Escrich <p4u@dabax.net>
+ *
+ *  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/init.h>
+#include <linux/platform_device.h>
+
+#include <asm/mach-ralink/machine.h>
+#include <asm/mach-ralink/rt305x.h>
+#include <asm/mach-ralink/rt305x_regs.h>
+
+#include "devices.h"
+
+static void __init freestation5_init(void)
+{
+	rt305x_register_flash(0);
+
+	rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_WLLLL;
+	rt305x_register_ethernet();
+	rt305x_register_wifi();
+	rt305x_register_wdt();
+	rt305x_register_usb();
+}
+
+MIPS_MACHINE(RAMIPS_MACH_FREESTATION5, "FREESTATION5", "ARC FreeStation5",
+	     freestation5_init);
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index a4d526df18..0c37f7e352 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -331,6 +331,10 @@ define Image/Build/Profile/FONERA20N
 	$(call Image/Build/Template/$(fs_squash)/$(1),FONERA20N)
 endef
 
+define Image/Build/Profile/FREESTATION5
+	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,freestation5,FREESTATION5,ttyS1,115200,phys)
+endef
+
 define Image/Build/Profile/MOFI35003GN
 	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,mofi3500-3gn,MOFI3500-3GN,ttyS1,57600,phys)
 endef
@@ -414,6 +418,7 @@ define Image/Build/Profile/Default
 	$(call Image/Build/Profile/F5D8235V2,$(1))
 	$(call Image/Build/Profile/RTN10PLUS,$(1))
 	$(call Image/Build/Profile/FONERA20N,$(1))
+	$(call Image/Build/Profile/FREESTATION5,$(1))
 	$(call Image/Build/Profile/HW5503G,$(1))
 	$(call Image/Build/Profile/MOFI35003GN,$(1))
 	$(call Image/Build/Profile/NBG419N,$(1))
diff --git a/target/linux/ramips/rt305x/config-3.2 b/target/linux/ramips/rt305x/config-3.2
index 4c928a4cdb..993cc5acdd 100644
--- a/target/linux/ramips/rt305x/config-3.2
+++ b/target/linux/ramips/rt305x/config-3.2
@@ -100,6 +100,7 @@ CONFIG_RT305X_MACH_DIR_300_REVB=y
 CONFIG_RT305X_MACH_ESR_9753=y
 CONFIG_RT305X_MACH_F5D8235_V2=y
 CONFIG_RT305X_MACH_FONERA20N=y
+CONFIG_RT305X_MACH_FREESTATION5=y
 CONFIG_RT305X_MACH_HW550_3G=y
 CONFIG_RT305X_MACH_MOFI3500_3GN=y
 CONFIG_RT305X_MACH_NBG_419N=y
diff --git a/target/linux/ramips/rt305x/profiles/freestation5.mk b/target/linux/ramips/rt305x/profiles/freestation5.mk
new file mode 100644
index 0000000000..6da1e68c2e
--- /dev/null
+++ b/target/linux/ramips/rt305x/profiles/freestation5.mk
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/FREESTATION5
+	NAME:=FreeStation5
+	PACKAGES:=\
+		 kmod-usb-rt305x-dwc_otg kmod-rt2500-usb kmod-rt2800-usb kmod-rt2x00-usb
+endef
+
+define Profile/FREESTATION5/Description
+	Package set for ARC Flex FreeStation5
+endef
+
+$(eval $(call Profile,FREESTATION5))