gpio.h 992 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. /*
  13. * GENERIC_GPIO primitives.
  14. */
  15. int gpio_request(unsigned pin, const char *label);
  16. void gpio_free(unsigned pin);
  17. int gpio_direction_input(unsigned pin);
  18. int gpio_direction_output(unsigned pin, int value);
  19. int gpio_get_value(unsigned pin);
  20. void gpio_set_value(unsigned pin, int value);
  21. /*
  22. * Orion-specific GPIO API extensions.
  23. */
  24. void orion_gpio_set_unused(unsigned pin);
  25. void orion_gpio_set_valid(unsigned pin, int valid);
  26. void orion_gpio_set_blink(unsigned pin, int blink);
  27. /*
  28. * GPIO interrupt handling.
  29. */
  30. extern struct irq_chip orion_gpio_irq_edge_chip;
  31. extern struct irq_chip orion_gpio_irq_level_chip;
  32. void orion_gpio_irq_handler(int irqoff);
  33. #endif