board-paz00.c 1.4 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/property.h>
  20. #include <linux/gpio/machine.h>
  21. #include <linux/platform_device.h>
  22. #include "board.h"
  23. static struct property_entry wifi_rfkill_prop[] __initdata = {
  24. PROPERTY_ENTRY_STRING("name", "wifi_rfkill"),
  25. PROPERTY_ENTRY_STRING("type", "wlan"),
  26. { },
  27. };
  28. static struct platform_device wifi_rfkill_device = {
  29. .name = "rfkill_gpio",
  30. .id = -1,
  31. };
  32. static struct gpiod_lookup_table wifi_gpio_lookup = {
  33. .dev_id = "rfkill_gpio",
  34. .table = {
  35. GPIO_LOOKUP("tegra-gpio", 25, "reset", 0),
  36. GPIO_LOOKUP("tegra-gpio", 85, "shutdown", 0),
  37. { },
  38. },
  39. };
  40. void __init tegra_paz00_wifikill_init(void)
  41. {
  42. platform_device_add_properties(&wifi_rfkill_device, wifi_rfkill_prop);
  43. gpiod_add_lookup_table(&wifi_gpio_lookup);
  44. platform_device_register(&wifi_rfkill_device);
  45. }