board-mop500.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /*
  2. * Copyright (C) ST-Ericsson SA 2010
  3. *
  4. * License terms: GNU General Public License (GPL) version 2
  5. */
  6. #ifndef __BOARD_MOP500_H
  7. #define __BOARD_MOP500_H
  8. /* Snowball specific GPIO assignments, this board has no GPIO expander */
  9. #define SNOWBALL_ACCEL_INT1_GPIO 163
  10. #define SNOWBALL_ACCEL_INT2_GPIO 164
  11. #define SNOWBALL_MAGNET_DRDY_GPIO 165
  12. #define SNOWBALL_SDMMC_EN_GPIO 217
  13. #define SNOWBALL_SDMMC_1V8_3V_GPIO 228
  14. #define SNOWBALL_SDMMC_CD_GPIO 218
  15. /* HREFv60-specific GPIO assignments, this board has no GPIO expander */
  16. #define HREFV60_SDMMC_1V8_3V_GPIO 5
  17. #define HREFV60_CAMERA_FLASH_ENABLE 21
  18. #define HREFV60_MAGNET_DRDY_GPIO 32
  19. #define HREFV60_DISP1_RST_GPIO 65
  20. #define HREFV60_DISP2_RST_GPIO 66
  21. #define HREFV60_ACCEL_INT1_GPIO 82
  22. #define HREFV60_ACCEL_INT2_GPIO 83
  23. #define HREFV60_SDMMC_CD_GPIO 95
  24. #define HREFV60_XSHUTDOWN_SECONDARY_SENSOR 140
  25. #define HREFV60_TOUCH_RST_GPIO 143
  26. #define HREFV60_HAL_SW_GPIO 145
  27. #define HREFV60_SDMMC_EN_GPIO 169
  28. #define HREFV60_MMIO_XENON_CHARGE 170
  29. #define HREFV60_PROX_SENSE_GPIO 217
  30. /* MOP500 generic GPIOs */
  31. #define CAMERA_FLASH_INT_PIN 7
  32. #define CYPRESS_TOUCH_INT_PIN 84
  33. #define XSHUTDOWN_PRIMARY_SENSOR 141
  34. #define XSHUTDOWN_SECONDARY_SENSOR 142
  35. #define CYPRESS_TOUCH_RST_GPIO 143
  36. #define MOP500_HDMI_RST_GPIO 196
  37. #define CYPRESS_SLAVE_SELECT_GPIO 216
  38. /* GPIOs on the TC35892 expander */
  39. #define MOP500_EGPIO(x) (NOMADIK_NR_GPIO + (x))
  40. #define GPIO_MAGNET_DRDY MOP500_EGPIO(1)
  41. #define GPIO_SDMMC_CD MOP500_EGPIO(3)
  42. #define GPIO_CAMERA_FLASH_ENABLE MOP500_EGPIO(4)
  43. #define GPIO_MMIO_XENON_CHARGE MOP500_EGPIO(5)
  44. #define GPIO_PROX_SENSOR MOP500_EGPIO(7)
  45. #define GPIO_HAL_SENSOR MOP500_EGPIO(8)
  46. #define GPIO_ACCEL_INT1 MOP500_EGPIO(10)
  47. #define GPIO_ACCEL_INT2 MOP500_EGPIO(11)
  48. #define GPIO_BU21013_CS MOP500_EGPIO(13)
  49. #define MOP500_DISP2_RST_GPIO MOP500_EGPIO(14)
  50. #define MOP500_DISP1_RST_GPIO MOP500_EGPIO(15)
  51. #define GPIO_SDMMC_EN MOP500_EGPIO(17)
  52. #define GPIO_SDMMC_1V8_3V_SEL MOP500_EGPIO(18)
  53. #define MOP500_EGPIO_END MOP500_EGPIO(24)
  54. /*
  55. * GPIOs on the AB8500 mixed-signals circuit
  56. * Notice that we subtract 1 from the number passed into the macro, this is
  57. * because the AB8500 GPIO pins are enumbered starting from 1, so the value in
  58. * parens matches the GPIO pin number in the data sheet.
  59. */
  60. #define MOP500_AB8500_GPIO(x) (MOP500_EGPIO_END + (x) - 1)
  61. /*Snowball AB8500 GPIO */
  62. #define SNOWBALL_VSMPS2_1V8_GPIO MOP500_AB8500_PIN_GPIO(1) /* SYSCLKREQ2/GPIO1 */
  63. #define SNOWBALL_PM_GPIO1_GPIO MOP500_AB8500_PIN_GPIO(2) /* SYSCLKREQ3/GPIO2 */
  64. #define SNOWBALL_WLAN_CLK_REQ_GPIO MOP500_AB8500_PIN_GPIO(3) /* SYSCLKREQ4/GPIO3 */
  65. #define SNOWBALL_PM_GPIO4_GPIO MOP500_AB8500_PIN_GPIO(4) /* SYSCLKREQ6/GPIO4 */
  66. #define SNOWBALL_EN_3V6_GPIO MOP500_AB8500_PIN_GPIO(16) /* PWMOUT3/GPIO16 */
  67. #define SNOWBALL_PME_ETH_GPIO MOP500_AB8500_PIN_GPIO(24) /* SYSCLKREQ7/GPIO24 */
  68. #define SNOWBALL_EN_3V3_ETH_GPIO MOP500_AB8500_PIN_GPIO(26) /* GPIO26 */
  69. struct i2c_board_info;
  70. extern void mop500_sdi_init(void);
  71. extern void snowball_sdi_init(void);
  72. extern void hrefv60_sdi_init(void);
  73. extern void mop500_sdi_tc35892_init(void);
  74. void __init mop500_u8500uib_init(void);
  75. void __init mop500_stuib_init(void);
  76. void __init mop500_pins_init(void);
  77. void __init hrefv60_pins_init(void);
  78. void __init snowball_pins_init(void);
  79. void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info,
  80. unsigned n);
  81. #endif