diff options
11 files changed, 134 insertions, 0 deletions
| diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 262160490..b167c520b 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -69,6 +69,9 @@ get_status_led() {  	rt-n56u)  		status_led="asus:blue:power"  		;; +	v11st-fe) +		status_led="v11st-fe:green:status" +		;;  	v22rw-2x2)  		status_led="v22rw-2x2:green:security"  		;; 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 65b2cd39c..5e6fa420d 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 @@ -58,6 +58,7 @@ case "$FIRMWARE" in  	nw718 | \  	omni-emb | \  	rt-n15 | \ +	v11st-fe | \  	v22rw-2x2 | \  	w502u | \  	wcr-150gn | \ diff --git a/target/linux/ramips/base-files/etc/uci-defaults/leds b/target/linux/ramips/base-files/etc/uci-defaults/leds index bcd17f9d0..891a1a7b3 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/leds +++ b/target/linux/ramips/base-files/etc/uci-defaults/leds @@ -60,6 +60,9 @@ case $board in  	nw718)  		set_usb_led "nw718:amber:usb"  		;; +	v11st-fe) +		set_wifi_led "rt2800pci-phy0::radio" +		;;  	w502u)  		set_usb_led "alfa:blue:usb"  		set_wifi_led "rt2800pci-phy0::radio" diff --git a/target/linux/ramips/base-files/etc/uci-defaults/network b/target/linux/ramips/base-files/etc/uci-defaults/network index 0f97bc364..a36341ca1 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/network +++ b/target/linux/ramips/base-files/etc/uci-defaults/network @@ -50,6 +50,13 @@ ramips_setup_interfaces()  		ucidef_add_switch_vlan "switch0" "2" "4 8t"  		;; +	v11st-fe) +		ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" +		ucidef_add_switch "switch0" "1" "1" +		ucidef_add_switch_vlan "switch0" "1" "1 2 3 4 5t" +		ucidef_add_switch_vlan "switch0" "2" "0 5t" +		;; +  	wcr-150gn)  		ucidef_set_interface_lan_wan "eth0.2" "eth0.1"  		;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 9c1a7dcb5..07bdf1605 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -122,6 +122,9 @@ ramips_board_name() {  	*"Sitecom WL-351 v1 002")  		name="wl-351"  		;; +	*"Ralink V11ST-FE") +		name="v11st-fe" +		;;  	*"WLI-TX4-AG300N")  		name="wli-tx4-ag300n"  		;; 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 fa6d98566..d6c991133 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 @@ -16,6 +16,7 @@ enum ramips_mach_type {  	/* RT2880 based machines */  	RAMIPS_MACH_F5D8235_V1,		/* Belkin F5D8235 v1 */  	RAMIPS_MACH_RT_N15,		/* Asus RT-N15 */ +	RAMIPS_MACH_V11ST_FE,		/* Ralink V11ST-FE */  	RAMIPS_MACH_WLI_TX4_AG300N,	/* Buffalo WLI-TX4-AG300N */  	RAMIPS_MACH_WZR_AGL300NH,	/* Buffalo WZR-AGL300NH */ diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig b/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig index 4189d9eef..a2593e885 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig @@ -11,6 +11,11 @@ config RT288X_MACH_RT_N15  	select RALINK_DEV_GPIO_BUTTONS  	select RALINK_DEV_GPIO_LEDS +config RT288X_MACH_V11ST_FE +	bool "Ralink V11ST-FE board support" +	select RALINK_DEV_GPIO_BUTTONS +	select RALINK_DEV_GPIO_LEDS +  config RT288X_MACH_WLI_TX4_AG300N  	bool "Buffalo WLI-TX4-AG300N board support"  	select RALINK_DEV_GPIO_BUTTONS diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile b/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile index 5205706f3..473f85599 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile @@ -15,5 +15,6 @@ obj-$(CONFIG_EARLY_PRINTK)		+= early_printk.o  obj-$(CONFIG_RT288X_MACH_F5D8235_V1)	+= mach-f5d8235-v1.o  obj-$(CONFIG_RT288X_MACH_RT_N15)	+= mach-rt-n15.o +obj-$(CONFIG_RT288X_MACH_V11ST_FE)	+= mach-v11st-fe.o  obj-$(CONFIG_RT288X_MACH_WLI_TX4_AG300N) += mach-wli-tx4-ag300n.o  obj-$(CONFIG_RT288X_MACH_WZR_AGL300NH)	+= mach-wzr-agl300nh.o diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c new file mode 100644 index 000000000..631468086 --- /dev/null +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c @@ -0,0 +1,106 @@ +/* + *  Ralink V11ST-FE board support + * + *  Copyright (C) 2012 Florian Fainelli <florian@openwrt.org> + * + *  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 <linux/mtd/mtd.h> +#include <linux/mtd/partitions.h> +#include <linux/mtd/physmap.h> +#include <linux/ethtool.h> + +#include <asm/mach-ralink/machine.h> +#include <asm/mach-ralink/dev-gpio-buttons.h> +#include <asm/mach-ralink/dev-gpio-leds.h> +#include <asm/mach-ralink/rt288x.h> +#include <asm/mach-ralink/rt288x_regs.h> +#include <asm/mach-ralink/ramips_eth_platform.h> + +#include "devices.h" + +#define V11ST_FE_GPIO_STATUS_LED	12 +#define V11ST_FE_GPIO_BUTTON_WPS	0 + +#define V11ST_FE_KEYS_POLL_INTERVAL	20 +#define V11ST_FE_KEYS_DEBOUNCE_INTERVAL	(3 * V11ST_FE_KEYS_POLL_INTERVAL) + +static struct gpio_led v11st_fe_leds_gpio[] __initdata = { +	{ +		.name		= "v11st-fe:green:status", +		.gpio		= V11ST_FE_GPIO_STATUS_LED, +		.active_low	= 1, +	} +}; + +static struct gpio_keys_button v11st_fe_gpio_buttons[] __initdata = { +	{ +		.desc		= "wps", +		.type		= EV_KEY, +		.code		= KEY_WPS_BUTTON, +		.debounce_interval = V11ST_FE_KEYS_DEBOUNCE_INTERVAL, +		.gpio		= V11ST_FE_GPIO_BUTTON_WPS, +	} +}; + +static struct mtd_partition v11st_fe_partitions[] = { +	{ +		.name	= "u-boot", +		.offset	= 0, +		.size	= 0x030000, +		.mask_flags = MTD_WRITEABLE, +	}, { +		.name	= "u-boot-env", +		.offset	= 0x030000, +		.size	= 0x010000, +		.mask_flags = MTD_WRITEABLE, +	}, { +		.name	= "factory", +		.offset	= 0x040000, +		.size	= 0x010000, +		.mask_flags = MTD_WRITEABLE, +	}, { +		.name	= "kernel", +		.offset	= 0x050000, +		.size   = 0x140000, +	}, { +		.name	= "rootfs", +		.offset = 0x190000, +		.size   = 0x210000, +	} +}; + +static void __init rt_v11st_fe_init(void) +{ +	rt288x_gpio_init(RT2880_GPIO_MODE_UART0); + +	rt288x_flash0_data.nr_parts = ARRAY_SIZE(v11st_fe_partitions); +	rt288x_flash0_data.parts = v11st_fe_partitions; +	rt288x_register_flash(0); + +	ramips_register_gpio_leds(-1, ARRAY_SIZE(v11st_fe_leds_gpio), +				  v11st_fe_leds_gpio); + +	ramips_register_gpio_buttons(-1, V11ST_FE_KEYS_POLL_INTERVAL, +				     ARRAY_SIZE(v11st_fe_gpio_buttons), +				     v11st_fe_gpio_buttons); + +	rt288x_register_wifi(); + +	/* Board is connected to an IC+ IP175C Fast Ethernet switch */ +	rt288x_eth_data.speed = SPEED_100; +	rt288x_eth_data.duplex = DUPLEX_FULL; +	rt288x_eth_data.tx_fc = 1; +	rt288x_eth_data.rx_fc = 1; +	rt288x_eth_data.phy_mask = BIT(0); +	rt288x_register_ethernet(); + +	rt288x_register_wdt(); +} + +MIPS_MACHINE(RAMIPS_MACH_V11ST_FE, "V11ST-FE", "Ralink V11ST-FE", rt_v11st_fe_init); diff --git a/target/linux/ramips/rt288x/config-2.6.39 b/target/linux/ramips/rt288x/config-2.6.39 index aaed39746..a84d5cac0 100644 --- a/target/linux/ramips/rt288x/config-2.6.39 +++ b/target/linux/ramips/rt288x/config-2.6.39 @@ -63,6 +63,7 @@ CONFIG_HW_HAS_PCI=y  CONFIG_HW_RANDOM=m  CONFIG_IMAGE_CMDLINE_HACK=y  CONFIG_INITRAMFS_SOURCE="" +CONFIG_IP17XX_PHY=y  CONFIG_IRQ_CPU=y  # CONFIG_LEDS_GPIO is not set  CONFIG_MACH_NO_WESTBRIDGE=y @@ -96,6 +97,7 @@ CONFIG_RALINK_RT288X=y  CONFIG_RAMIPS_WDT=y  CONFIG_RT288X_MACH_F5D8235_V1=y  CONFIG_RT288X_MACH_RT_N15=y +CONFIG_RT288X_MACH_V11ST_FE=y  CONFIG_RT288X_MACH_WLI_TX4_AG300N=y  CONFIG_RT288X_MACH_WZR_AGL300NH=y  CONFIG_RTL8366S_PHY=y diff --git a/target/linux/ramips/rt288x/config-3.2 b/target/linux/ramips/rt288x/config-3.2 index 186950cab..1ae35b5bb 100644 --- a/target/linux/ramips/rt288x/config-3.2 +++ b/target/linux/ramips/rt288x/config-3.2 @@ -61,6 +61,7 @@ CONFIG_HW_HAS_PCI=y  CONFIG_HW_RANDOM=m  CONFIG_IMAGE_CMDLINE_HACK=y  CONFIG_INITRAMFS_SOURCE="" +CONFIG_IP17XX_PHY=y  CONFIG_IRQ_CPU=y  CONFIG_IRQ_FORCED_THREADING=y  # CONFIG_LANTIQ is not set @@ -96,6 +97,7 @@ CONFIG_RALINK_RT288X=y  CONFIG_RAMIPS_WDT=y  CONFIG_RT288X_MACH_F5D8235_V1=y  CONFIG_RT288X_MACH_RT_N15=y +CONFIG_RT288X_MACH_V11ST_FE=y  CONFIG_RT288X_MACH_WLI_TX4_AG300N=y  CONFIG_RT288X_MACH_WZR_AGL300NH=y  CONFIG_RTL8366S_PHY=y | 
