Commit | Line | Data |
---|---|---|
008f8a2f HP |
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 | ||
1baa5743 LW |
10 | /* For NOMADIK_NR_GPIO */ |
11 | #include <mach/irqs.h> | |
724ebbf4 | 12 | #include <mach/msp.h> |
5e1ac7db | 13 | #include <linux/amba/mmci.h> |
1baa5743 | 14 | |
017beaa6 LW |
15 | /* Snowball specific GPIO assignments, this board has no GPIO expander */ |
16 | #define SNOWBALL_ACCEL_INT1_GPIO 163 | |
17 | #define SNOWBALL_ACCEL_INT2_GPIO 164 | |
18 | #define SNOWBALL_MAGNET_DRDY_GPIO 165 | |
19 | #define SNOWBALL_SDMMC_EN_GPIO 217 | |
20 | #define SNOWBALL_SDMMC_1V8_3V_GPIO 228 | |
21 | #define SNOWBALL_SDMMC_CD_GPIO 218 | |
885d0fe4 | 22 | |
4b4f757c | 23 | /* HREFv60-specific GPIO assignments, this board has no GPIO expander */ |
4b4f757c | 24 | #define HREFV60_SDMMC_1V8_3V_GPIO 5 |
017beaa6 | 25 | #define HREFV60_CAMERA_FLASH_ENABLE 21 |
4b4f757c LW |
26 | #define HREFV60_MAGNET_DRDY_GPIO 32 |
27 | #define HREFV60_DISP1_RST_GPIO 65 | |
28 | #define HREFV60_DISP2_RST_GPIO 66 | |
017beaa6 LW |
29 | #define HREFV60_ACCEL_INT1_GPIO 82 |
30 | #define HREFV60_ACCEL_INT2_GPIO 83 | |
31 | #define HREFV60_SDMMC_CD_GPIO 95 | |
32 | #define HREFV60_XSHUTDOWN_SECONDARY_SENSOR 140 | |
33 | #define HREFV60_TOUCH_RST_GPIO 143 | |
34 | #define HREFV60_HAL_SW_GPIO 145 | |
35 | #define HREFV60_SDMMC_EN_GPIO 169 | |
36 | #define HREFV60_MMIO_XENON_CHARGE 170 | |
37 | #define HREFV60_PROX_SENSE_GPIO 217 | |
38 | ||
39 | /* MOP500 generic GPIOs */ | |
40 | #define CAMERA_FLASH_INT_PIN 7 | |
41 | #define CYPRESS_TOUCH_INT_PIN 84 | |
42 | #define XSHUTDOWN_PRIMARY_SENSOR 141 | |
43 | #define XSHUTDOWN_SECONDARY_SENSOR 142 | |
44 | #define CYPRESS_TOUCH_RST_GPIO 143 | |
45 | #define MOP500_HDMI_RST_GPIO 196 | |
46 | #define CYPRESS_SLAVE_SELECT_GPIO 216 | |
b8410a15 RV |
47 | |
48 | /* GPIOs on the TC35892 expander */ | |
4b4f757c | 49 | #define MOP500_EGPIO(x) (NOMADIK_NR_GPIO + (x)) |
017beaa6 | 50 | #define GPIO_MAGNET_DRDY MOP500_EGPIO(1) |
b8410a15 | 51 | #define GPIO_SDMMC_CD MOP500_EGPIO(3) |
017beaa6 LW |
52 | #define GPIO_CAMERA_FLASH_ENABLE MOP500_EGPIO(4) |
53 | #define GPIO_MMIO_XENON_CHARGE MOP500_EGPIO(5) | |
a71b819b | 54 | #define GPIO_PROX_SENSOR MOP500_EGPIO(7) |
017beaa6 LW |
55 | #define GPIO_HAL_SENSOR MOP500_EGPIO(8) |
56 | #define GPIO_ACCEL_INT1 MOP500_EGPIO(10) | |
57 | #define GPIO_ACCEL_INT2 MOP500_EGPIO(11) | |
0c24352e | 58 | #define GPIO_BU21013_CS MOP500_EGPIO(13) |
017beaa6 LW |
59 | #define MOP500_DISP2_RST_GPIO MOP500_EGPIO(14) |
60 | #define MOP500_DISP1_RST_GPIO MOP500_EGPIO(15) | |
b8410a15 RV |
61 | #define GPIO_SDMMC_EN MOP500_EGPIO(17) |
62 | #define GPIO_SDMMC_1V8_3V_SEL MOP500_EGPIO(18) | |
3ef374a2 BB |
63 | #define MOP500_EGPIO_END MOP500_EGPIO(24) |
64 | ||
017beaa6 LW |
65 | /* |
66 | * GPIOs on the AB8500 mixed-signals circuit | |
67 | * Notice that we subtract 1 from the number passed into the macro, this is | |
68 | * because the AB8500 GPIO pins are enumbered starting from 1, so the value in | |
69 | * parens matches the GPIO pin number in the data sheet. | |
70 | */ | |
a1524eeb | 71 | #define MOP500_AB8500_PIN_GPIO(x) (MOP500_EGPIO_END + (x) - 1) |
017beaa6 LW |
72 | /*Snowball AB8500 GPIO */ |
73 | #define SNOWBALL_VSMPS2_1V8_GPIO MOP500_AB8500_PIN_GPIO(1) /* SYSCLKREQ2/GPIO1 */ | |
74 | #define SNOWBALL_PM_GPIO1_GPIO MOP500_AB8500_PIN_GPIO(2) /* SYSCLKREQ3/GPIO2 */ | |
75 | #define SNOWBALL_WLAN_CLK_REQ_GPIO MOP500_AB8500_PIN_GPIO(3) /* SYSCLKREQ4/GPIO3 */ | |
76 | #define SNOWBALL_PM_GPIO4_GPIO MOP500_AB8500_PIN_GPIO(4) /* SYSCLKREQ6/GPIO4 */ | |
77 | #define SNOWBALL_EN_3V6_GPIO MOP500_AB8500_PIN_GPIO(16) /* PWMOUT3/GPIO16 */ | |
78 | #define SNOWBALL_PME_ETH_GPIO MOP500_AB8500_PIN_GPIO(24) /* SYSCLKREQ7/GPIO24 */ | |
79 | #define SNOWBALL_EN_3V3_ETH_GPIO MOP500_AB8500_PIN_GPIO(26) /* GPIO26 */ | |
b8410a15 | 80 | |
1baa5743 | 81 | struct device; |
705e0984 | 82 | struct i2c_board_info; |
5e1ac7db | 83 | extern struct mmci_platform_data mop500_sdi0_data; |
9cf24b15 LJ |
84 | extern struct mmci_platform_data mop500_sdi1_data; |
85 | extern struct mmci_platform_data mop500_sdi2_data; | |
5e1ac7db | 86 | extern struct mmci_platform_data mop500_sdi4_data; |
724ebbf4 LJ |
87 | extern struct msp_i2s_platform_data msp0_platform_data; |
88 | extern struct msp_i2s_platform_data msp1_platform_data; | |
89 | extern struct msp_i2s_platform_data msp2_platform_data; | |
90 | extern struct msp_i2s_platform_data msp3_platform_data; | |
96bbf791 | 91 | extern struct arm_pmu_platdata db8500_pmu_platdata; |
fa86a764 LJ |
92 | extern struct amba_pl011_data uart0_plat; |
93 | extern struct amba_pl011_data uart1_plat; | |
94 | extern struct amba_pl011_data uart2_plat; | |
95 | extern struct pl022_ssp_controller ssp0_plat; | |
705e0984 | 96 | |
18403424 LJ |
97 | extern void mop500_sdi_init(struct device *parent); |
98 | extern void snowball_sdi_init(struct device *parent); | |
99 | extern void hrefv60_sdi_init(struct device *parent); | |
100 | extern void mop500_sdi_tc35892_init(struct device *parent); | |
705e0984 RV |
101 | void __init mop500_u8500uib_init(void); |
102 | void __init mop500_stuib_init(void); | |
ed781d39 LW |
103 | void __init mop500_pinmaps_init(void); |
104 | void __init snowball_pinmaps_init(void); | |
105 | void __init hrefv60_pinmaps_init(void); | |
39b740bf | 106 | void mop500_audio_init(struct device *parent); |
705e0984 | 107 | |
fd6948bb | 108 | int __init mop500_uib_init(void); |
705e0984 RV |
109 | void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info, |
110 | unsigned n); | |
008f8a2f | 111 | #endif |