|
|
@ -2,6 +2,7 @@ |
|
|
|
* La Fonera20N board support |
|
|
|
* La Fonera20N board support |
|
|
|
* |
|
|
|
* |
|
|
|
* Copyright (C) 2009 John Crispin <blogic@openwrt.org> |
|
|
|
* Copyright (C) 2009 John Crispin <blogic@openwrt.org> |
|
|
|
|
|
|
|
* Copyright (C) 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 +16,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> |
|
|
@ -27,6 +29,8 @@ |
|
|
|
#define FONERA20N_GPIO_LED_POWER 9 |
|
|
|
#define FONERA20N_GPIO_LED_POWER 9 |
|
|
|
#define FONERA20N_GPIO_LED_USB 14 |
|
|
|
#define FONERA20N_GPIO_LED_USB 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define FONERA20N_BUTTONS_POLL_INTERVAL 20 |
|
|
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_MTD_PARTITIONS |
|
|
|
#ifdef CONFIG_MTD_PARTITIONS |
|
|
|
static struct mtd_partition fonera20n_partitions[] = { |
|
|
|
static struct mtd_partition fonera20n_partitions[] = { |
|
|
|
{ |
|
|
|
{ |
|
|
@ -83,6 +87,24 @@ static struct gpio_led fonera20n_leds_gpio[] __initdata = { |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static struct gpio_button fonera20n_gpio_buttons[] __initdata = { |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
.desc = "reset", |
|
|
|
|
|
|
|
.type = EV_KEY, |
|
|
|
|
|
|
|
.code = BTN_0, |
|
|
|
|
|
|
|
.threshold = 3, |
|
|
|
|
|
|
|
.gpio = FONERA20N_GPIO_BUTTON_RESET, |
|
|
|
|
|
|
|
.active_low = 1, |
|
|
|
|
|
|
|
}, { |
|
|
|
|
|
|
|
.desc = "switch", |
|
|
|
|
|
|
|
.type = EV_KEY, |
|
|
|
|
|
|
|
.code = BTN_1, |
|
|
|
|
|
|
|
.threshold = 3, |
|
|
|
|
|
|
|
.gpio = FONERA20N_GPIO_SWITCH, |
|
|
|
|
|
|
|
.active_low = 1, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
static void __init fonera20n_init(void) |
|
|
|
static void __init fonera20n_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); |
|
|
@ -92,6 +114,10 @@ static void __init fonera20n_init(void) |
|
|
|
ramips_register_gpio_leds(-1, ARRAY_SIZE(fonera20n_leds_gpio), |
|
|
|
ramips_register_gpio_leds(-1, ARRAY_SIZE(fonera20n_leds_gpio), |
|
|
|
fonera20n_leds_gpio); |
|
|
|
fonera20n_leds_gpio); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ramips_register_gpio_buttons(-1, FONERA20N_BUTTONS_POLL_INTERVAL, |
|
|
|
|
|
|
|
ARRAY_SIZE(fonera20n_gpio_buttons), |
|
|
|
|
|
|
|
fonera20n_gpio_buttons); |
|
|
|
|
|
|
|
|
|
|
|
rt305x_register_ethernet(); |
|
|
|
rt305x_register_ethernet(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|