From 0530dd984944474b9c91379380c5b55c6fa0054d Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Sat, 30 Jan 2010 15:25:25 +0000 Subject: [PATCH] ramips: register gpio-buttons on the RT-N15 board SVN-Revision: 19405 --- .../files/arch/mips/ralink/rt288x/Kconfig | 1 + .../arch/mips/ralink/rt288x/mach-rt-n15.c | 25 +++++++++++++++++++ target/linux/ramips/rt288x/config-2.6.30 | 2 +- target/linux/ramips/rt288x/config-2.6.32 | 2 +- 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 #include +#include #include #include #include @@ -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 -- 2.25.1