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