ramips: register gpio-buttons on the RT-N15 board
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 30 Jan 2010 15:25:25 +0000 (15:25 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 30 Jan 2010 15:25:25 +0000 (15:25 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19405 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ramips/files/arch/mips/ralink/rt288x/Kconfig
target/linux/ramips/files/arch/mips/ralink/rt288x/mach-rt-n15.c
target/linux/ramips/rt288x/config-2.6.30
target/linux/ramips/rt288x/config-2.6.32

index 1b0b854..857f4d3 100644 (file)
@@ -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
index 877bff3..af578c0 100644 (file)
@@ -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);
 }
 
index 2f5afae..5077d23 100644 (file)
@@ -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
index b0c1636..0db632f 100644 (file)
@@ -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