gpio.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * arch/arm/plat-orion/include/plat/gpio.h
  3. *
  4. * Marvell Orion SoC GPIO handling.
  5. *
  6. * This file is licensed under the terms of the GNU General Public
  7. * License version 2. This program is licensed "as is" without any
  8. * warranty of any kind, whether express or implied.
  9. */
  10. #ifndef __PLAT_GPIO_H
  11. #define __PLAT_GPIO_H
  12. #include <linux/init.h>
  13. #include <asm-generic/gpio.h>
  14. /*
  15. * GENERIC_GPIO primitives.
  16. */
  17. #define gpio_get_value __gpio_get_value
  18. #define gpio_set_value __gpio_set_value
  19. #define gpio_cansleep __gpio_cansleep
  20. #define gpio_to_irq __gpio_to_irq
  21. /*
  22. * Orion-specific GPIO API extensions.
  23. */
  24. void orion_gpio_set_unused(unsigned pin);
  25. void orion_gpio_set_blink(unsigned pin, int blink);
  26. #define GPIO_INPUT_OK (1 << 0)
  27. #define GPIO_OUTPUT_OK (1 << 1)
  28. void orion_gpio_set_valid(unsigned pin, int mode);
  29. /* Initialize gpiolib. */
  30. void __init orion_gpio_init(int gpio_base, int ngpio,
  31. u32 base, int mask_offset, int secondary_irq_base);
  32. /*
  33. * GPIO interrupt handling.
  34. */
  35. extern struct irq_chip orion_gpio_irq_chip;
  36. void orion_gpio_irq_handler(int irqoff);
  37. #endif