magician.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. /*
  2. * GPIO and IRQ definitions for HTC Magician PDA phones
  3. *
  4. * Copyright (c) 2007 Philipp Zabel
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. *
  10. */
  11. #ifndef _MAGICIAN_H_
  12. #define _MAGICIAN_H_
  13. #include <linux/gpio.h>
  14. #include <mach/irqs.h>
  15. /*
  16. * PXA GPIOs
  17. */
  18. #define GPIO0_MAGICIAN_KEY_POWER 0
  19. #define GPIO9_MAGICIAN_UNKNOWN 9
  20. #define GPIO10_MAGICIAN_GSM_IRQ 10
  21. #define GPIO11_MAGICIAN_GSM_OUT1 11
  22. #define GPIO13_MAGICIAN_CPLD_IRQ 13
  23. #define GPIO18_MAGICIAN_UNKNOWN 18
  24. #define GPIO22_MAGICIAN_VIBRA_EN 22
  25. #define GPIO26_MAGICIAN_GSM_POWER 26
  26. #define GPIO27_MAGICIAN_USBC_PUEN 27
  27. #define GPIO30_MAGICIAN_BQ24022_nCHARGE_EN 30
  28. #define GPIO37_MAGICIAN_KEY_HANGUP 37
  29. #define GPIO38_MAGICIAN_KEY_CONTACTS 38
  30. #define GPIO40_MAGICIAN_GSM_OUT2 40
  31. #define GPIO48_MAGICIAN_UNKNOWN 48
  32. #define GPIO56_MAGICIAN_UNKNOWN 56
  33. #define GPIO57_MAGICIAN_CAM_RESET 57
  34. #define GPIO75_MAGICIAN_SAMSUNG_POWER 75
  35. #define GPIO83_MAGICIAN_nIR_EN 83
  36. #define GPIO86_MAGICIAN_GSM_RESET 86
  37. #define GPIO87_MAGICIAN_GSM_SELECT 87
  38. #define GPIO90_MAGICIAN_KEY_CALENDAR 90
  39. #define GPIO91_MAGICIAN_KEY_CAMERA 91
  40. #define GPIO93_MAGICIAN_KEY_UP 93
  41. #define GPIO94_MAGICIAN_KEY_DOWN 94
  42. #define GPIO95_MAGICIAN_KEY_LEFT 95
  43. #define GPIO96_MAGICIAN_KEY_RIGHT 96
  44. #define GPIO97_MAGICIAN_KEY_ENTER 97
  45. #define GPIO98_MAGICIAN_KEY_RECORD 98
  46. #define GPIO99_MAGICIAN_HEADPHONE_IN 99
  47. #define GPIO100_MAGICIAN_KEY_VOL_UP 100
  48. #define GPIO101_MAGICIAN_KEY_VOL_DOWN 101
  49. #define GPIO102_MAGICIAN_KEY_PHONE 102
  50. #define GPIO103_MAGICIAN_LED_KP 103
  51. #define GPIO104_MAGICIAN_LCD_POWER_1 104
  52. #define GPIO105_MAGICIAN_LCD_POWER_2 105
  53. #define GPIO106_MAGICIAN_LCD_POWER_3 106
  54. #define GPIO107_MAGICIAN_DS1WM_IRQ 107
  55. #define GPIO108_MAGICIAN_GSM_READY 108
  56. #define GPIO114_MAGICIAN_UNKNOWN 114
  57. #define GPIO115_MAGICIAN_nPEN_IRQ 115
  58. #define GPIO116_MAGICIAN_nCAM_EN 116
  59. #define GPIO119_MAGICIAN_UNKNOWN 119
  60. #define GPIO120_MAGICIAN_UNKNOWN 120
  61. /*
  62. * CPLD IRQs
  63. */
  64. #define IRQ_MAGICIAN_SD (IRQ_BOARD_START + 0)
  65. #define IRQ_MAGICIAN_EP (IRQ_BOARD_START + 1)
  66. #define IRQ_MAGICIAN_BT (IRQ_BOARD_START + 2)
  67. #define IRQ_MAGICIAN_VBUS (IRQ_BOARD_START + 3)
  68. #define MAGICIAN_NR_IRQS (IRQ_BOARD_START + 8)
  69. /*
  70. * CPLD EGPIOs
  71. */
  72. #define MAGICIAN_EGPIO_BASE PXA_NR_BUILTIN_GPIO
  73. #define MAGICIAN_EGPIO(reg,bit) \
  74. (MAGICIAN_EGPIO_BASE + 8*reg + bit)
  75. /* output */
  76. #define EGPIO_MAGICIAN_TOPPOLY_POWER MAGICIAN_EGPIO(0, 2)
  77. #define EGPIO_MAGICIAN_LED_POWER MAGICIAN_EGPIO(0, 5)
  78. #define EGPIO_MAGICIAN_GSM_RESET MAGICIAN_EGPIO(0, 6)
  79. #define EGPIO_MAGICIAN_LCD_POWER MAGICIAN_EGPIO(0, 7)
  80. #define EGPIO_MAGICIAN_SPK_POWER MAGICIAN_EGPIO(1, 0)
  81. #define EGPIO_MAGICIAN_EP_POWER MAGICIAN_EGPIO(1, 1)
  82. #define EGPIO_MAGICIAN_IN_SEL0 MAGICIAN_EGPIO(1, 2)
  83. #define EGPIO_MAGICIAN_IN_SEL1 MAGICIAN_EGPIO(1, 3)
  84. #define EGPIO_MAGICIAN_MIC_POWER MAGICIAN_EGPIO(1, 4)
  85. #define EGPIO_MAGICIAN_CODEC_RESET MAGICIAN_EGPIO(1, 5)
  86. #define EGPIO_MAGICIAN_CODEC_POWER MAGICIAN_EGPIO(1, 6)
  87. #define EGPIO_MAGICIAN_BL_POWER MAGICIAN_EGPIO(1, 7)
  88. #define EGPIO_MAGICIAN_SD_POWER MAGICIAN_EGPIO(2, 0)
  89. #define EGPIO_MAGICIAN_CARKIT_MIC MAGICIAN_EGPIO(2, 1)
  90. #define EGPIO_MAGICIAN_UNKNOWN_WAVEDEV_DLL MAGICIAN_EGPIO(2, 2)
  91. #define EGPIO_MAGICIAN_FLASH_VPP MAGICIAN_EGPIO(2, 3)
  92. #define EGPIO_MAGICIAN_BL_POWER2 MAGICIAN_EGPIO(2, 4)
  93. #define EGPIO_MAGICIAN_BQ24022_ISET2 MAGICIAN_EGPIO(2, 5)
  94. #define EGPIO_MAGICIAN_GSM_POWER MAGICIAN_EGPIO(2, 7)
  95. /* input */
  96. #define EGPIO_MAGICIAN_CABLE_STATE_AC MAGICIAN_EGPIO(4, 0)
  97. #define EGPIO_MAGICIAN_CABLE_STATE_USB MAGICIAN_EGPIO(4, 1)
  98. #define EGPIO_MAGICIAN_BOARD_ID0 MAGICIAN_EGPIO(5, 0)
  99. #define EGPIO_MAGICIAN_BOARD_ID1 MAGICIAN_EGPIO(5, 1)
  100. #define EGPIO_MAGICIAN_BOARD_ID2 MAGICIAN_EGPIO(5, 2)
  101. #define EGPIO_MAGICIAN_LCD_SELECT MAGICIAN_EGPIO(5, 3)
  102. #define EGPIO_MAGICIAN_nSD_READONLY MAGICIAN_EGPIO(5, 4)
  103. #define EGPIO_MAGICIAN_EP_INSERT MAGICIAN_EGPIO(6, 1)
  104. #endif /* _MAGICIAN_H_ */