irqs-board-mop500.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * Copyright (C) ST-Ericsson SA 2010
  3. *
  4. * Author: Rabin Vincent <rabin.vincent@stericsson.com>
  5. * License terms: GNU General Public License (GPL) version 2
  6. */
  7. #ifndef __MACH_IRQS_BOARD_MOP500_H
  8. #define __MACH_IRQS_BOARD_MOP500_H
  9. /* Number of AB8500 irqs is taken from header file */
  10. #include <linux/mfd/ab8500.h>
  11. #define MOP500_AB8500_IRQ_BASE IRQ_BOARD_START
  12. #define MOP500_AB8500_IRQ_END (MOP500_AB8500_IRQ_BASE \
  13. + AB8500_NR_IRQS)
  14. /* TC35892 */
  15. #define TC35892_NR_INTERNAL_IRQS 8
  16. #define TC35892_INT_GPIO(x) (TC35892_NR_INTERNAL_IRQS + (x))
  17. #define TC35892_NR_GPIOS 24
  18. #define TC35892_NR_IRQS TC35892_INT_GPIO(TC35892_NR_GPIOS)
  19. #define MOP500_EGPIO_NR_IRQS TC35892_NR_IRQS
  20. #define MOP500_EGPIO_IRQ_BASE MOP500_AB8500_IRQ_END
  21. #define MOP500_EGPIO_IRQ_END (MOP500_EGPIO_IRQ_BASE \
  22. + MOP500_EGPIO_NR_IRQS)
  23. /* STMPE1601 irqs */
  24. #define STMPE_NR_INTERNAL_IRQS 9
  25. #define STMPE_INT_GPIO(x) (STMPE_NR_INTERNAL_IRQS + (x))
  26. #define STMPE_NR_GPIOS 24
  27. #define STMPE_NR_IRQS STMPE_INT_GPIO(STMPE_NR_GPIOS)
  28. #define MOP500_STMPE1601_IRQBASE MOP500_EGPIO_IRQ_END
  29. #define MOP500_STMPE1601_IRQ(x) (MOP500_STMPE1601_IRQBASE + (x))
  30. #define MOP500_STMPE1601_IRQ_END \
  31. MOP500_STMPE1601_IRQ(STMPE_NR_INTERNAL_IRQS)
  32. /* AB8500 virtual gpio IRQ */
  33. #define AB8500_VIR_GPIO_NR_IRQS 16
  34. #define MOP500_AB8500_VIR_GPIO_IRQ_BASE \
  35. MOP500_STMPE1601_IRQ_END
  36. #define MOP500_AB8500_VIR_GPIO_IRQ_END \
  37. (MOP500_AB8500_VIR_GPIO_IRQ_BASE + AB8500_VIR_GPIO_NR_IRQS)
  38. #define MOP500_NR_IRQS MOP500_AB8500_VIR_GPIO_IRQ_END
  39. #define MOP500_IRQ_END MOP500_NR_IRQS
  40. #if MOP500_IRQ_END > IRQ_BOARD_END
  41. #undef IRQ_BOARD_END
  42. #define IRQ_BOARD_END MOP500_IRQ_END
  43. #endif
  44. #endif