summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-02-15 21:13:11 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-02-15 21:13:11 +0000
commit62c0190fa570c5258edb639a24a2c949dcc8a88a (patch)
treeeec70b49eb77157c66eb0379e239b6b1607d3e94 /target
parentf9e32614b089b7c666adbb2615b30038353de0cc (diff)
[ramips] add Ralink V11ST-FE board support
This board is equipped with: - 4MB of NOR Flash - 32MB of SDRAM - IC+ IP175C switch - one Mini-PCI slot git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30561 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rwxr-xr-xtarget/linux/ramips/base-files/etc/diag.sh3
-rw-r--r--target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom1
-rwxr-xr-xtarget/linux/ramips/base-files/etc/uci-defaults/leds3
-rwxr-xr-xtarget/linux/ramips/base-files/etc/uci-defaults/network7
-rwxr-xr-xtarget/linux/ramips/base-files/lib/ramips.sh3
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h1
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig5
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/Makefile1
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/mach-v11st-fe.c106
-rw-r--r--target/linux/ramips/rt288x/config-2.6.392
-rw-r--r--target/linux/ramips/rt288x/config-3.22
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