diff options
Diffstat (limited to 'target/linux/ramips')
4 files changed, 28 insertions, 2 deletions
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig b/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig index 1b0b85468b..857f4d32b3 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig @@ -5,6 +5,7 @@ menu "Ralink RT288x machine selection" config RT288X_MACH_RT_N15 bool "Asus RT-N15 board support" default y + select RALINK_DEV_GPIO_BUTTONS select RALINK_DEV_GPIO_LEDS config RT288X_MACH_WZR_AGL300NH diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-rt-n15.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-rt-n15.c index 877bff3aee..af578c04dd 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-rt-n15.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/mach-rt-n15.c @@ -17,6 +17,7 @@ #include <linux/rtl8366s.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> @@ -30,6 +31,8 @@ #define RT_N15_GPIO_RTL8366_SCK 2 #define RT_N15_GPIO_RTL8366_SDA 1 +#define RT_N15_BUTTONS_POLL_INTERVAL 20 + #ifdef CONFIG_MTD_PARTITIONS static struct mtd_partition rt_n15_partitions[] = { { @@ -78,6 +81,24 @@ static struct gpio_led rt_n15_leds_gpio[] __initdata = { } }; +static struct gpio_button rt_n15_gpio_buttons[] __initdata = { + { + .desc = "reset", + .type = EV_KEY, + .code = BTN_0, + .threshold = 3, + .gpio = RT_N15_GPIO_BUTTON_RESET, + .active_low = 1, + }, { + .desc = "wps", + .type = EV_KEY, + .code = BTN_1, + .threshold = 3, + .gpio = RT_N15_GPIO_BUTTON_WPS, + .active_low = 1, + } +}; + static struct rtl8366s_platform_data rt_n15_rtl8366s_data = { .gpio_sda = RT_N15_GPIO_RTL8366_SDA, .gpio_sck = RT_N15_GPIO_RTL8366_SCK, @@ -100,6 +121,10 @@ static void __init rt_n15_init(void) ramips_register_gpio_leds(-1, ARRAY_SIZE(rt_n15_leds_gpio), rt_n15_leds_gpio); + ramips_register_gpio_buttons(-1, RT_N15_BUTTONS_POLL_INTERVAL, + ARRAY_SIZE(rt_n15_gpio_buttons), + rt_n15_gpio_buttons); + platform_device_register(&rt_n15_rtl8366s_device); } diff --git a/target/linux/ramips/rt288x/config-2.6.30 b/target/linux/ramips/rt288x/config-2.6.30 index 2f5afaea3f..5077d23d72 100644 --- a/target/linux/ramips/rt288x/config-2.6.30 +++ b/target/linux/ramips/rt288x/config-2.6.30 @@ -113,7 +113,7 @@ CONFIG_PHYLIB=y # CONFIG_PNX8550_JBS is not set # CONFIG_PNX8550_STB810 is not set # CONFIG_PROBE_INITRD_HEADER is not set -# CONFIG_RALINK_DEV_GPIO_BUTTONS is not set +CONFIG_RALINK_DEV_GPIO_BUTTONS=y CONFIG_RALINK_DEV_GPIO_LEDS=y CONFIG_RALINK_RT288X=y # CONFIG_RALINK_RT305X is not set diff --git a/target/linux/ramips/rt288x/config-2.6.32 b/target/linux/ramips/rt288x/config-2.6.32 index b0c1636065..0db632f682 100644 --- a/target/linux/ramips/rt288x/config-2.6.32 +++ b/target/linux/ramips/rt288x/config-2.6.32 @@ -116,7 +116,7 @@ CONFIG_PHYLIB=y # CONFIG_PNX8550_JBS is not set # CONFIG_PNX8550_STB810 is not set # CONFIG_PROBE_INITRD_HEADER is not set -# CONFIG_RALINK_DEV_GPIO_BUTTONS is not set +CONFIG_RALINK_DEV_GPIO_BUTTONS=y CONFIG_RALINK_DEV_GPIO_LEDS=y CONFIG_RALINK_RT288X=y # CONFIG_RALINK_RT305X is not set |