Changeset 38190


Ignore:
Timestamp:
2013-09-25T20:42:10+02:00 (4 years ago)
Author:
juhosg
Message:

ar71xx: improve kernel support for the TL-MR3040 v2

This patch adds support for the hardware slide switch on
the TL-MR3040 v2.

Signed-off-by: Mads Hansen <d@…>
[juhosg: use EV_SW instead of EV_KEY]
Signed-off-by: Gabor Juhos <juhosg@…>

Location:
trunk/target/linux/ar71xx
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/files/arch/mips/ath79/mach-tl-mr11u.c

    r35960 r38190  
    3333#define TL_MR11U_GPIO_USB_POWER         8 
    3434#define TL_MR3040_GPIO_USB_POWER        18 
     35 
     36#define TL_MR3040_V2_GPIO_BTN_SW1       19 
     37#define TL_MR3040_V2_GPIO_BTN_SW2       20 
    3538 
    3639#define TL_MR11U_KEYS_POLL_INTERVAL     20      /* msecs */ 
     
    8184                .active_low     = 0, 
    8285        }, 
     86}; 
     87 
     88static struct gpio_keys_button tl_mr3040_v2_gpio_keys[] __initdata = { 
     89        { 
     90                .desc           = "reset", 
     91                .type           = EV_KEY, 
     92                .code           = KEY_RESTART, 
     93                .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL, 
     94                .gpio           = TL_MR11U_GPIO_BTN_RESET, 
     95                .active_low     = 0, 
     96        }, 
     97        { 
     98                .desc           = "sw1", 
     99                .type           = EV_SW, 
     100                .code           = BTN_0, 
     101                .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL, 
     102                .gpio           = TL_MR3040_V2_GPIO_BTN_SW1, 
     103                .active_low     = 0, 
     104        }, 
     105        { 
     106                .desc           = "sw2", 
     107                .type           = EV_SW, 
     108                .code           = BTN_1, 
     109                .debounce_interval = TL_MR11U_KEYS_DEBOUNCE_INTERVAL, 
     110                .gpio           = TL_MR3040_V2_GPIO_BTN_SW2, 
     111                .active_low     = 0, 
     112        } 
    83113}; 
    84114 
     
    137167MIPS_MACHINE(ATH79_MACH_TL_MR3040, "TL-MR3040", "TP-LINK TL-MR3040", 
    138168             tl_mr3040_setup); 
     169 
     170static void __init tl_mr3040_v2_setup(void) 
     171{ 
     172        common_setup(); 
     173 
     174        ath79_register_gpio_keys_polled(-1, TL_MR11U_KEYS_POLL_INTERVAL, 
     175                                        ARRAY_SIZE(tl_mr3040_v2_gpio_keys), 
     176                                        tl_mr3040_v2_gpio_keys); 
     177        gpio_request_one(TL_MR3040_GPIO_USB_POWER, 
     178                         GPIOF_OUT_INIT_HIGH | GPIOF_EXPORT_DIR_FIXED, 
     179                         "USB power"); 
     180} 
     181 
     182MIPS_MACHINE(ATH79_MACH_TL_MR3040_V2, "TL-MR3040-v2", "TP-LINK TL-MR3040 v2", 
     183             tl_mr3040_v2_setup); 
Note: See TracChangeset for help on using the changeset viewer.