Merge branch 'virtio' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux...
[sfrench/cifs-2.6.git] / arch / mips / include / asm / mach-jz4740 / gpio.h
1 /*
2  *  Copyright (C) 2009, Lars-Peter Clausen <lars@metafoo.de>
3  *  JZ4740 GPIO pin definitions
4  *
5  *  This program is free software; you can redistribute it and/or modify it
6  *  under  the terms of the GNU General Public License as published by the
7  *  Free Software Foundation;  either version 2 of the License, or (at your
8  *  option) any later version.
9  *
10  *  You should have received a copy of the GNU General Public License along
11  *  with this program; if not, write to the Free Software Foundation, Inc.,
12  *  675 Mass Ave, Cambridge, MA 02139, USA.
13  *
14  */
15
16 #ifndef _JZ_GPIO_H
17 #define _JZ_GPIO_H
18
19 #include <linux/types.h>
20
21 enum jz_gpio_function {
22     JZ_GPIO_FUNC_NONE,
23     JZ_GPIO_FUNC1,
24     JZ_GPIO_FUNC2,
25     JZ_GPIO_FUNC3,
26 };
27
28
29 /*
30  Usually a driver for a SoC component has to request several gpio pins and
31  configure them as funcion pins.
32  jz_gpio_bulk_request can be used to ease this process.
33  Usually one would do something like:
34
35  const static struct jz_gpio_bulk_request i2c_pins[] = {
36         JZ_GPIO_BULK_PIN(I2C_SDA),
37         JZ_GPIO_BULK_PIN(I2C_SCK),
38  };
39
40  inside the probe function:
41
42     ret = jz_gpio_bulk_request(i2c_pins, ARRAY_SIZE(i2c_pins));
43     if (ret) {
44         ...
45
46  inside the remove function:
47
48     jz_gpio_bulk_free(i2c_pins, ARRAY_SIZE(i2c_pins));
49
50
51 */
52 struct jz_gpio_bulk_request {
53         int gpio;
54         const char *name;
55         enum jz_gpio_function function;
56 };
57
58 #define JZ_GPIO_BULK_PIN(pin) { \
59     .gpio = JZ_GPIO_ ## pin, \
60     .name = #pin, \
61     .function = JZ_GPIO_FUNC_ ## pin \
62 }
63
64 int jz_gpio_bulk_request(const struct jz_gpio_bulk_request *request, size_t num);
65 void jz_gpio_bulk_free(const struct jz_gpio_bulk_request *request, size_t num);
66 void jz_gpio_bulk_suspend(const struct jz_gpio_bulk_request *request, size_t num);
67 void jz_gpio_bulk_resume(const struct jz_gpio_bulk_request *request, size_t num);
68 void jz_gpio_enable_pullup(unsigned gpio);
69 void jz_gpio_disable_pullup(unsigned gpio);
70 int jz_gpio_set_function(int gpio, enum jz_gpio_function function);
71
72 int jz_gpio_port_direction_input(int port, uint32_t mask);
73 int jz_gpio_port_direction_output(int port, uint32_t mask);
74 void jz_gpio_port_set_value(int port, uint32_t value, uint32_t mask);
75 uint32_t jz_gpio_port_get_value(int port, uint32_t mask);
76
77 #include <asm/mach-generic/gpio.h>
78
79 #define JZ_GPIO_PORTA(x) ((x) + 32 * 0)
80 #define JZ_GPIO_PORTB(x) ((x) + 32 * 1)
81 #define JZ_GPIO_PORTC(x) ((x) + 32 * 2)
82 #define JZ_GPIO_PORTD(x) ((x) + 32 * 3)
83
84 /* Port A function pins */
85 #define JZ_GPIO_MEM_DATA0               JZ_GPIO_PORTA(0)
86 #define JZ_GPIO_MEM_DATA1               JZ_GPIO_PORTA(1)
87 #define JZ_GPIO_MEM_DATA2               JZ_GPIO_PORTA(2)
88 #define JZ_GPIO_MEM_DATA3               JZ_GPIO_PORTA(3)
89 #define JZ_GPIO_MEM_DATA4               JZ_GPIO_PORTA(4)
90 #define JZ_GPIO_MEM_DATA5               JZ_GPIO_PORTA(5)
91 #define JZ_GPIO_MEM_DATA6               JZ_GPIO_PORTA(6)
92 #define JZ_GPIO_MEM_DATA7               JZ_GPIO_PORTA(7)
93 #define JZ_GPIO_MEM_DATA8               JZ_GPIO_PORTA(8)
94 #define JZ_GPIO_MEM_DATA9               JZ_GPIO_PORTA(9)
95 #define JZ_GPIO_MEM_DATA10              JZ_GPIO_PORTA(10)
96 #define JZ_GPIO_MEM_DATA11              JZ_GPIO_PORTA(11)
97 #define JZ_GPIO_MEM_DATA12              JZ_GPIO_PORTA(12)
98 #define JZ_GPIO_MEM_DATA13              JZ_GPIO_PORTA(13)
99 #define JZ_GPIO_MEM_DATA14              JZ_GPIO_PORTA(14)
100 #define JZ_GPIO_MEM_DATA15              JZ_GPIO_PORTA(15)
101 #define JZ_GPIO_MEM_DATA16              JZ_GPIO_PORTA(16)
102 #define JZ_GPIO_MEM_DATA17              JZ_GPIO_PORTA(17)
103 #define JZ_GPIO_MEM_DATA18              JZ_GPIO_PORTA(18)
104 #define JZ_GPIO_MEM_DATA19              JZ_GPIO_PORTA(19)
105 #define JZ_GPIO_MEM_DATA20              JZ_GPIO_PORTA(20)
106 #define JZ_GPIO_MEM_DATA21              JZ_GPIO_PORTA(21)
107 #define JZ_GPIO_MEM_DATA22              JZ_GPIO_PORTA(22)
108 #define JZ_GPIO_MEM_DATA23              JZ_GPIO_PORTA(23)
109 #define JZ_GPIO_MEM_DATA24              JZ_GPIO_PORTA(24)
110 #define JZ_GPIO_MEM_DATA25              JZ_GPIO_PORTA(25)
111 #define JZ_GPIO_MEM_DATA26              JZ_GPIO_PORTA(26)
112 #define JZ_GPIO_MEM_DATA27              JZ_GPIO_PORTA(27)
113 #define JZ_GPIO_MEM_DATA28              JZ_GPIO_PORTA(28)
114 #define JZ_GPIO_MEM_DATA29              JZ_GPIO_PORTA(29)
115 #define JZ_GPIO_MEM_DATA30              JZ_GPIO_PORTA(30)
116 #define JZ_GPIO_MEM_DATA31              JZ_GPIO_PORTA(31)
117
118 #define JZ_GPIO_FUNC_MEM_DATA0          JZ_GPIO_FUNC1
119 #define JZ_GPIO_FUNC_MEM_DATA1          JZ_GPIO_FUNC1
120 #define JZ_GPIO_FUNC_MEM_DATA2          JZ_GPIO_FUNC1
121 #define JZ_GPIO_FUNC_MEM_DATA3          JZ_GPIO_FUNC1
122 #define JZ_GPIO_FUNC_MEM_DATA4          JZ_GPIO_FUNC1
123 #define JZ_GPIO_FUNC_MEM_DATA5          JZ_GPIO_FUNC1
124 #define JZ_GPIO_FUNC_MEM_DATA6          JZ_GPIO_FUNC1
125 #define JZ_GPIO_FUNC_MEM_DATA7          JZ_GPIO_FUNC1
126 #define JZ_GPIO_FUNC_MEM_DATA8          JZ_GPIO_FUNC1
127 #define JZ_GPIO_FUNC_MEM_DATA9          JZ_GPIO_FUNC1
128 #define JZ_GPIO_FUNC_MEM_DATA10         JZ_GPIO_FUNC1
129 #define JZ_GPIO_FUNC_MEM_DATA11         JZ_GPIO_FUNC1
130 #define JZ_GPIO_FUNC_MEM_DATA12         JZ_GPIO_FUNC1
131 #define JZ_GPIO_FUNC_MEM_DATA13         JZ_GPIO_FUNC1
132 #define JZ_GPIO_FUNC_MEM_DATA14         JZ_GPIO_FUNC1
133 #define JZ_GPIO_FUNC_MEM_DATA15         JZ_GPIO_FUNC1
134 #define JZ_GPIO_FUNC_MEM_DATA16         JZ_GPIO_FUNC1
135 #define JZ_GPIO_FUNC_MEM_DATA17         JZ_GPIO_FUNC1
136 #define JZ_GPIO_FUNC_MEM_DATA18         JZ_GPIO_FUNC1
137 #define JZ_GPIO_FUNC_MEM_DATA19         JZ_GPIO_FUNC1
138 #define JZ_GPIO_FUNC_MEM_DATA20         JZ_GPIO_FUNC1
139 #define JZ_GPIO_FUNC_MEM_DATA21         JZ_GPIO_FUNC1
140 #define JZ_GPIO_FUNC_MEM_DATA22         JZ_GPIO_FUNC1
141 #define JZ_GPIO_FUNC_MEM_DATA23         JZ_GPIO_FUNC1
142 #define JZ_GPIO_FUNC_MEM_DATA24         JZ_GPIO_FUNC1
143 #define JZ_GPIO_FUNC_MEM_DATA25         JZ_GPIO_FUNC1
144 #define JZ_GPIO_FUNC_MEM_DATA26         JZ_GPIO_FUNC1
145 #define JZ_GPIO_FUNC_MEM_DATA27         JZ_GPIO_FUNC1
146 #define JZ_GPIO_FUNC_MEM_DATA28         JZ_GPIO_FUNC1
147 #define JZ_GPIO_FUNC_MEM_DATA29         JZ_GPIO_FUNC1
148 #define JZ_GPIO_FUNC_MEM_DATA30         JZ_GPIO_FUNC1
149 #define JZ_GPIO_FUNC_MEM_DATA31         JZ_GPIO_FUNC1
150
151 /* Port B function pins */
152 #define JZ_GPIO_MEM_ADDR0               JZ_GPIO_PORTB(0)
153 #define JZ_GPIO_MEM_ADDR1               JZ_GPIO_PORTB(1)
154 #define JZ_GPIO_MEM_ADDR2               JZ_GPIO_PORTB(2)
155 #define JZ_GPIO_MEM_ADDR3               JZ_GPIO_PORTB(3)
156 #define JZ_GPIO_MEM_ADDR4               JZ_GPIO_PORTB(4)
157 #define JZ_GPIO_MEM_ADDR5               JZ_GPIO_PORTB(5)
158 #define JZ_GPIO_MEM_ADDR6               JZ_GPIO_PORTB(6)
159 #define JZ_GPIO_MEM_ADDR7               JZ_GPIO_PORTB(7)
160 #define JZ_GPIO_MEM_ADDR8               JZ_GPIO_PORTB(8)
161 #define JZ_GPIO_MEM_ADDR9               JZ_GPIO_PORTB(9)
162 #define JZ_GPIO_MEM_ADDR10              JZ_GPIO_PORTB(10)
163 #define JZ_GPIO_MEM_ADDR11              JZ_GPIO_PORTB(11)
164 #define JZ_GPIO_MEM_ADDR12              JZ_GPIO_PORTB(12)
165 #define JZ_GPIO_MEM_ADDR13              JZ_GPIO_PORTB(13)
166 #define JZ_GPIO_MEM_ADDR14              JZ_GPIO_PORTB(14)
167 #define JZ_GPIO_MEM_ADDR15              JZ_GPIO_PORTB(15)
168 #define JZ_GPIO_MEM_ADDR16              JZ_GPIO_PORTB(16)
169 #define JZ_GPIO_LCD_CLS                 JZ_GPIO_PORTB(17)
170 #define JZ_GPIO_LCD_SPL                 JZ_GPIO_PORTB(18)
171 #define JZ_GPIO_MEM_DCS                 JZ_GPIO_PORTB(19)
172 #define JZ_GPIO_MEM_RAS                 JZ_GPIO_PORTB(20)
173 #define JZ_GPIO_MEM_CAS                 JZ_GPIO_PORTB(21)
174 #define JZ_GPIO_MEM_SDWE                JZ_GPIO_PORTB(22)
175 #define JZ_GPIO_MEM_CKE                 JZ_GPIO_PORTB(23)
176 #define JZ_GPIO_MEM_CKO                 JZ_GPIO_PORTB(24)
177 #define JZ_GPIO_MEM_CS0                 JZ_GPIO_PORTB(25)
178 #define JZ_GPIO_MEM_CS1                 JZ_GPIO_PORTB(26)
179 #define JZ_GPIO_MEM_CS2                 JZ_GPIO_PORTB(27)
180 #define JZ_GPIO_MEM_CS3                 JZ_GPIO_PORTB(28)
181 #define JZ_GPIO_MEM_RD                  JZ_GPIO_PORTB(29)
182 #define JZ_GPIO_MEM_WR                  JZ_GPIO_PORTB(30)
183 #define JZ_GPIO_MEM_WE0                 JZ_GPIO_PORTB(31)
184
185 #define JZ_GPIO_FUNC_MEM_ADDR0          JZ_GPIO_FUNC1
186 #define JZ_GPIO_FUNC_MEM_ADDR1          JZ_GPIO_FUNC1
187 #define JZ_GPIO_FUNC_MEM_ADDR2          JZ_GPIO_FUNC1
188 #define JZ_GPIO_FUNC_MEM_ADDR3          JZ_GPIO_FUNC1
189 #define JZ_GPIO_FUNC_MEM_ADDR4          JZ_GPIO_FUNC1
190 #define JZ_GPIO_FUNC_MEM_ADDR5          JZ_GPIO_FUNC1
191 #define JZ_GPIO_FUNC_MEM_ADDR6          JZ_GPIO_FUNC1
192 #define JZ_GPIO_FUNC_MEM_ADDR7          JZ_GPIO_FUNC1
193 #define JZ_GPIO_FUNC_MEM_ADDR8          JZ_GPIO_FUNC1
194 #define JZ_GPIO_FUNC_MEM_ADDR9          JZ_GPIO_FUNC1
195 #define JZ_GPIO_FUNC_MEM_ADDR10         JZ_GPIO_FUNC1
196 #define JZ_GPIO_FUNC_MEM_ADDR11         JZ_GPIO_FUNC1
197 #define JZ_GPIO_FUNC_MEM_ADDR12         JZ_GPIO_FUNC1
198 #define JZ_GPIO_FUNC_MEM_ADDR13         JZ_GPIO_FUNC1
199 #define JZ_GPIO_FUNC_MEM_ADDR14         JZ_GPIO_FUNC1
200 #define JZ_GPIO_FUNC_MEM_ADDR15         JZ_GPIO_FUNC1
201 #define JZ_GPIO_FUNC_MEM_ADDR16         JZ_GPIO_FUNC1
202 #define JZ_GPIO_FUNC_LCD_CLS            JZ_GPIO_FUNC1
203 #define JZ_GPIO_FUNC_LCD_SPL            JZ_GPIO_FUNC1
204 #define JZ_GPIO_FUNC_MEM_DCS            JZ_GPIO_FUNC1
205 #define JZ_GPIO_FUNC_MEM_RAS            JZ_GPIO_FUNC1
206 #define JZ_GPIO_FUNC_MEM_CAS            JZ_GPIO_FUNC1
207 #define JZ_GPIO_FUNC_MEM_SDWE           JZ_GPIO_FUNC1
208 #define JZ_GPIO_FUNC_MEM_CKE            JZ_GPIO_FUNC1
209 #define JZ_GPIO_FUNC_MEM_CKO            JZ_GPIO_FUNC1
210 #define JZ_GPIO_FUNC_MEM_CS0            JZ_GPIO_FUNC1
211 #define JZ_GPIO_FUNC_MEM_CS1            JZ_GPIO_FUNC1
212 #define JZ_GPIO_FUNC_MEM_CS2            JZ_GPIO_FUNC1
213 #define JZ_GPIO_FUNC_MEM_CS3            JZ_GPIO_FUNC1
214 #define JZ_GPIO_FUNC_MEM_RD             JZ_GPIO_FUNC1
215 #define JZ_GPIO_FUNC_MEM_WR             JZ_GPIO_FUNC1
216 #define JZ_GPIO_FUNC_MEM_WE0            JZ_GPIO_FUNC1
217
218
219 #define JZ_GPIO_MEM_ADDR21              JZ_GPIO_PORTB(17)
220 #define JZ_GPIO_MEM_ADDR22              JZ_GPIO_PORTB(18)
221
222 #define JZ_GPIO_FUNC_MEM_ADDR21         JZ_GPIO_FUNC2
223 #define JZ_GPIO_FUNC_MEM_ADDR22         JZ_GPIO_FUNC2
224
225 /* Port C function pins */
226 #define JZ_GPIO_LCD_DATA0               JZ_GPIO_PORTC(0)
227 #define JZ_GPIO_LCD_DATA1               JZ_GPIO_PORTC(1)
228 #define JZ_GPIO_LCD_DATA2               JZ_GPIO_PORTC(2)
229 #define JZ_GPIO_LCD_DATA3               JZ_GPIO_PORTC(3)
230 #define JZ_GPIO_LCD_DATA4               JZ_GPIO_PORTC(4)
231 #define JZ_GPIO_LCD_DATA5               JZ_GPIO_PORTC(5)
232 #define JZ_GPIO_LCD_DATA6               JZ_GPIO_PORTC(6)
233 #define JZ_GPIO_LCD_DATA7               JZ_GPIO_PORTC(7)
234 #define JZ_GPIO_LCD_DATA8               JZ_GPIO_PORTC(8)
235 #define JZ_GPIO_LCD_DATA9               JZ_GPIO_PORTC(9)
236 #define JZ_GPIO_LCD_DATA10              JZ_GPIO_PORTC(10)
237 #define JZ_GPIO_LCD_DATA11              JZ_GPIO_PORTC(11)
238 #define JZ_GPIO_LCD_DATA12              JZ_GPIO_PORTC(12)
239 #define JZ_GPIO_LCD_DATA13              JZ_GPIO_PORTC(13)
240 #define JZ_GPIO_LCD_DATA14              JZ_GPIO_PORTC(14)
241 #define JZ_GPIO_LCD_DATA15              JZ_GPIO_PORTC(15)
242 #define JZ_GPIO_LCD_DATA16              JZ_GPIO_PORTC(16)
243 #define JZ_GPIO_LCD_DATA17              JZ_GPIO_PORTC(17)
244 #define JZ_GPIO_LCD_PCLK                JZ_GPIO_PORTC(18)
245 #define JZ_GPIO_LCD_HSYNC               JZ_GPIO_PORTC(19)
246 #define JZ_GPIO_LCD_VSYNC               JZ_GPIO_PORTC(20)
247 #define JZ_GPIO_LCD_DE                  JZ_GPIO_PORTC(21)
248 #define JZ_GPIO_LCD_PS                  JZ_GPIO_PORTC(22)
249 #define JZ_GPIO_LCD_REV                 JZ_GPIO_PORTC(23)
250 #define JZ_GPIO_MEM_WE1                 JZ_GPIO_PORTC(24)
251 #define JZ_GPIO_MEM_WE2                 JZ_GPIO_PORTC(25)
252 #define JZ_GPIO_MEM_WE3                 JZ_GPIO_PORTC(26)
253 #define JZ_GPIO_MEM_WAIT                JZ_GPIO_PORTC(27)
254 #define JZ_GPIO_MEM_FRE                 JZ_GPIO_PORTC(28)
255 #define JZ_GPIO_MEM_FWE                 JZ_GPIO_PORTC(29)
256
257 #define JZ_GPIO_FUNC_LCD_DATA0          JZ_GPIO_FUNC1
258 #define JZ_GPIO_FUNC_LCD_DATA1          JZ_GPIO_FUNC1
259 #define JZ_GPIO_FUNC_LCD_DATA2          JZ_GPIO_FUNC1
260 #define JZ_GPIO_FUNC_LCD_DATA3          JZ_GPIO_FUNC1
261 #define JZ_GPIO_FUNC_LCD_DATA4          JZ_GPIO_FUNC1
262 #define JZ_GPIO_FUNC_LCD_DATA5          JZ_GPIO_FUNC1
263 #define JZ_GPIO_FUNC_LCD_DATA6          JZ_GPIO_FUNC1
264 #define JZ_GPIO_FUNC_LCD_DATA7          JZ_GPIO_FUNC1
265 #define JZ_GPIO_FUNC_LCD_DATA8          JZ_GPIO_FUNC1
266 #define JZ_GPIO_FUNC_LCD_DATA9          JZ_GPIO_FUNC1
267 #define JZ_GPIO_FUNC_LCD_DATA10         JZ_GPIO_FUNC1
268 #define JZ_GPIO_FUNC_LCD_DATA11         JZ_GPIO_FUNC1
269 #define JZ_GPIO_FUNC_LCD_DATA12         JZ_GPIO_FUNC1
270 #define JZ_GPIO_FUNC_LCD_DATA13         JZ_GPIO_FUNC1
271 #define JZ_GPIO_FUNC_LCD_DATA14         JZ_GPIO_FUNC1
272 #define JZ_GPIO_FUNC_LCD_DATA15         JZ_GPIO_FUNC1
273 #define JZ_GPIO_FUNC_LCD_DATA16         JZ_GPIO_FUNC1
274 #define JZ_GPIO_FUNC_LCD_DATA17         JZ_GPIO_FUNC1
275 #define JZ_GPIO_FUNC_LCD_PCLK           JZ_GPIO_FUNC1
276 #define JZ_GPIO_FUNC_LCD_VSYNC          JZ_GPIO_FUNC1
277 #define JZ_GPIO_FUNC_LCD_HSYNC          JZ_GPIO_FUNC1
278 #define JZ_GPIO_FUNC_LCD_DE             JZ_GPIO_FUNC1
279 #define JZ_GPIO_FUNC_LCD_PS             JZ_GPIO_FUNC1
280 #define JZ_GPIO_FUNC_LCD_REV            JZ_GPIO_FUNC1
281 #define JZ_GPIO_FUNC_MEM_WE1            JZ_GPIO_FUNC1
282 #define JZ_GPIO_FUNC_MEM_WE2            JZ_GPIO_FUNC1
283 #define JZ_GPIO_FUNC_MEM_WE3            JZ_GPIO_FUNC1
284 #define JZ_GPIO_FUNC_MEM_WAIT           JZ_GPIO_FUNC1
285 #define JZ_GPIO_FUNC_MEM_FRE            JZ_GPIO_FUNC1
286 #define JZ_GPIO_FUNC_MEM_FWE            JZ_GPIO_FUNC1
287
288
289 #define JZ_GPIO_MEM_ADDR19              JZ_GPIO_PORTB(22)
290 #define JZ_GPIO_MEM_ADDR20              JZ_GPIO_PORTB(23)
291
292 #define JZ_GPIO_FUNC_MEM_ADDR19         JZ_GPIO_FUNC2
293 #define JZ_GPIO_FUNC_MEM_ADDR20         JZ_GPIO_FUNC2
294
295 /* Port D function pins */
296 #define JZ_GPIO_CIM_DATA0               JZ_GPIO_PORTD(0)
297 #define JZ_GPIO_CIM_DATA1               JZ_GPIO_PORTD(1)
298 #define JZ_GPIO_CIM_DATA2               JZ_GPIO_PORTD(2)
299 #define JZ_GPIO_CIM_DATA3               JZ_GPIO_PORTD(3)
300 #define JZ_GPIO_CIM_DATA4               JZ_GPIO_PORTD(4)
301 #define JZ_GPIO_CIM_DATA5               JZ_GPIO_PORTD(5)
302 #define JZ_GPIO_CIM_DATA6               JZ_GPIO_PORTD(6)
303 #define JZ_GPIO_CIM_DATA7               JZ_GPIO_PORTD(7)
304 #define JZ_GPIO_MSC_CMD                 JZ_GPIO_PORTD(8)
305 #define JZ_GPIO_MSC_CLK                 JZ_GPIO_PORTD(9)
306 #define JZ_GPIO_MSC_DATA0               JZ_GPIO_PORTD(10)
307 #define JZ_GPIO_MSC_DATA1               JZ_GPIO_PORTD(11)
308 #define JZ_GPIO_MSC_DATA2               JZ_GPIO_PORTD(12)
309 #define JZ_GPIO_MSC_DATA3               JZ_GPIO_PORTD(13)
310 #define JZ_GPIO_CIM_MCLK                JZ_GPIO_PORTD(14)
311 #define JZ_GPIO_CIM_PCLK                JZ_GPIO_PORTD(15)
312 #define JZ_GPIO_CIM_VSYNC               JZ_GPIO_PORTD(16)
313 #define JZ_GPIO_CIM_HSYNC               JZ_GPIO_PORTD(17)
314 #define JZ_GPIO_SPI_CLK                 JZ_GPIO_PORTD(18)
315 #define JZ_GPIO_SPI_CE0                 JZ_GPIO_PORTD(19)
316 #define JZ_GPIO_SPI_DT                  JZ_GPIO_PORTD(20)
317 #define JZ_GPIO_SPI_DR                  JZ_GPIO_PORTD(21)
318 #define JZ_GPIO_SPI_CE1                 JZ_GPIO_PORTD(22)
319 #define JZ_GPIO_PWM0                    JZ_GPIO_PORTD(23)
320 #define JZ_GPIO_PWM1                    JZ_GPIO_PORTD(24)
321 #define JZ_GPIO_PWM2                    JZ_GPIO_PORTD(25)
322 #define JZ_GPIO_PWM3                    JZ_GPIO_PORTD(26)
323 #define JZ_GPIO_PWM4                    JZ_GPIO_PORTD(27)
324 #define JZ_GPIO_PWM5                    JZ_GPIO_PORTD(28)
325 #define JZ_GPIO_PWM6                    JZ_GPIO_PORTD(30)
326 #define JZ_GPIO_PWM7                    JZ_GPIO_PORTD(31)
327
328 #define JZ_GPIO_FUNC_CIM_DATA           JZ_GPIO_FUNC1
329 #define JZ_GPIO_FUNC_CIM_DATA0          JZ_GPIO_FUNC_CIM_DATA
330 #define JZ_GPIO_FUNC_CIM_DATA1          JZ_GPIO_FUNC_CIM_DATA
331 #define JZ_GPIO_FUNC_CIM_DATA2          JZ_GPIO_FUNC_CIM_DATA
332 #define JZ_GPIO_FUNC_CIM_DATA3          JZ_GPIO_FUNC_CIM_DATA
333 #define JZ_GPIO_FUNC_CIM_DATA4          JZ_GPIO_FUNC_CIM_DATA
334 #define JZ_GPIO_FUNC_CIM_DATA5          JZ_GPIO_FUNC_CIM_DATA
335 #define JZ_GPIO_FUNC_CIM_DATA6          JZ_GPIO_FUNC_CIM_DATA
336 #define JZ_GPIO_FUNC_CIM_DATA7          JZ_GPIO_FUNC_CIM_DATA
337 #define JZ_GPIO_FUNC_MSC_CMD            JZ_GPIO_FUNC1
338 #define JZ_GPIO_FUNC_MSC_CLK            JZ_GPIO_FUNC1
339 #define JZ_GPIO_FUNC_MSC_DATA           JZ_GPIO_FUNC1
340 #define JZ_GPIO_FUNC_MSC_DATA0          JZ_GPIO_FUNC_MSC_DATA
341 #define JZ_GPIO_FUNC_MSC_DATA1          JZ_GPIO_FUNC_MSC_DATA
342 #define JZ_GPIO_FUNC_MSC_DATA2          JZ_GPIO_FUNC_MSC_DATA
343 #define JZ_GPIO_FUNC_MSC_DATA3          JZ_GPIO_FUNC_MSC_DATA
344 #define JZ_GPIO_FUNC_CIM_MCLK           JZ_GPIO_FUNC1
345 #define JZ_GPIO_FUNC_CIM_PCLK           JZ_GPIO_FUNC1
346 #define JZ_GPIO_FUNC_CIM_VSYNC          JZ_GPIO_FUNC1
347 #define JZ_GPIO_FUNC_CIM_HSYNC          JZ_GPIO_FUNC1
348 #define JZ_GPIO_FUNC_SPI_CLK            JZ_GPIO_FUNC1
349 #define JZ_GPIO_FUNC_SPI_CE0            JZ_GPIO_FUNC1
350 #define JZ_GPIO_FUNC_SPI_DT             JZ_GPIO_FUNC1
351 #define JZ_GPIO_FUNC_SPI_DR             JZ_GPIO_FUNC1
352 #define JZ_GPIO_FUNC_SPI_CE1            JZ_GPIO_FUNC1
353
354 #define JZ_GPIO_FUNC_PWM                JZ_GPIO_FUNC1
355 #define JZ_GPIO_FUNC_PWM0               JZ_GPIO_FUNC_PWM
356 #define JZ_GPIO_FUNC_PWM1               JZ_GPIO_FUNC_PWM
357 #define JZ_GPIO_FUNC_PWM2               JZ_GPIO_FUNC_PWM
358 #define JZ_GPIO_FUNC_PWM3               JZ_GPIO_FUNC_PWM
359 #define JZ_GPIO_FUNC_PWM4               JZ_GPIO_FUNC_PWM
360 #define JZ_GPIO_FUNC_PWM5               JZ_GPIO_FUNC_PWM
361 #define JZ_GPIO_FUNC_PWM6               JZ_GPIO_FUNC_PWM
362 #define JZ_GPIO_FUNC_PWM7               JZ_GPIO_FUNC_PWM
363
364 #define JZ_GPIO_MEM_SCLK_RSTN           JZ_GPIO_PORTD(18)
365 #define JZ_GPIO_MEM_BCLK                JZ_GPIO_PORTD(19)
366 #define JZ_GPIO_MEM_SDATO               JZ_GPIO_PORTD(20)
367 #define JZ_GPIO_MEM_SDATI               JZ_GPIO_PORTD(21)
368 #define JZ_GPIO_MEM_SYNC                JZ_GPIO_PORTD(22)
369 #define JZ_GPIO_I2C_SDA                 JZ_GPIO_PORTD(23)
370 #define JZ_GPIO_I2C_SCK                 JZ_GPIO_PORTD(24)
371 #define JZ_GPIO_UART0_TXD               JZ_GPIO_PORTD(25)
372 #define JZ_GPIO_UART0_RXD               JZ_GPIO_PORTD(26)
373 #define JZ_GPIO_MEM_ADDR17              JZ_GPIO_PORTD(27)
374 #define JZ_GPIO_MEM_ADDR18              JZ_GPIO_PORTD(28)
375 #define JZ_GPIO_UART0_CTS               JZ_GPIO_PORTD(30)
376 #define JZ_GPIO_UART0_RTS               JZ_GPIO_PORTD(31)
377
378 #define JZ_GPIO_FUNC_MEM_SCLK_RSTN      JZ_GPIO_FUNC2
379 #define JZ_GPIO_FUNC_MEM_BCLK           JZ_GPIO_FUNC2
380 #define JZ_GPIO_FUNC_MEM_SDATO          JZ_GPIO_FUNC2
381 #define JZ_GPIO_FUNC_MEM_SDATI          JZ_GPIO_FUNC2
382 #define JZ_GPIO_FUNC_MEM_SYNC           JZ_GPIO_FUNC2
383 #define JZ_GPIO_FUNC_I2C_SDA            JZ_GPIO_FUNC2
384 #define JZ_GPIO_FUNC_I2C_SCK            JZ_GPIO_FUNC2
385 #define JZ_GPIO_FUNC_UART0_TXD          JZ_GPIO_FUNC2
386 #define JZ_GPIO_FUNC_UART0_RXD          JZ_GPIO_FUNC2
387 #define JZ_GPIO_FUNC_MEM_ADDR17         JZ_GPIO_FUNC2
388 #define JZ_GPIO_FUNC_MEM_ADDR18         JZ_GPIO_FUNC2
389 #define JZ_GPIO_FUNC_UART0_CTS          JZ_GPIO_FUNC2
390 #define JZ_GPIO_FUNC_UART0_RTS          JZ_GPIO_FUNC2
391
392 #define JZ_GPIO_UART1_RXD               JZ_GPIO_PORTD(30)
393 #define JZ_GPIO_UART1_TXD               JZ_GPIO_PORTD(31)
394
395 #define JZ_GPIO_FUNC_UART1_RXD          JZ_GPIO_FUNC3
396 #define JZ_GPIO_FUNC_UART1_TXD          JZ_GPIO_FUNC3
397
398 #endif