ams-delta-fiq.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. * arch/arm/mach-omap1/include/ams-delta-fiq.h
  3. *
  4. * Taken from the original Amstrad modifications to fiq.h
  5. *
  6. * Copyright (c) 2004 Amstrad Plc
  7. * Copyright (c) 2006 Matt Callow
  8. * Copyright (c) 2010 Janusz Krzysztofik
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License version 2 as
  12. * published by the Free Software Foundation.
  13. */
  14. #ifndef __AMS_DELTA_FIQ_H
  15. #define __AMS_DELTA_FIQ_H
  16. /*
  17. * Interrupt number used for passing control from FIQ to IRQ.
  18. * IRQ12, described as reserved, has been selected.
  19. */
  20. #define INT_DEFERRED_FIQ INT_1510_RES12
  21. /*
  22. * Base address of an interrupt handler that the INT_DEFERRED_FIQ belongs to.
  23. */
  24. #if (INT_DEFERRED_FIQ < IH2_BASE)
  25. #define DEFERRED_FIQ_IH_BASE OMAP_IH1_BASE
  26. #else
  27. #define DEFERRED_FIQ_IH_BASE OMAP_IH2_BASE
  28. #endif
  29. /*
  30. * These are the offsets from the beginning of the fiq_buffer. They are put here
  31. * since the buffer and header need to be accessed by drivers servicing devices
  32. * which generate GPIO interrupts - e.g. keyboard, modem, hook switch.
  33. */
  34. #define FIQ_MASK 0
  35. #define FIQ_STATE 1
  36. #define FIQ_KEYS_CNT 2
  37. #define FIQ_TAIL_OFFSET 3
  38. #define FIQ_HEAD_OFFSET 4
  39. #define FIQ_BUF_LEN 5
  40. #define FIQ_KEY 6
  41. #define FIQ_MISSED_KEYS 7
  42. #define FIQ_BUFFER_START 8
  43. #define FIQ_GPIO_INT_MASK 9
  44. #define FIQ_KEYS_HICNT 10
  45. #define FIQ_IRQ_PEND 11
  46. #define FIQ_SIR_CODE_L1 12
  47. #define IRQ_SIR_CODE_L2 13
  48. #define FIQ_CNT_INT_00 14
  49. #define FIQ_CNT_INT_KEY 15
  50. #define FIQ_CNT_INT_MDM 16
  51. #define FIQ_CNT_INT_03 17
  52. #define FIQ_CNT_INT_HSW 18
  53. #define FIQ_CNT_INT_05 19
  54. #define FIQ_CNT_INT_06 20
  55. #define FIQ_CNT_INT_07 21
  56. #define FIQ_CNT_INT_08 22
  57. #define FIQ_CNT_INT_09 23
  58. #define FIQ_CNT_INT_10 24
  59. #define FIQ_CNT_INT_11 25
  60. #define FIQ_CNT_INT_12 26
  61. #define FIQ_CNT_INT_13 27
  62. #define FIQ_CNT_INT_14 28
  63. #define FIQ_CNT_INT_15 29
  64. #define FIQ_CIRC_BUFF 30 /*Start of circular buffer */
  65. #ifndef __ASSEMBLER__
  66. extern unsigned int fiq_buffer[];
  67. extern unsigned char qwerty_fiqin_start, qwerty_fiqin_end;
  68. extern void __init ams_delta_init_fiq(void);
  69. #endif
  70. #endif