Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ramips: rt305x: add support for the Asus WL-330N3G board
This patch adds support for the ASUS WL-330N3G Comparing to the WL-330N, It have 32MB ram, usb support and a bicolor led. The bi-color led is driven by 2 gpio. I don't know how to handle this, so I simply made 2 leds : one red, one blue. But the red light takes precedence over the blue one according to the chart below. r = led is red b = led is blue 0 = led is off xy= x->r for red, b for blue led, y->value of brightness in /sys/class/leds/x/brughtness initial state action led gpio state r0 b0 r0->r1 r r0 b0 r0 b0 b0->b1 b r0 b1 r1 b0 r1->r0 0 r0 b0 r1 b0 b0->b1 r r1 *b1* r1 b1 r1->r0 b r0 b1 r1 b1 b1->b0 r r1 b0 r0 b1 r0->r1 r r1 *b1* r0 b1 b1->b0 0 r0 r0 Signed-off-by: Frédéric Leroy <fredo@starox.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31450 3c298f89-4303-0410-b956-a3cf2f4a3e73
- Loading branch information
juhosg
committed
Apr 23, 2012
1 parent
28fbf69
commit 06add57
Showing
10 changed files
with
119 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
100 changes: 100 additions & 0 deletions
100
target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wl-330n3g.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
/* | ||
* Asus WL_330N3G board support | ||
* | ||
* Copyright (C) 2012 Frederic Leroy <fredo@starox.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/spi/spi.h> | ||
#include <linux/spi/flash.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/rt305x.h> | ||
#include <asm/mach-ralink/rt305x_regs.h> | ||
|
||
#include "devices.h" | ||
|
||
#define WL_330N3G_GPIO_BUTTON_RESET 10 | ||
#define WL_330N3G_GPIO_BUTTON_WPS 0 | ||
#define WL_330N3G_GPIO_LED_3G_BLUE 9 | ||
#define WL_330N3G_GPIO_LED_3G_RED 13 | ||
#define WL_330N3G_GPIO_LED_POWER 11 | ||
#define WL_330N3G_KEYS_POLL_INTERVAL 20 | ||
#define WL_330N3G_KEYS_DEBOUNCE_INTERVAL (3 * WL_330N3G_KEYS_POLL_INTERVAL) | ||
|
||
const struct flash_platform_data wl_330n3g_flash = { | ||
.type = "mx25l3205d", | ||
}; | ||
|
||
struct spi_board_info wl_330n3g_spi_slave_info[] __initdata = { | ||
{ | ||
.modalias = "m25p80", | ||
.platform_data = &wl_330n3g_flash, | ||
.irq = -1, | ||
.max_speed_hz = 10000000, | ||
.bus_num = 0, | ||
.chip_select = 0, | ||
}, | ||
}; | ||
|
||
static struct gpio_keys_button wl_330n3g_gpio_buttons[] __initdata = { | ||
{ | ||
.desc = "reset", | ||
.type = EV_KEY, | ||
.code = KEY_RESTART, | ||
.debounce_interval = WL_330N3G_KEYS_DEBOUNCE_INTERVAL, | ||
.gpio = WL_330N3G_GPIO_BUTTON_RESET, | ||
.active_low = 1, | ||
}, | ||
{ | ||
.desc = "wps", | ||
.type = EV_KEY, | ||
.code = KEY_RESTART, | ||
.debounce_interval = WL_330N3G_KEYS_DEBOUNCE_INTERVAL, | ||
.gpio = WL_330N3G_GPIO_BUTTON_WPS, | ||
.active_low = 1, | ||
} | ||
}; | ||
|
||
static struct gpio_led wl_330n3g_leds_gpio[] __initdata = { | ||
{ | ||
.name = "asus:blue:3g", | ||
.gpio = WL_330N3G_GPIO_LED_3G_BLUE, | ||
.active_low = 1, | ||
}, { | ||
.name = "asus:red:3g", | ||
.gpio = WL_330N3G_GPIO_LED_3G_RED, | ||
.active_low = 1, | ||
}, { | ||
.name = "asus:blue:power", | ||
.gpio = WL_330N3G_GPIO_LED_POWER, | ||
.active_low = 1, | ||
} | ||
}; | ||
|
||
static void __init wl_330n3g_init(void) | ||
{ | ||
rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT); | ||
rt305x_register_spi(wl_330n3g_spi_slave_info, | ||
ARRAY_SIZE(wl_330n3g_spi_slave_info)); | ||
rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_WLLLL; | ||
rt305x_register_ethernet(); | ||
ramips_register_gpio_leds(-1, ARRAY_SIZE(wl_330n3g_leds_gpio), | ||
wl_330n3g_leds_gpio); | ||
ramips_register_gpio_buttons(-1, WL_330N3G_KEYS_POLL_INTERVAL, | ||
ARRAY_SIZE(wl_330n3g_gpio_buttons), | ||
wl_330n3g_gpio_buttons); | ||
rt305x_register_wifi(); | ||
rt305x_register_usb(); | ||
rt305x_register_wdt(); | ||
} | ||
|
||
MIPS_MACHINE(RAMIPS_MACH_WL_330N3G, "WL_330N3G", "Asus WL-330N3G", | ||
wl_330n3g_init); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters