|
|
@ -1,7 +1,7 @@ |
|
|
|
/*
|
|
|
|
/*
|
|
|
|
* Buffalo WHR-G300N board support |
|
|
|
* Buffalo WHR-G300N board support |
|
|
|
* |
|
|
|
* |
|
|
|
* Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org> |
|
|
|
* Copyright (C) 2009-2010 Gabor Juhos <juhosg@openwrt.org> |
|
|
|
* |
|
|
|
* |
|
|
|
* This program is free software; you can redistribute it and/or modify it |
|
|
|
* 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 |
|
|
|
* under the terms of the GNU General Public License version 2 as published |
|
|
@ -15,6 +15,7 @@ |
|
|
|
#include <linux/mtd/physmap.h> |
|
|
|
#include <linux/mtd/physmap.h> |
|
|
|
|
|
|
|
|
|
|
|
#include <asm/mach-ralink/machine.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/dev-gpio-leds.h> |
|
|
|
#include <asm/mach-ralink/rt305x.h> |
|
|
|
#include <asm/mach-ralink/rt305x.h> |
|
|
|
#include <asm/mach-ralink/rt305x_regs.h> |
|
|
|
#include <asm/mach-ralink/rt305x_regs.h> |
|
|
@ -25,6 +26,13 @@ |
|
|
|
#define WHR_G300N_GPIO_LED_ROUTER 9 |
|
|
|
#define WHR_G300N_GPIO_LED_ROUTER 9 |
|
|
|
#define WHR_G300N_GPIO_LED_SECURITY 14 |
|
|
|
#define WHR_G300N_GPIO_LED_SECURITY 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define WHR_G300N_GPIO_BUTTON_AOSS 0 /* active low */ |
|
|
|
|
|
|
|
#define WHR_G300N_GPIO_BUTTON_RESET 10 /* active low */ |
|
|
|
|
|
|
|
#define WHR_G300N_GPIO_BUTTON_ROUTER_ON 8 /* active low */ |
|
|
|
|
|
|
|
#define WHR_G300N_GPIO_BUTTON_ROUTER_OFF 11 /* active low */ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define WHR_G300N_BUTTONS_POLL_INTERVAL 20 |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_MTD_PARTITIONS |
|
|
|
#ifdef CONFIG_MTD_PARTITIONS |
|
|
|
static struct mtd_partition whr_g300n_partitions[] = { |
|
|
|
static struct mtd_partition whr_g300n_partitions[] = { |
|
|
|
{ |
|
|
|
{ |
|
|
@ -85,6 +93,38 @@ static struct gpio_led whr_g300n_leds_gpio[] __initdata = { |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static struct gpio_button whr_g300n_gpio_buttons[] __initdata = { |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
.desc = "reset", |
|
|
|
|
|
|
|
.type = EV_KEY, |
|
|
|
|
|
|
|
.code = BTN_0, |
|
|
|
|
|
|
|
.threshold = 3, |
|
|
|
|
|
|
|
.gpio = WHR_G300N_GPIO_BUTTON_RESET, |
|
|
|
|
|
|
|
.active_low = 1, |
|
|
|
|
|
|
|
}, { |
|
|
|
|
|
|
|
.desc = "aoss", |
|
|
|
|
|
|
|
.type = EV_KEY, |
|
|
|
|
|
|
|
.code = BTN_1, |
|
|
|
|
|
|
|
.threshold = 3, |
|
|
|
|
|
|
|
.gpio = WHR_G300N_GPIO_BUTTON_AOSS, |
|
|
|
|
|
|
|
.active_low = 1, |
|
|
|
|
|
|
|
}, { |
|
|
|
|
|
|
|
.desc = "router-off", |
|
|
|
|
|
|
|
.type = EV_KEY, |
|
|
|
|
|
|
|
.code = BTN_2, |
|
|
|
|
|
|
|
.threshold = 3, |
|
|
|
|
|
|
|
.gpio = WHR_G300N_GPIO_BUTTON_ROUTER_OFF, |
|
|
|
|
|
|
|
.active_low = 1, |
|
|
|
|
|
|
|
}, { |
|
|
|
|
|
|
|
.desc = "router-on", |
|
|
|
|
|
|
|
.type = EV_KEY, |
|
|
|
|
|
|
|
.code = BTN_3, |
|
|
|
|
|
|
|
.threshold = 3, |
|
|
|
|
|
|
|
.gpio = WHR_G300N_GPIO_BUTTON_ROUTER_ON, |
|
|
|
|
|
|
|
.active_low = 1, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
static void __init whr_g300n_init(void) |
|
|
|
static void __init whr_g300n_init(void) |
|
|
|
{ |
|
|
|
{ |
|
|
|
rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT); |
|
|
|
rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT); |
|
|
@ -93,6 +133,9 @@ static void __init whr_g300n_init(void) |
|
|
|
rt305x_register_ethernet(); |
|
|
|
rt305x_register_ethernet(); |
|
|
|
ramips_register_gpio_leds(-1, ARRAY_SIZE(whr_g300n_leds_gpio), |
|
|
|
ramips_register_gpio_leds(-1, ARRAY_SIZE(whr_g300n_leds_gpio), |
|
|
|
whr_g300n_leds_gpio); |
|
|
|
whr_g300n_leds_gpio); |
|
|
|
|
|
|
|
ramips_register_gpio_buttons(-1, WHR_G300N_BUTTONS_POLL_INTERVAL, |
|
|
|
|
|
|
|
ARRAY_SIZE(whr_g300n_gpio_buttons), |
|
|
|
|
|
|
|
whr_g300n_gpio_buttons); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
MIPS_MACHINE(RAMIPS_MACH_WHR_G300N, "WHR-G300N", "Buffalo WHR-G300N", |
|
|
|
MIPS_MACHINE(RAMIPS_MACH_WHR_G300N, "WHR-G300N", "Buffalo WHR-G300N", |
|
|
|