board-paz00.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * arch/arm/mach-tegra/board-paz00.c
  3. *
  4. * Copyright (C) 2011 Marc Dietrich <marvin24@gmx.de>
  5. *
  6. * Based on board-harmony.c
  7. * Copyright (C) 2010 Google, Inc.
  8. *
  9. * This software is licensed under the terms of the GNU General Public
  10. * License version 2, as published by the Free Software Foundation, and
  11. * may be copied, distributed, and modified under those terms.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. */
  19. #include <linux/gpio/machine.h>
  20. #include <linux/platform_device.h>
  21. #include <linux/rfkill-gpio.h>
  22. #include "board.h"
  23. static struct rfkill_gpio_platform_data wifi_rfkill_platform_data = {
  24. .name = "wifi_rfkill",
  25. .type = RFKILL_TYPE_WLAN,
  26. };
  27. static struct platform_device wifi_rfkill_device = {
  28. .name = "rfkill_gpio",
  29. .id = -1,
  30. .dev = {
  31. .platform_data = &wifi_rfkill_platform_data,
  32. },
  33. };
  34. static struct gpiod_lookup_table wifi_gpio_lookup = {
  35. .dev_id = "rfkill_gpio",
  36. .table = {
  37. GPIO_LOOKUP("tegra-gpio", 25, "reset", 0),
  38. GPIO_LOOKUP("tegra-gpio", 85, "shutdown", 0),
  39. { },
  40. },
  41. };
  42. void __init tegra_paz00_wifikill_init(void)
  43. {
  44. gpiod_add_lookup_table(&wifi_gpio_lookup);
  45. platform_device_register(&wifi_rfkill_device);
  46. }