2 * include/asm-arm/arch-pxa/hx4700-gpio.h
5 * 2004-12-10 Michael Opdenacker. Wrote down GPIO settings as identified by Jamey Hicks.
6 * Reused the h2200-gpio.h file as a template.
12 #include <asm/arch/pxa-regs.h>
14 #define GET_X30_GPIO(gpio) \
15 (GPLR(GPIO_NR_X30_ ## gpio) & GPIO_bit(GPIO_NR_X30_ ## gpio))
17 #define SET_X30_GPIO(gpio, setp) \
20 GPSR(GPIO_NR_X30_ ## gpio) = GPIO_bit(GPIO_NR_X30_ ## gpio); \
22 GPCR(GPIO_NR_X30_ ## gpio) = GPIO_bit(GPIO_NR_X30_ ## gpio); \
25 #define SET_X30_GPIO_N(gpio, setp) \
28 GPCR(GPIO_NR_X30_ ## gpio ## _N) = GPIO_bit(GPIO_NR_X30_ ## gpio ## _N); \
30 GPSR(GPIO_NR_X30_ ## gpio ## _N) = GPIO_bit(GPIO_NR_X30_ ## gpio ## _N); \
33 #define X30_IRQ(gpio) \
34 IRQ_GPIO(GPIO_NR_X30_ ## gpio)
36 #define GPIO_NR_X30_KEY_ON 0
37 #define GPIO_NR_X30_GP_RST_N 1
39 #define GPIO_NR_X30_PWR_SCL 3
40 #define GPIO_NR_X30_PWR_SDA 4
41 #define GPIO_NR_X30_PWR_CAP0 5
42 #define GPIO_NR_X30_PWR_CAP1 6
43 #define GPIO_NR_X30_PWR_CAP2 7
44 #define GPIO_NR_X30_PWR_CAP3 8
45 #define GPIO_NR_X30_CLK_PIO_CPU_13MHz 9
46 #define GPIO_NR_X30_CLK_TOUT_32KHz 10
47 #define GPIO_NR_X30_CPU_BF_DOOR_N 11
48 #define GPIO_NR_X30_ASIC3_EXT_INT 12
49 #define GPIO_NR_X30_W3220_INT 13
50 #define GPIO_NR_X30_WLAN_IRQ_N 14
51 #define GPIO_NR_X30_CS1_N 15
53 #define GPIO_NR_X30_RDY 18
54 #define GPIO_NR_X30_TOUCHPANEL_SPI_CLK 19
55 #define GPIO_NR_X30_SDCS2_N 20
56 #define GPIO_NR_X30_SDCS3_N 21
57 #define GPIO_NR_X30_LCD_RL 22
58 #define GPIO_NR_X30_SYNAPTICS_SPI_CLK 23
59 #define GPIO_NR_X30_SYNAPTICS_SPI_CS_N 24
60 #define GPIO_NR_X30_SYNAPTICS_SPI_DO 25
61 #define GPIO_NR_X30_SYNAPTICS_SPI_DI 26
62 #define GPIO_NR_X30_CODEC_ON 27
63 #define GPIO_NR_X30_I2S_BCK 28
64 #define GPIO_NR_X30_I2S_DIN 29
65 #define GPIO_NR_X30_I2S_DOUT 30
66 #define GPIO_NR_X30_I2S_SYNC 31
67 #define GPIO_NR_X30_RS232_ON 32
68 #define GPIO_NR_X30_CS5_N 33
69 #define GPIO_NR_X30_COM_RXD 34
70 #define GPIO_NR_X30_COM_CTS 35
71 #define GPIO_NR_X30_COM_DCD 36
72 #define GPIO_NR_X30_COM_DSR 37
73 #define GPIO_NR_X30_COM_RING 38
74 #define GPIO_NR_X30_COM_TXD 39
75 #define GPIO_NR_X30_COM_DTR 40
76 #define GPIO_NR_X30_COM_RTS 41
77 #define GPIO_NR_X30_BT_RXD 42
78 #define GPIO_NR_X30_BT_TXD 43
79 #define GPIO_NR_X30_BT_UART_CTS 44
80 #define GPIO_NR_X30_BT_UART_RTS 45
82 #define GPIO_NR_X30_POE_N 48
83 #define GPIO_NR_X30_PWE_N 49
84 #define GPIO_NR_X30_PIOR_N 50
85 #define GPIO_NR_X30_PIOW_N 51
86 #define GPIO_NR_X30_CPU_BATT_FAULT_N 52
88 #define GPIO_NR_X30_PCE2_N 54
89 #define GPIO_NR_X30_PREG_N 55
90 #define GPIO_NR_X30_PWAIT_N 56
91 #define GPIO_NR_X30_PIOIS16_N 57
92 #define GPIO_NR_X30_TOUCHPANEL_IRQ_N 58
93 #define GPIO_NR_X30_LCD_PC1 59
94 #define GPIO_NR_X30_CF_RNB 60 /* HaRET: I 1 0 FE */
95 #define GPIO_NR_X30_W3220_RESET_N 61
96 #define GPIO_NR_X30_LCD_RESET_N 62
97 #define GPIO_NR_X30_CPU_SS_RESET_N 63
99 #define GPIO_NR_X30_TOUCHPANEL_PEN_PU 65
100 #define GPIO_NR_X30_ASIC3_SDIO_INT_N 66
101 #define GPIO_NR_X30_EUART_PS 67
103 #define GPIO_NR_X30_LCD_SLIN1 70
104 #define GPIO_NR_X30_ASIC3_RESET_N 71
105 #define GPIO_NR_X30_CHARGE_EN_N 72
106 #define GPIO_NR_X30_LCD_UD_1 73
108 #define GPIO_NR_X30_EARPHONE_DET_N 75
109 #define GPIO_NR_X30_USB_PUEN 76
111 #define GPIO_NR_X30_CS2_N 78
112 #define GPIO_NR_X30_CS3_N 79
113 #define GPIO_NR_X30_CS4_N 80
114 #define GPIO_NR_X30_CPU_GP_RESET_N 81
115 #define GPIO_NR_X30_EUART_RESET 82
116 #define GPIO_NR_X30_WLAN_RESET_N 83
117 #define GPIO_NR_X30_LCD_SQN 84
118 #define GPIO_NR_X30_PCE1_N 85
119 #define GPIO_NR_X30_TOUCHPANEL_SPI_DI 86
120 #define GPIO_NR_X30_TOUCHPANEL_SPI_DO 87
121 #define GPIO_NR_X30_TOUCHPANEL_SPI_CS_N 88
123 #define GPIO_NR_X30_FLASH_VPEN 91
124 #define GPIO_NR_X30_HP_DRIVER 92
125 #define GPIO_NR_X30_EUART_INT 93
126 #define GPIO_NR_X30_KEY_AP3 94
127 #define GPIO_NR_X30_BATT_OFF 95
128 #define GPIO_NR_X30_USB_CHARGE_RATE 96
129 #define GPIO_NR_X30_BL_DETECT_N 97
131 #define GPIO_NR_X30_KEY_AP1 99
132 #define GPIO_NR_X30_AUTO_SENSE 100 /* to backlight circuit */
134 #define GPIO_NR_X30_SYNAPTICS_POWER_ON 102
135 #define GPIO_NR_X30_SYNAPTICS_INT 103
136 #define GPIO_NR_X30_PSKTSEL 104
137 #define GPIO_NR_X30_IR_ON_N 105
138 #define GPIO_NR_X30_CPU_BT_RESET_N 106
139 #define GPIO_NR_X30_SPK_SD_N 107
141 #define GPIO_NR_X30_CODEC_ON_N 109
142 #define GPIO_NR_X30_LCD_LVDD_3V3_ON 110
143 #define GPIO_NR_X30_LCD_AVDD_3V3_ON 111
144 #define GPIO_NR_X30_LCD_N2V7_7V3_ON 112
145 #define GPIO_NR_X30_I2S_SYSCLK 113
146 #define GPIO_NR_X30_CF_RESET 114 /* HaRET: O 0 0 */
147 #define GPIO_NR_X30_USB2_DREQ 115
148 #define GPIO_NR_X30_CPU_HW_RESET_N 116
149 #define GPIO_NR_X30_I2C_SCL 117
150 #define GPIO_NR_X30_I2C_SDA 118
152 #define EGPIO0_VCC_3V3_EN (1<<0) /* what use? */
153 #define EGPIO1_WL_VREG_EN (1<<1) /* WLAN Power */
154 #define EGPIO2_VCC_2V1_WL_EN (1<<2) /* unused */
155 #define EGPIO3_SS_PWR_ON (1<<3) /* smart slot power on */
156 #define EGPIO4_CF_3V3_ON (1<<4) /* CF 3.3V enable */
157 #define EGPIO5_BT_3V3_ON (1<<5) /* Bluetooth 3.3V enable */
158 #define EGPIO6_WL1V8_EN (1<<6) /* WLAN 1.8V enable */
159 #define EGPIO7_VCC_3V3_WL_EN (1<<7) /* WLAN 3.3V enable */
160 #define EGPIO8_USB_3V3_ON (1<<8) /* unused */
162 #define GPIO_NR_X30_SDCS2_N_MD (20 | GPIO_ALT_FN_1_OUT | GPIO_DFLT_HIGH)
163 #define GPIO_NR_X30_SDCS3_N_MD (21 | GPIO_ALT_FN_1_OUT | GPIO_DFLT_HIGH)
164 #define GPIO_NR_X30_SYNAPTICS_SPI_CLK_MD (23 | GPIO_ALT_FN_2_IN)
165 #define GPIO_NR_X30_SYNAPTICS_SPI_CS_N_MD (24 | GPIO_ALT_FN_2_IN)
166 #define GPIO_NR_X30_SYNAPTICS_SPI_DO_MD (25 | GPIO_ALT_FN_2_OUT)
167 #define GPIO_NR_X30_SYNAPTICS_SPI_DI_MD (26 | GPIO_ALT_FN_1_IN)
168 #define GPIO_NR_X30_I2S_BCK_MD (28 | GPIO_ALT_FN_1_OUT)
169 #define GPIO_NR_X30_I2S_DIN_MD (29 | GPIO_ALT_FN_2_IN)
170 #define GPIO_NR_X30_I2S_DOUT_MD (30 | GPIO_ALT_FN_1_OUT)
171 #define GPIO_NR_X30_I2S_SYNC_MD (31 | GPIO_ALT_FN_1_OUT)
172 #define GPIO_NR_X30_COM_RXD_MD (34 | GPIO_ALT_FN_1_IN)
173 #define GPIO_NR_X30_COM_CTS_MD (35 | GPIO_ALT_FN_1_IN)
174 #define GPIO_NR_X30_COM_DCD_MD (36 | GPIO_ALT_FN_1_IN)
175 #define GPIO_NR_X30_COM_DSR_MD (37 | GPIO_ALT_FN_1_IN)
176 #define GPIO_NR_X30_COM_RING_MD (38 | GPIO_ALT_FN_1_IN)
177 #define GPIO_NR_X30_COM_TXD_MD (39 | GPIO_ALT_FN_2_OUT)
178 #define GPIO_NR_X30_COM_DTR_MD (40 | GPIO_ALT_FN_2_OUT)
179 #define GPIO_NR_X30_COM_RTS_MD (41 | GPIO_ALT_FN_2_OUT)
180 #define GPIO_NR_X30_POE_N_MD (48 | GPIO_ALT_FN_2_OUT | GPIO_DFLT_HIGH)
181 #define GPIO_NR_X30_PWE_N_MD (49 | GPIO_ALT_FN_2_OUT | GPIO_DFLT_HIGH)
182 #define GPIO_NR_X30_PIOR_N_MD (50 | GPIO_ALT_FN_2_OUT | GPIO_DFLT_HIGH)
183 #define GPIO_NR_X30_PIOW_N_MD (51 | GPIO_ALT_FN_2_OUT | GPIO_DFLT_HIGH)
184 #define GPIO_NR_X30_PCE2_N_MD (54 | GPIO_ALT_FN_2_OUT | GPIO_DFLT_HIGH)
185 #define GPIO_NR_X30_PREG_N_MD (55 | GPIO_ALT_FN_2_OUT | GPIO_DFLT_HIGH)
186 #define GPIO_NR_X30_PWAIT_N_MD (56 | GPIO_ALT_FN_1_IN | GPIO_DFLT_HIGH)
187 #define GPIO_NR_X30_PIOIS16_N_MD (57 | GPIO_ALT_FN_1_IN | GPIO_DFLT_HIGH)
188 #define GPIO_NR_X30_PCE1_N_MD (85 | GPIO_ALT_FN_1_OUT | GPIO_DFLT_HIGH)
189 #define GPIO_NR_X30_PSKTSEL_MD (104 | GPIO_ALT_FN_1_OUT)
190 #define GPIO_NR_X30_I2S_SYSCLK_MD (113 | GPIO_ALT_FN_1_OUT)
192 void x30_egpio_enable( unsigned long bits
);
193 void x30_egpio_disable( unsigned long bits
);
195 #endif /* _X30_GPIO_H */