magician.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * GPIO and IRQ definitions for HTC Magician PDA phones
  4. *
  5. * Copyright (c) 2007 Philipp Zabel
  6. */
  7. #ifndef _MAGICIAN_H_
  8. #define _MAGICIAN_H_
  9. #include <linux/gpio.h>
  10. #include "irqs.h"
  11. /*
  12. * PXA GPIOs
  13. */
  14. #define GPIO0_MAGICIAN_KEY_POWER 0
  15. #define GPIO9_MAGICIAN_UNKNOWN 9
  16. #define GPIO10_MAGICIAN_GSM_IRQ 10
  17. #define GPIO11_MAGICIAN_GSM_OUT1 11
  18. #define GPIO13_MAGICIAN_CPLD_IRQ 13
  19. #define GPIO14_MAGICIAN_TSC2046_CS 14
  20. #define GPIO18_MAGICIAN_UNKNOWN 18
  21. #define GPIO22_MAGICIAN_VIBRA_EN 22
  22. #define GPIO26_MAGICIAN_GSM_POWER 26
  23. #define GPIO27_MAGICIAN_USBC_PUEN 27
  24. #define GPIO30_MAGICIAN_BQ24022_nCHARGE_EN 30
  25. #define GPIO37_MAGICIAN_KEY_HANGUP 37
  26. #define GPIO38_MAGICIAN_KEY_CONTACTS 38
  27. #define GPIO40_MAGICIAN_GSM_OUT2 40
  28. #define GPIO48_MAGICIAN_UNKNOWN 48
  29. #define GPIO56_MAGICIAN_UNKNOWN 56
  30. #define GPIO57_MAGICIAN_CAM_RESET 57
  31. #define GPIO75_MAGICIAN_SAMSUNG_POWER 75
  32. #define GPIO83_MAGICIAN_nIR_EN 83
  33. #define GPIO86_MAGICIAN_GSM_RESET 86
  34. #define GPIO87_MAGICIAN_GSM_SELECT 87
  35. #define GPIO90_MAGICIAN_KEY_CALENDAR 90
  36. #define GPIO91_MAGICIAN_KEY_CAMERA 91
  37. #define GPIO93_MAGICIAN_KEY_UP 93
  38. #define GPIO94_MAGICIAN_KEY_DOWN 94
  39. #define GPIO95_MAGICIAN_KEY_LEFT 95
  40. #define GPIO96_MAGICIAN_KEY_RIGHT 96
  41. #define GPIO97_MAGICIAN_KEY_ENTER 97
  42. #define GPIO98_MAGICIAN_KEY_RECORD 98
  43. #define GPIO99_MAGICIAN_HEADPHONE_IN 99
  44. #define GPIO100_MAGICIAN_KEY_VOL_UP 100
  45. #define GPIO101_MAGICIAN_KEY_VOL_DOWN 101
  46. #define GPIO102_MAGICIAN_KEY_PHONE 102
  47. #define GPIO103_MAGICIAN_LED_KP 103
  48. #define GPIO104_MAGICIAN_LCD_VOFF_EN 104
  49. #define GPIO105_MAGICIAN_LCD_VON_EN 105
  50. #define GPIO106_MAGICIAN_LCD_DCDC_NRESET 106
  51. #define GPIO107_MAGICIAN_DS1WM_IRQ 107
  52. #define GPIO108_MAGICIAN_GSM_READY 108
  53. #define GPIO114_MAGICIAN_UNKNOWN 114
  54. #define GPIO115_MAGICIAN_nPEN_IRQ 115
  55. #define GPIO116_MAGICIAN_nCAM_EN 116
  56. #define GPIO119_MAGICIAN_UNKNOWN 119
  57. #define GPIO120_MAGICIAN_UNKNOWN 120
  58. /*
  59. * CPLD IRQs
  60. */
  61. #define IRQ_MAGICIAN_SD (IRQ_BOARD_START + 0)
  62. #define IRQ_MAGICIAN_EP (IRQ_BOARD_START + 1)
  63. #define IRQ_MAGICIAN_BT (IRQ_BOARD_START + 2)
  64. #define IRQ_MAGICIAN_VBUS (IRQ_BOARD_START + 3)
  65. #define MAGICIAN_NR_IRQS (IRQ_BOARD_START + 8)
  66. /*
  67. * CPLD EGPIOs
  68. */
  69. #define MAGICIAN_EGPIO_BASE PXA_NR_BUILTIN_GPIO
  70. #define MAGICIAN_EGPIO(reg,bit) \
  71. (MAGICIAN_EGPIO_BASE + 8*reg + bit)
  72. /* output */
  73. #define EGPIO_MAGICIAN_TOPPOLY_POWER MAGICIAN_EGPIO(0, 2)
  74. #define EGPIO_MAGICIAN_LED_POWER MAGICIAN_EGPIO(0, 5)
  75. #define EGPIO_MAGICIAN_GSM_RESET MAGICIAN_EGPIO(0, 6)
  76. #define EGPIO_MAGICIAN_LCD_POWER MAGICIAN_EGPIO(0, 7)
  77. #define EGPIO_MAGICIAN_SPK_POWER MAGICIAN_EGPIO(1, 0)
  78. #define EGPIO_MAGICIAN_EP_POWER MAGICIAN_EGPIO(1, 1)
  79. #define EGPIO_MAGICIAN_IN_SEL0 MAGICIAN_EGPIO(1, 2)
  80. #define EGPIO_MAGICIAN_IN_SEL1 MAGICIAN_EGPIO(1, 3)
  81. #define EGPIO_MAGICIAN_MIC_POWER MAGICIAN_EGPIO(1, 4)
  82. #define EGPIO_MAGICIAN_CODEC_RESET MAGICIAN_EGPIO(1, 5)
  83. #define EGPIO_MAGICIAN_CODEC_POWER MAGICIAN_EGPIO(1, 6)
  84. #define EGPIO_MAGICIAN_BL_POWER MAGICIAN_EGPIO(1, 7)
  85. #define EGPIO_MAGICIAN_SD_POWER MAGICIAN_EGPIO(2, 0)
  86. #define EGPIO_MAGICIAN_CARKIT_MIC MAGICIAN_EGPIO(2, 1)
  87. #define EGPIO_MAGICIAN_IR_RX_SHUTDOWN MAGICIAN_EGPIO(2, 2)
  88. #define EGPIO_MAGICIAN_FLASH_VPP MAGICIAN_EGPIO(2, 3)
  89. #define EGPIO_MAGICIAN_BL_POWER2 MAGICIAN_EGPIO(2, 4)
  90. #define EGPIO_MAGICIAN_BQ24022_ISET2 MAGICIAN_EGPIO(2, 5)
  91. #define EGPIO_MAGICIAN_NICD_CHARGE MAGICIAN_EGPIO(2, 6)
  92. #define EGPIO_MAGICIAN_GSM_POWER MAGICIAN_EGPIO(2, 7)
  93. /* input */
  94. /* USB or AC charger type */
  95. #define EGPIO_MAGICIAN_CABLE_TYPE MAGICIAN_EGPIO(4, 0)
  96. /*
  97. * Vbus is detected
  98. * FIXME behaves like (6,3), may differ for host/device
  99. */
  100. #define EGPIO_MAGICIAN_CABLE_VBUS MAGICIAN_EGPIO(4, 1)
  101. #define EGPIO_MAGICIAN_BOARD_ID0 MAGICIAN_EGPIO(5, 0)
  102. #define EGPIO_MAGICIAN_BOARD_ID1 MAGICIAN_EGPIO(5, 1)
  103. #define EGPIO_MAGICIAN_BOARD_ID2 MAGICIAN_EGPIO(5, 2)
  104. #define EGPIO_MAGICIAN_LCD_SELECT MAGICIAN_EGPIO(5, 3)
  105. #define EGPIO_MAGICIAN_nSD_READONLY MAGICIAN_EGPIO(5, 4)
  106. #define EGPIO_MAGICIAN_EP_INSERT MAGICIAN_EGPIO(6, 1)
  107. /* FIXME behaves like (4,1), may differ for host/device */
  108. #define EGPIO_MAGICIAN_CABLE_INSERTED MAGICIAN_EGPIO(6, 3)
  109. #endif /* _MAGICIAN_H_ */