From e9c4d3d1f2dd990ebd9474ceda1c77b45678c6bd Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 29 Mar 2012 16:03:04 +0000 Subject: [PATCH] ramips: add support for the ARC FreeStation5 board, also fix WCR-150GN network setup while we're at it - thanks Pau Escrich for the implementation SVN-Revision: 31144 --- .../etc/hotplug.d/firmware/10-rt2x00-eeprom | 1 + .../base-files/etc/uci-defaults/network | 3 +- .../base-files/lib/preinit/06_set_iface_mac | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 ++ .../ramips/base-files/lib/upgrade/platform.sh | 1 + .../mips/include/asm/mach-ralink/machine.h | 1 + .../files/arch/mips/ralink/rt305x/Kconfig | 3 ++ .../files/arch/mips/ralink/rt305x/Makefile | 1 + .../mips/ralink/rt305x/mach-freestation5.c | 34 +++++++++++++++++++ target/linux/ramips/image/Makefile | 5 +++ target/linux/ramips/rt305x/config-3.2 | 1 + .../ramips/rt305x/profiles/freestation5.mk | 18 ++++++++++ 12 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/files/arch/mips/ralink/rt305x/mach-freestation5.c create mode 100644 target/linux/ramips/rt305x/profiles/freestation5.mk 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 + * Copyright (C) 2010 Gabor Juhos + * Copyright (C) 2012 Pau Escrich + * + * 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 +#include + +#include +#include +#include + +#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))