diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-03-02 11:49:27 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2014-03-26 18:09:23 -0400 |
commit | 96c10de32fde6c50e4f9e5c1f027e670073ea086 (patch) | |
tree | e705ab979dd0a537149830d64dae51b79656a382 /arch/mips/bcm47xx/buttons.c | |
parent | 848eeb66c7e09cbb76e866d77d6ec87abc9a787e (diff) |
MIPS: BCM47XX: Add button and led configuration for some Linksys devices
This adds led and button GPIO configuration for Linksys wrt54g3gv2,
wrt54gsv1 and wrtsl54gs. This is based on OpenWrt broadcom-diag code.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Cc: linux-mips@linux-mips.org
Cc: zajec5@gmail.com
Patchwork: https://patchwork.linux-mips.org/patch/6592/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/bcm47xx/buttons.c')
-rw-r--r-- | arch/mips/bcm47xx/buttons.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/mips/bcm47xx/buttons.c b/arch/mips/bcm47xx/buttons.c index 872c62e93e0e..f165887b1eca 100644 --- a/arch/mips/bcm47xx/buttons.c +++ b/arch/mips/bcm47xx/buttons.c | |||
@@ -259,6 +259,18 @@ bcm47xx_buttons_linksys_wrt310nv1[] __initconst = { | |||
259 | }; | 259 | }; |
260 | 260 | ||
261 | static const struct gpio_keys_button | 261 | static const struct gpio_keys_button |
262 | bcm47xx_buttons_linksys_wrt54g3gv2[] __initconst = { | ||
263 | BCM47XX_GPIO_KEY(5, KEY_WIMAX), | ||
264 | BCM47XX_GPIO_KEY(6, KEY_RESTART), | ||
265 | }; | ||
266 | |||
267 | static const struct gpio_keys_button | ||
268 | bcm47xx_buttons_linksys_wrt54gsv1[] __initconst = { | ||
269 | BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON), | ||
270 | BCM47XX_GPIO_KEY(6, KEY_RESTART), | ||
271 | }; | ||
272 | |||
273 | static const struct gpio_keys_button | ||
262 | bcm47xx_buttons_linksys_wrt610nv1[] __initconst = { | 274 | bcm47xx_buttons_linksys_wrt610nv1[] __initconst = { |
263 | BCM47XX_GPIO_KEY(6, KEY_RESTART), | 275 | BCM47XX_GPIO_KEY(6, KEY_RESTART), |
264 | BCM47XX_GPIO_KEY(8, KEY_WPS_BUTTON), | 276 | BCM47XX_GPIO_KEY(8, KEY_WPS_BUTTON), |
@@ -270,6 +282,12 @@ bcm47xx_buttons_linksys_wrt610nv2[] __initconst = { | |||
270 | BCM47XX_GPIO_KEY(6, KEY_RESTART), | 282 | BCM47XX_GPIO_KEY(6, KEY_RESTART), |
271 | }; | 283 | }; |
272 | 284 | ||
285 | static const struct gpio_keys_button | ||
286 | bcm47xx_buttons_linksys_wrtsl54gs[] __initconst = { | ||
287 | BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON), | ||
288 | BCM47XX_GPIO_KEY(6, KEY_RESTART), | ||
289 | }; | ||
290 | |||
273 | /* Motorola */ | 291 | /* Motorola */ |
274 | 292 | ||
275 | static const struct gpio_keys_button | 293 | static const struct gpio_keys_button |
@@ -479,12 +497,21 @@ int __init bcm47xx_buttons_register(void) | |||
479 | case BCM47XX_BOARD_LINKSYS_WRT310NV1: | 497 | case BCM47XX_BOARD_LINKSYS_WRT310NV1: |
480 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1); | 498 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt310nv1); |
481 | break; | 499 | break; |
500 | case BCM47XX_BOARD_LINKSYS_WRT54G: | ||
501 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54gsv1); | ||
502 | break; | ||
503 | case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: | ||
504 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt54g3gv2); | ||
505 | break; | ||
482 | case BCM47XX_BOARD_LINKSYS_WRT610NV1: | 506 | case BCM47XX_BOARD_LINKSYS_WRT610NV1: |
483 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt610nv1); | 507 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt610nv1); |
484 | break; | 508 | break; |
485 | case BCM47XX_BOARD_LINKSYS_WRT610NV2: | 509 | case BCM47XX_BOARD_LINKSYS_WRT610NV2: |
486 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt610nv2); | 510 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt610nv2); |
487 | break; | 511 | break; |
512 | case BCM47XX_BOARD_LINKSYS_WRTSL54GS: | ||
513 | err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrtsl54gs); | ||
514 | break; | ||
488 | 515 | ||
489 | case BCM47XX_BOARD_MOTOROLA_WE800G: | 516 | case BCM47XX_BOARD_MOTOROLA_WE800G: |
490 | err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_we800g); | 517 | err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_we800g); |