mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-29 03:45:31 +02:00
439a47e380
Fixed: GPIO typos and confirmed GPIO_BUTTON_RESET Fixed: Lan & Wan reversed: swaped "eth0.2" with "eth0.1" by removing a line(default is correct), and reversed the Lan/wan layout LLLLW to WLLLL. Added: image/Makefile now builds -factory.bin files. I am unsure of the accepted way to change the makefile but the name of the image needs to be 'linkn Kernel Image' in order to be accepted by the OEM firmware. Known issue: eth0 (internal switch i think has mac address: 00:11:22:33:44:55 but i think it should be same as the lan). Known issue: Pressing the reset button has no noticable effect, i would expect the router to boot failsafe if being pressed on boot, reboot if short press and reset all to default if long press. [juhosg: remove mtdlayout_W306R and use mtdlayout_4M instead] Signed-off-by: David Pearce <david_18051985@hotmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31557 3c298f89-4303-0410-b956-a3cf2f4a3e73
73 lines
1.9 KiB
C
73 lines
1.9 KiB
C
/*
|
|
* Tenda W306R V2.0 board support
|
|
*
|
|
*
|
|
* 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/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/rt305x.h>
|
|
#include <asm/mach-ralink/rt305x_regs.h>
|
|
#include <asm/mach-ralink/ramips_eth_platform.h>
|
|
|
|
#include "devices.h"
|
|
|
|
#define W306R_V20_GPIO_LED_SYS 9
|
|
#define W306R_V20_GPIO_LED_WPS 13
|
|
|
|
#define W306R_V20_GPIO_BUTTON_RESET 10
|
|
|
|
#define W306R_V20_KEYS_POLL_INTERVAL 20
|
|
#define W306R_V20_KEYS_DEBOUNCE_INTERVAL (3 * W306R_V20_KEYS_POLL_INTERVAL)
|
|
|
|
static struct gpio_led w306r_v20_leds_gpio[] __initdata = {
|
|
{
|
|
.name = "w306r-v20:green:sys",
|
|
.gpio = W306R_V20_GPIO_LED_SYS,
|
|
.active_low = 1,
|
|
}, {
|
|
.name = "w306r-v20:green:wps",
|
|
.gpio = W306R_V20_GPIO_LED_WPS,
|
|
.active_low = 1,
|
|
}
|
|
};
|
|
|
|
static struct gpio_keys_button w306r_v20_gpio_buttons[] __initdata = {
|
|
{
|
|
.desc = "RESET/WPS",
|
|
.type = EV_KEY,
|
|
.code = KEY_RESTART,
|
|
.debounce_interval = W306R_V20_KEYS_DEBOUNCE_INTERVAL,
|
|
.gpio = W306R_V20_GPIO_BUTTON_RESET,
|
|
.active_low = 1,
|
|
}
|
|
};
|
|
|
|
static void __init w306r_v20_init(void)
|
|
{
|
|
rt305x_register_flash(0);
|
|
|
|
rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT);
|
|
|
|
rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_WLLLL;
|
|
rt305x_register_ethernet();
|
|
ramips_register_gpio_leds(-1, ARRAY_SIZE(w306r_v20_leds_gpio),
|
|
w306r_v20_leds_gpio);
|
|
ramips_register_gpio_buttons(-1, W306R_V20_KEYS_POLL_INTERVAL,
|
|
ARRAY_SIZE(w306r_v20_gpio_buttons),
|
|
w306r_v20_gpio_buttons);
|
|
rt305x_register_wifi();
|
|
rt305x_register_wdt();
|
|
}
|
|
|
|
MIPS_MACHINE(RAMIPS_MACH_W306R_V20, "W306R_V20", "Tenda W306R V2.0",
|
|
w306r_v20_init);
|