xref: /openbmc/u-boot/arch/m68k/include/asm/m5329.h (revision 441cac10)
1 /*
2  * mcf5329.h -- Definitions for Freescale Coldfire 5329
3  *
4  * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
5  * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
6  *
7  * See file CREDITS for list of people who contributed to this
8  * project.
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License as
12  * published by the Free Software Foundation; either version 2 of
13  * the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23  * MA 02111-1307 USA
24  */
25 
26 #ifndef mcf5329_h
27 #define mcf5329_h
28 /****************************************************************************/
29 
30 /*********************************************************************
31 * System Control Module (SCM)
32 *********************************************************************/
33 /* Bit definitions and macros for SCM_MPR */
34 #define SCM_MPR_MPROT0(x)		(((x)&0x0F)<<28)
35 #define SCM_MPR_MPROT1(x)		(((x)&0x0F)<<24)
36 #define SCM_MPR_MPROT2(x)		(((x)&0x0F)<<20)
37 #define SCM_MPR_MPROT4(x)		(((x)&0x0F)<<12)
38 #define SCM_MPR_MPROT5(x)		(((x)&0x0F)<<8)
39 #define SCM_MPR_MPROT6(x)		(((x)&0x0F)<<4)
40 #define MPROT_MTR			4
41 #define MPROT_MTW			2
42 #define MPROT_MPL			1
43 
44 /* Bit definitions and macros for SCM_BMT */
45 #define BMT_BME				(0x08)
46 #define BMT_8				(0x07)
47 #define BMT_16				(0x06)
48 #define BMT_32				(0x05)
49 #define BMT_64				(0x04)
50 #define BMT_128				(0x03)
51 #define BMT_256				(0x02)
52 #define BMT_512				(0x01)
53 #define BMT_1024			(0x00)
54 
55 /* Bit definitions and macros for SCM_PACRA */
56 #define SCM_PACRA_PACR0(x)		(((x)&0x0F)<<28)
57 #define SCM_PACRA_PACR1(x)		(((x)&0x0F)<<24)
58 #define SCM_PACRA_PACR2(x)		(((x)&0x0F)<<20)
59 #define PACR_SP	4
60 #define PACR_WP	2
61 #define PACR_TP	1
62 
63 /* Bit definitions and macros for SCM_PACRB */
64 #define SCM_PACRB_PACR8(x)		(((x)&0x0F)<<28)
65 #define SCM_PACRB_PACR12(x)		(((x)&0x0F)<<12)
66 
67 /* Bit definitions and macros for SCM_PACRC */
68 #define SCM_PACRC_PACR16(x)		(((x)&0x0F)<<28)
69 #define SCM_PACRC_PACR17(x)		(((x)&0x0F)<<24)
70 #define SCM_PACRC_PACR18(x)		(((x)&0x0F)<<20)
71 #define SCM_PACRC_PACR19(x)		(((x)&0x0F)<<16)
72 #define SCM_PACRC_PACR21(x)		(((x)&0x0F)<<8)
73 #define SCM_PACRC_PACR22(x)		(((x)&0x0F)<<4)
74 #define SCM_PACRC_PACR23(x)		(((x)&0x0F)<<0)
75 
76 /* Bit definitions and macros for SCM_PACRD */
77 #define SCM_PACRD_PACR24(x)		(((x)&0x0F)<<28)
78 #define SCM_PACRD_PACR25(x)		(((x)&0x0F)<<24)
79 #define SCM_PACRD_PACR26(x)		(((x)&0x0F)<<20)
80 #define SCM_PACRD_PACR28(x)		(((x)&0x0F)<<12)
81 #define SCM_PACRD_PACR29(x)		(((x)&0x0F)<<8)
82 #define SCM_PACRD_PACR30(x)		(((x)&0x0F)<<4)
83 #define SCM_PACRD_PACR31(x)		(((x)&0x0F)<<0)
84 
85 /* Bit definitions and macros for SCM_PACRE */
86 #define SCM_PACRE_PACR32(x)		(((x)&0x0F)<<28)
87 #define SCM_PACRE_PACR33(x)		(((x)&0x0F)<<24)
88 #define SCM_PACRE_PACR34(x)		(((x)&0x0F)<<20)
89 #define SCM_PACRE_PACR35(x)		(((x)&0x0F)<<16)
90 #define SCM_PACRE_PACR36(x)		(((x)&0x0F)<<12)
91 #define SCM_PACRE_PACR37(x)		(((x)&0x0F)<<8)
92 #define SCM_PACRE_PACR38(x)		(((x)&0x0F)<<4)
93 
94 /* Bit definitions and macros for SCM_PACRF */
95 #define SCM_PACRF_PACR40(x)		(((x)&0x0F)<<28)
96 #define SCM_PACRF_PACR41(x)		(((x)&0x0F)<<24)
97 #define SCM_PACRF_PACR42(x)		(((x)&0x0F)<<20)
98 #define SCM_PACRF_PACR43(x)		(((x)&0x0F)<<16)
99 #define SCM_PACRF_PACR44(x)		(((x)&0x0F)<<12)
100 #define SCM_PACRF_PACR45(x)		(((x)&0x0F)<<8)
101 #define SCM_PACRF_PACR46(x)		(((x)&0x0F)<<4)
102 #define SCM_PACRF_PACR47(x)		(((x)&0x0F)<<0)
103 
104 /* Bit definitions and macros for SCM_PACRG */
105 #define SCM_PACRG_PACR48(x)		(((x)&0x0F)<<28)
106 
107 /* Bit definitions and macros for SCM_PACRH */
108 #define SCM_PACRH_PACR56(x)		(((x)&0x0F)<<28)
109 #define SCM_PACRH_PACR57(x)		(((x)&0x0F)<<24)
110 #define SCM_PACRH_PACR58(x)		(((x)&0x0F)<<20)
111 
112 /* PACRn Assignments */
113 #define PACR0(x)			SCM_PACRA_PACR0(x)
114 #define PACR1(x)			SCM_PACRA_PACR1(x)
115 #define PACR2(x)			SCM_PACRA_PACR2(x)
116 #define PACR8(x)			SCM_PACRB_PACR8(x)
117 #define PACR12(x)			SCM_PACRB_PACR12(x)
118 #define PACR16(x)			SCM_PACRC_PACR16(x)
119 #define PACR17(x)			SCM_PACRC_PACR17(x)
120 #define PACR18(x)			SCM_PACRC_PACR18(x)
121 #define PACR19(x)			SCM_PACRC_PACR19(x)
122 #define PACR21(x)			SCM_PACRC_PACR21(x)
123 #define PACR22(x)			SCM_PACRC_PACR22(x)
124 #define PACR23(x)			SCM_PACRC_PACR23(x)
125 #define PACR24(x)			SCM_PACRD_PACR24(x)
126 #define PACR25(x)			SCM_PACRD_PACR25(x)
127 #define PACR26(x)			SCM_PACRD_PACR26(x)
128 #define PACR28(x)			SCM_PACRD_PACR28(x)
129 #define PACR29(x)			SCM_PACRD_PACR29(x)
130 #define PACR30(x)			SCM_PACRD_PACR30(x)
131 #define PACR31(x)			SCM_PACRD_PACR31(x)
132 #define PACR32(x)			SCM_PACRE_PACR32(x)
133 #define PACR33(x)			SCM_PACRE_PACR33(x)
134 #define PACR34(x)			SCM_PACRE_PACR34(x)
135 #define PACR35(x)			SCM_PACRE_PACR35(x)
136 #define PACR36(x)			SCM_PACRE_PACR36(x)
137 #define PACR37(x)			SCM_PACRE_PACR37(x)
138 #define PACR38(x)			SCM_PACRE_PACR38(x)
139 #define PACR40(x)			SCM_PACRF_PACR40(x)
140 #define PACR41(x)			SCM_PACRF_PACR41(x)
141 #define PACR42(x)			SCM_PACRF_PACR42(x)
142 #define PACR43(x)			SCM_PACRF_PACR43(x)
143 #define PACR44(x)			SCM_PACRF_PACR44(x)
144 #define PACR45(x)			SCM_PACRF_PACR45(x)
145 #define PACR46(x)			SCM_PACRF_PACR46(x)
146 #define PACR47(x)			SCM_PACRF_PACR47(x)
147 #define PACR48(x)			SCM_PACRG_PACR48(x)
148 #define PACR56(x)			SCM_PACRH_PACR56(x)
149 #define PACR57(x)			SCM_PACRH_PACR57(x)
150 #define PACR58(x)			SCM_PACRH_PACR58(x)
151 
152 /* Bit definitions and macros for SCM_CWCR */
153 #define CWCR_RO				(0x8000)
154 #define CWCR_CWR_WH			(0x0100)
155 #define CWCR_CWE			(0x0080)
156 #define CWRI_WINDOW			(0x0060)
157 #define CWRI_RESET			(0x0040)
158 #define CWRI_INT_RESET			(0x0020)
159 #define CWRI_INT			(0x0000)
160 #define CWCR_CWT(x)			(((x)&0x001F))
161 
162 /* Bit definitions and macros for SCM_ISR */
163 #define SCMISR_CFEI			(0x02)
164 #define SCMISR_CWIC			(0x01)
165 
166 /* Bit definitions and macros for SCM_BCR */
167 #define BCR_GBR				(0x00000200)
168 #define BCR_GBW				(0x00000100)
169 #define BCR_S7				(0x00000080)
170 #define BCR_S6				(0x00000040)
171 #define BCR_S4				(0x00000010)
172 #define BCR_S1				(0x00000002)
173 
174 /* Bit definitions and macros for SCM_CFIER */
175 #define CFIER_ECFEI			(0x01)
176 
177 /* Bit definitions and macros for SCM_CFLOC */
178 #define CFLOC_LOC			(0x80)
179 
180 /* Bit definitions and macros for SCM_CFATR */
181 #define CFATR_WRITE			(0x80)
182 #define CFATR_SZ32			(0x20)
183 #define CFATR_SZ16			(0x10)
184 #define CFATR_SZ08			(0x00)
185 #define CFATR_CACHE			(0x08)
186 #define CFATR_MODE			(0x02)
187 #define CFATR_TYPE			(0x01)
188 
189 /*********************************************************************
190 * Reset Controller Module (RCM)
191 *********************************************************************/
192 
193 /* Bit definitions and macros for RCR */
194 #define RCM_RCR_FRCRSTOUT		(0x40)
195 #define RCM_RCR_SOFTRST			(0x80)
196 
197 /* Bit definitions and macros for RSR */
198 #define RCM_RSR_LOL			(0x01)
199 #define RCM_RSR_WDR_CORE		(0x02)
200 #define RCM_RSR_EXT			(0x04)
201 #define RCM_RSR_POR			(0x08)
202 #define RCM_RSR_SOFT			(0x20)
203 
204 /*********************************************************************
205 * Interrupt Controller (INTC)
206 *********************************************************************/
207 #define INTC0_EPORT			INTC_IPRL_INT1
208 
209 #define INT0_LO_RSVD0			(0)
210 #define INT0_LO_EPORT1			(1)
211 #define INT0_LO_EPORT2			(2)
212 #define INT0_LO_EPORT3			(3)
213 #define INT0_LO_EPORT4			(4)
214 #define INT0_LO_EPORT5			(5)
215 #define INT0_LO_EPORT6			(6)
216 #define INT0_LO_EPORT7			(7)
217 #define INT0_LO_EDMA_00			(8)
218 #define INT0_LO_EDMA_01			(9)
219 #define INT0_LO_EDMA_02			(10)
220 #define INT0_LO_EDMA_03			(11)
221 #define INT0_LO_EDMA_04			(12)
222 #define INT0_LO_EDMA_05			(13)
223 #define INT0_LO_EDMA_06			(14)
224 #define INT0_LO_EDMA_07			(15)
225 #define INT0_LO_EDMA_08			(16)
226 #define INT0_LO_EDMA_09			(17)
227 #define INT0_LO_EDMA_10			(18)
228 #define INT0_LO_EDMA_11			(19)
229 #define INT0_LO_EDMA_12			(20)
230 #define INT0_LO_EDMA_13			(21)
231 #define INT0_LO_EDMA_14			(22)
232 #define INT0_LO_EDMA_15			(23)
233 #define INT0_LO_EDMA_ERR		(24)
234 #define INT0_LO_SCM			(25)
235 #define INT0_LO_UART0			(26)
236 #define INT0_LO_UART1			(27)
237 #define INT0_LO_UART2			(28)
238 #define INT0_LO_RSVD1			(29)
239 #define INT0_LO_I2C			(30)
240 #define INT0_LO_QSPI			(31)
241 #define INT0_HI_DTMR0			(32)
242 #define INT0_HI_DTMR1			(33)
243 #define INT0_HI_DTMR2			(34)
244 #define INT0_HI_DTMR3			(35)
245 #define INT0_HI_FEC_TXF			(36)
246 #define INT0_HI_FEC_TXB			(37)
247 #define INT0_HI_FEC_UN			(38)
248 #define INT0_HI_FEC_RL			(39)
249 #define INT0_HI_FEC_RXF			(40)
250 #define INT0_HI_FEC_RXB			(41)
251 #define INT0_HI_FEC_MII			(42)
252 #define INT0_HI_FEC_LC			(43)
253 #define INT0_HI_FEC_HBERR		(44)
254 #define INT0_HI_FEC_GRA			(45)
255 #define INT0_HI_FEC_EBERR		(46)
256 #define INT0_HI_FEC_BABT		(47)
257 #define INT0_HI_FEC_BABR		(48)
258 /* 49 - 61 Reserved */
259 #define INT0_HI_SCM			(62)
260 
261 /*********************************************************************
262 * Watchdog Timer Modules (WTM)
263 *********************************************************************/
264 /* Bit definitions and macros for WTM_WCR */
265 #define WTM_WCR_WAIT			(0x0008)
266 #define WTM_WCR_DOZE			(0x0004)
267 #define WTM_WCR_HALTED			(0x0002)
268 #define WTM_WCR_EN			(0x0001)
269 
270 /*********************************************************************
271 * Chip Configuration Module (CCM)
272 *********************************************************************/
273 /* Bit definitions and macros for CCM_CCR */
274 #define CCM_CCR_CSC(x)			(((x)&0x0003)<<8|0x0001)
275 #define CCM_CCR_LIMP			(0x0041)
276 #define CCM_CCR_LOAD			(0x0021)
277 #define CCM_CCR_BOOTPS(x)		(((x)&0x0003)<<3|0x0001)
278 #define CCM_CCR_OSC_MODE		(0x0005)
279 #define CCM_CCR_PLL_MODE		(0x0003)
280 #define CCM_CCR_RESERVED		(0x0001)
281 
282 /* Bit definitions and macros for CCM_RCON */
283 #define CCM_RCON_CSC(x)			(((x)&0x0003)<<8|0x0001)
284 #define CCM_RCON_LIMP			(0x0041)
285 #define CCM_RCON_LOAD			(0x0021)
286 #define CCM_RCON_BOOTPS(x)		(((x)&0x0003)<<3|0x0001)
287 #define CCM_RCON_OSC_MODE		(0x0005)
288 #define CCM_RCON_PLL_MODE		(0x0003)
289 #define CCM_RCON_RESERVED		(0x0001)
290 
291 /* Bit definitions and macros for CCM_CIR */
292 #define CCM_CIR_PIN(x)			(((x)&0x03FF)<<6)
293 #define CCM_CIR_PRN(x)			((x)&0x003F)
294 
295 /* Bit definitions and macros for CCM_MISCCR */
296 #define CCM_MISCCR_PLL_LOCK		(0x2000)
297 #define CCM_MISCCR_LIMP			(0x1000)
298 #define CCM_MISCCR_LCD_CHEN		(0x0100)
299 #define CCM_MISCCR_SSI_PUE		(0x0080)
300 #define CCM_MISCCR_SSI_PUS		(0x0040)
301 #define CCM_MISCCR_TIM_DMA		(0x0020)
302 #define CCM_MISCCR_SSI_SRC		(0x0010)
303 #define CCM_MISCCR_USBDIV		(0x0002)
304 #define CCM_MISCCR_USBSRC		(0x0001)
305 
306 /* Bit definitions and macros for CCM_CDR */
307 #define CCM_CDR_LPDIV(x)		(((x)&0x000F)<<8)
308 #define CCM_CDR_SSIDIV(x)		((x)&0x000F)
309 
310 /* Bit definitions and macros for CCM_UHCSR */
311 #define CCM_UHCSR_PORTIND(x)		(((x)&0x0003)<<14)
312 #define CCM_UHCSR_WKUP			(0x0004)
313 #define CCM_UHCSR_UHMIE			(0x0002)
314 #define CCM_UHCSR_XPDE			(0x0001)
315 
316 /* Bit definitions and macros for CCM_UOCSR */
317 #define CCM_UOCSR_PORTIND(x)		(((x)&0x0003)<<14)
318 #define CCM_UOCSR_DPPD			(0x2000)
319 #define CCM_UOCSR_DMPD			(0x1000)
320 #define CCM_UOCSR_DRV_VBUS		(0x0800)
321 #define CCM_UOCSR_CRG_VBUS		(0x0400)
322 #define CCM_UOCSR_DCR_VBUS		(0x0200)
323 #define CCM_UOCSR_DPPU			(0x0100)
324 #define CCM_UOCSR_AVLD			(0x0080)
325 #define CCM_UOCSR_BVLD			(0x0040)
326 #define CCM_UOCSR_VVLD			(0x0020)
327 #define CCM_UOCSR_SEND			(0x0010)
328 #define CCM_UOCSR_PWRFLT		(0x0008)
329 #define CCM_UOCSR_WKUP			(0x0004)
330 #define CCM_UOCSR_UOMIE			(0x0002)
331 #define CCM_UOCSR_XPDE			(0x0001)
332 
333 /* not done yet */
334 /*********************************************************************
335 * General Purpose I/O (GPIO)
336 *********************************************************************/
337 /* Bit definitions and macros for GPIO_PODR_FECH_L */
338 #define GPIO_PODR_FECH_L7		(0x80)
339 #define GPIO_PODR_FECH_L6		(0x40)
340 #define GPIO_PODR_FECH_L5		(0x20)
341 #define GPIO_PODR_FECH_L4		(0x10)
342 #define GPIO_PODR_FECH_L3		(0x08)
343 #define GPIO_PODR_FECH_L2		(0x04)
344 #define GPIO_PODR_FECH_L1		(0x02)
345 #define GPIO_PODR_FECH_L0		(0x01)
346 
347 /* Bit definitions and macros for GPIO_PODR_SSI */
348 #define GPIO_PODR_SSI_4			(0x10)
349 #define GPIO_PODR_SSI_3			(0x08)
350 #define GPIO_PODR_SSI_2			(0x04)
351 #define GPIO_PODR_SSI_1			(0x02)
352 #define GPIO_PODR_SSI_0			(0x01)
353 
354 /* Bit definitions and macros for GPIO_PODR_BUSCTL */
355 #define GPIO_PODR_BUSCTL_3		(0x08)
356 #define GPIO_PODR_BUSCTL_2		(0x04)
357 #define GPIO_PODR_BUSCTL_1		(0x02)
358 #define GPIO_PODR_BUSCTL_0		(0x01)
359 
360 /* Bit definitions and macros for GPIO_PODR_BE */
361 #define GPIO_PODR_BE_3			(0x08)
362 #define GPIO_PODR_BE_2			(0x04)
363 #define GPIO_PODR_BE_1			(0x02)
364 #define GPIO_PODR_BE_0			(0x01)
365 
366 /* Bit definitions and macros for GPIO_PODR_CS */
367 #define GPIO_PODR_CS_5			(0x20)
368 #define GPIO_PODR_CS_4			(0x10)
369 #define GPIO_PODR_CS_3			(0x08)
370 #define GPIO_PODR_CS_2			(0x04)
371 #define GPIO_PODR_CS_1			(0x02)
372 
373 /* Bit definitions and macros for GPIO_PODR_PWM */
374 #define GPIO_PODR_PWM_5			(0x20)
375 #define GPIO_PODR_PWM_4			(0x10)
376 #define GPIO_PODR_PWM_3			(0x08)
377 #define GPIO_PODR_PWM_2			(0x04)
378 
379 /* Bit definitions and macros for GPIO_PODR_FECI2C */
380 #define GPIO_PODR_FECI2C_3		(0x08)
381 #define GPIO_PODR_FECI2C_2		(0x04)
382 #define GPIO_PODR_FECI2C_1		(0x02)
383 #define GPIO_PODR_FECI2C_0		(0x01)
384 
385 /* Bit definitions and macros for GPIO_PODR_UART */
386 #define GPIO_PODR_UART_7		(0x80)
387 #define GPIO_PODR_UART_6		(0x40)
388 #define GPIO_PODR_UART_5		(0x20)
389 #define GPIO_PODR_UART_4		(0x10)
390 #define GPIO_PODR_UART_3		(0x08)
391 #define GPIO_PODR_UART_2		(0x04)
392 #define GPIO_PODR_UART_1		(0x02)
393 #define GPIO_PODR_UART_0		(0x01)
394 
395 /* Bit definitions and macros for GPIO_PODR_QSPI */
396 #define GPIO_PODR_QSPI_5		(0x20)
397 #define GPIO_PODR_QSPI_4		(0x10)
398 #define GPIO_PODR_QSPI_3		(0x08)
399 #define GPIO_PODR_QSPI_2		(0x04)
400 #define GPIO_PODR_QSPI_1		(0x02)
401 #define GPIO_PODR_QSPI_0		(0x01)
402 
403 /* Bit definitions and macros for GPIO_PODR_TIMER */
404 #define GPIO_PODR_TIMER_3		(0x08)
405 #define GPIO_PODR_TIMER_2		(0x04)
406 #define GPIO_PODR_TIMER_1		(0x02)
407 #define GPIO_PODR_TIMER_0		(0x01)
408 
409 /* Bit definitions and macros for GPIO_PODR_LCDDATAH */
410 #define GPIO_PODR_LCDDATAH_1		(0x02)
411 #define GPIO_PODR_LCDDATAH_0		(0x01)
412 
413 /* Bit definitions and macros for GPIO_PODR_LCDDATAM */
414 #define GPIO_PODR_LCDDATAM_7		(0x80)
415 #define GPIO_PODR_LCDDATAM_6		(0x40)
416 #define GPIO_PODR_LCDDATAM_5		(0x20)
417 #define GPIO_PODR_LCDDATAM_4		(0x10)
418 #define GPIO_PODR_LCDDATAM_3		(0x08)
419 #define GPIO_PODR_LCDDATAM_2		(0x04)
420 #define GPIO_PODR_LCDDATAM_1		(0x02)
421 #define GPIO_PODR_LCDDATAM_0		(0x01)
422 
423 /* Bit definitions and macros for GPIO_PODR_LCDDATAL */
424 #define GPIO_PODR_LCDDATAL_7		(0x80)
425 #define GPIO_PODR_LCDDATAL_6		(0x40)
426 #define GPIO_PODR_LCDDATAL_5		(0x20)
427 #define GPIO_PODR_LCDDATAL_4		(0x10)
428 #define GPIO_PODR_LCDDATAL_3		(0x08)
429 #define GPIO_PODR_LCDDATAL_2		(0x04)
430 #define GPIO_PODR_LCDDATAL_1		(0x02)
431 #define GPIO_PODR_LCDDATAL_0		(0x01)
432 
433 /* Bit definitions and macros for GPIO_PODR_LCDCTLH */
434 #define GPIO_PODR_LCDCTLH_0		(0x01)
435 
436 /* Bit definitions and macros for GPIO_PODR_LCDCTLL */
437 #define GPIO_PODR_LCDCTLL_7		(0x80)
438 #define GPIO_PODR_LCDCTLL_6		(0x40)
439 #define GPIO_PODR_LCDCTLL_5		(0x20)
440 #define GPIO_PODR_LCDCTLL_4		(0x10)
441 #define GPIO_PODR_LCDCTLL_3		(0x08)
442 #define GPIO_PODR_LCDCTLL_2		(0x04)
443 #define GPIO_PODR_LCDCTLL_1		(0x02)
444 #define GPIO_PODR_LCDCTLL_0		(0x01)
445 
446 /* Bit definitions and macros for GPIO_PDDR_FECH */
447 #define GPIO_PDDR_FECH_L7		(0x80)
448 #define GPIO_PDDR_FECH_L6		(0x40)
449 #define GPIO_PDDR_FECH_L5		(0x20)
450 #define GPIO_PDDR_FECH_L4		(0x10)
451 #define GPIO_PDDR_FECH_L3		(0x08)
452 #define GPIO_PDDR_FECH_L2		(0x04)
453 #define GPIO_PDDR_FECH_L1		(0x02)
454 #define GPIO_PDDR_FECH_L0		(0x01)
455 
456 /* Bit definitions and macros for GPIO_PDDR_SSI */
457 #define GPIO_PDDR_SSI_4			(0x10)
458 #define GPIO_PDDR_SSI_3			(0x08)
459 #define GPIO_PDDR_SSI_2			(0x04)
460 #define GPIO_PDDR_SSI_1			(0x02)
461 #define GPIO_PDDR_SSI_0			(0x01)
462 
463 /* Bit definitions and macros for GPIO_PDDR_BUSCTL */
464 #define GPIO_PDDR_BUSCTL_3		(0x08)
465 #define GPIO_PDDR_BUSCTL_2		(0x04)
466 #define GPIO_PDDR_BUSCTL_1		(0x02)
467 #define GPIO_PDDR_BUSCTL_0		(0x01)
468 
469 /* Bit definitions and macros for GPIO_PDDR_BE */
470 #define GPIO_PDDR_BE_3			(0x08)
471 #define GPIO_PDDR_BE_2			(0x04)
472 #define GPIO_PDDR_BE_1			(0x02)
473 #define GPIO_PDDR_BE_0			(0x01)
474 
475 /* Bit definitions and macros for GPIO_PDDR_CS */
476 #define GPIO_PDDR_CS_1			(0x02)
477 #define GPIO_PDDR_CS_2			(0x04)
478 #define GPIO_PDDR_CS_3			(0x08)
479 #define GPIO_PDDR_CS_4			(0x10)
480 #define GPIO_PDDR_CS_5			(0x20)
481 
482 /* Bit definitions and macros for GPIO_PDDR_PWM */
483 #define GPIO_PDDR_PWM_2			(0x04)
484 #define GPIO_PDDR_PWM_3			(0x08)
485 #define GPIO_PDDR_PWM_4			(0x10)
486 #define GPIO_PDDR_PWM_5			(0x20)
487 
488 /* Bit definitions and macros for GPIO_PDDR_FECI2C */
489 #define GPIO_PDDR_FECI2C_0		(0x01)
490 #define GPIO_PDDR_FECI2C_1		(0x02)
491 #define GPIO_PDDR_FECI2C_2		(0x04)
492 #define GPIO_PDDR_FECI2C_3		(0x08)
493 
494 /* Bit definitions and macros for GPIO_PDDR_UART */
495 #define GPIO_PDDR_UART_0		(0x01)
496 #define GPIO_PDDR_UART_1		(0x02)
497 #define GPIO_PDDR_UART_2		(0x04)
498 #define GPIO_PDDR_UART_3		(0x08)
499 #define GPIO_PDDR_UART_4		(0x10)
500 #define GPIO_PDDR_UART_5		(0x20)
501 #define GPIO_PDDR_UART_6		(0x40)
502 #define GPIO_PDDR_UART_7		(0x80)
503 
504 /* Bit definitions and macros for GPIO_PDDR_QSPI */
505 #define GPIO_PDDR_QSPI_0		(0x01)
506 #define GPIO_PDDR_QSPI_1		(0x02)
507 #define GPIO_PDDR_QSPI_2		(0x04)
508 #define GPIO_PDDR_QSPI_3		(0x08)
509 #define GPIO_PDDR_QSPI_4		(0x10)
510 #define GPIO_PDDR_QSPI_5		(0x20)
511 
512 /* Bit definitions and macros for GPIO_PDDR_TIMER */
513 #define GPIO_PDDR_TIMER_0		(0x01)
514 #define GPIO_PDDR_TIMER_1		(0x02)
515 #define GPIO_PDDR_TIMER_2		(0x04)
516 #define GPIO_PDDR_TIMER_3		(0x08)
517 
518 /* Bit definitions and macros for GPIO_PDDR_LCDDATAH */
519 #define GPIO_PDDR_LCDDATAH_0		(0x01)
520 #define GPIO_PDDR_LCDDATAH_1		(0x02)
521 
522 /* Bit definitions and macros for GPIO_PDDR_LCDDATAM */
523 #define GPIO_PDDR_LCDDATAM_0		(0x01)
524 #define GPIO_PDDR_LCDDATAM_1		(0x02)
525 #define GPIO_PDDR_LCDDATAM_2		(0x04)
526 #define GPIO_PDDR_LCDDATAM_3		(0x08)
527 #define GPIO_PDDR_LCDDATAM_4		(0x10)
528 #define GPIO_PDDR_LCDDATAM_5		(0x20)
529 #define GPIO_PDDR_LCDDATAM_6		(0x40)
530 #define GPIO_PDDR_LCDDATAM_7		(0x80)
531 
532 /* Bit definitions and macros for GPIO_PDDR_LCDDATAL */
533 #define GPIO_PDDR_LCDDATAL_0		(0x01)
534 #define GPIO_PDDR_LCDDATAL_1		(0x02)
535 #define GPIO_PDDR_LCDDATAL_2		(0x04)
536 #define GPIO_PDDR_LCDDATAL_3		(0x08)
537 #define GPIO_PDDR_LCDDATAL_4		(0x10)
538 #define GPIO_PDDR_LCDDATAL_5		(0x20)
539 #define GPIO_PDDR_LCDDATAL_6		(0x40)
540 #define GPIO_PDDR_LCDDATAL_7		(0x80)
541 
542 /* Bit definitions and macros for GPIO_PDDR_LCDCTLH */
543 #define GPIO_PDDR_LCDCTLH_0		(0x01)
544 
545 /* Bit definitions and macros for GPIO_PDDR_LCDCTLL */
546 #define GPIO_PDDR_LCDCTLL_0		(0x01)
547 #define GPIO_PDDR_LCDCTLL_1		(0x02)
548 #define GPIO_PDDR_LCDCTLL_2		(0x04)
549 #define GPIO_PDDR_LCDCTLL_3		(0x08)
550 #define GPIO_PDDR_LCDCTLL_4		(0x10)
551 #define GPIO_PDDR_LCDCTLL_5		(0x20)
552 #define GPIO_PDDR_LCDCTLL_6		(0x40)
553 #define GPIO_PDDR_LCDCTLL_7		(0x80)
554 
555 /* Bit definitions and macros for GPIO_PPDSDR_FECH */
556 #define GPIO_PPDSDR_FECH_L0		(0x01)
557 #define GPIO_PPDSDR_FECH_L1		(0x02)
558 #define GPIO_PPDSDR_FECH_L2		(0x04)
559 #define GPIO_PPDSDR_FECH_L3		(0x08)
560 #define GPIO_PPDSDR_FECH_L4		(0x10)
561 #define GPIO_PPDSDR_FECH_L5		(0x20)
562 #define GPIO_PPDSDR_FECH_L6		(0x40)
563 #define GPIO_PPDSDR_FECH_L7		(0x80)
564 
565 /* Bit definitions and macros for GPIO_PPDSDR_SSI */
566 #define GPIO_PPDSDR_SSI_0		(0x01)
567 #define GPIO_PPDSDR_SSI_1		(0x02)
568 #define GPIO_PPDSDR_SSI_2		(0x04)
569 #define GPIO_PPDSDR_SSI_3		(0x08)
570 #define GPIO_PPDSDR_SSI_4		(0x10)
571 
572 /* Bit definitions and macros for GPIO_PPDSDR_BUSCTL */
573 #define GPIO_PPDSDR_BUSCTL_0		(0x01)
574 #define GPIO_PPDSDR_BUSCTL_1		(0x02)
575 #define GPIO_PPDSDR_BUSCTL_2		(0x04)
576 #define GPIO_PPDSDR_BUSCTL_3		(0x08)
577 
578 /* Bit definitions and macros for GPIO_PPDSDR_BE */
579 #define GPIO_PPDSDR_BE_0		(0x01)
580 #define GPIO_PPDSDR_BE_1		(0x02)
581 #define GPIO_PPDSDR_BE_2		(0x04)
582 #define GPIO_PPDSDR_BE_3		(0x08)
583 
584 /* Bit definitions and macros for GPIO_PPDSDR_CS */
585 #define GPIO_PPDSDR_CS_1		(0x02)
586 #define GPIO_PPDSDR_CS_2		(0x04)
587 #define GPIO_PPDSDR_CS_3		(0x08)
588 #define GPIO_PPDSDR_CS_4		(0x10)
589 #define GPIO_PPDSDR_CS_5		(0x20)
590 
591 /* Bit definitions and macros for GPIO_PPDSDR_PWM */
592 #define GPIO_PPDSDR_PWM_2		(0x04)
593 #define GPIO_PPDSDR_PWM_3		(0x08)
594 #define GPIO_PPDSDR_PWM_4		(0x10)
595 #define GPIO_PPDSDR_PWM_5		(0x20)
596 
597 /* Bit definitions and macros for GPIO_PPDSDR_FECI2C */
598 #define GPIO_PPDSDR_FECI2C_0		(0x01)
599 #define GPIO_PPDSDR_FECI2C_1		(0x02)
600 #define GPIO_PPDSDR_FECI2C_2		(0x04)
601 #define GPIO_PPDSDR_FECI2C_3		(0x08)
602 
603 /* Bit definitions and macros for GPIO_PPDSDR_UART */
604 #define GPIO_PPDSDR_UART_0		(0x01)
605 #define GPIO_PPDSDR_UART_1		(0x02)
606 #define GPIO_PPDSDR_UART_2		(0x04)
607 #define GPIO_PPDSDR_UART_3		(0x08)
608 #define GPIO_PPDSDR_UART_4		(0x10)
609 #define GPIO_PPDSDR_UART_5		(0x20)
610 #define GPIO_PPDSDR_UART_6		(0x40)
611 #define GPIO_PPDSDR_UART_7		(0x80)
612 
613 /* Bit definitions and macros for GPIO_PPDSDR_QSPI */
614 #define GPIO_PPDSDR_QSPI_0		(0x01)
615 #define GPIO_PPDSDR_QSPI_1		(0x02)
616 #define GPIO_PPDSDR_QSPI_2		(0x04)
617 #define GPIO_PPDSDR_QSPI_3		(0x08)
618 #define GPIO_PPDSDR_QSPI_4		(0x10)
619 #define GPIO_PPDSDR_QSPI_5		(0x20)
620 
621 /* Bit definitions and macros for GPIO_PPDSDR_TIMER */
622 #define GPIO_PPDSDR_TIMER_0		(0x01)
623 #define GPIO_PPDSDR_TIMER_1		(0x02)
624 #define GPIO_PPDSDR_TIMER_2		(0x04)
625 #define GPIO_PPDSDR_TIMER_3		(0x08)
626 
627 /* Bit definitions and macros for GPIO_PPDSDR_LCDDATAH */
628 #define GPIO_PPDSDR_LCDDATAH_0		(0x01)
629 #define GPIO_PPDSDR_LCDDATAH_1		(0x02)
630 
631 /* Bit definitions and macros for GPIO_PPDSDR_LCDDATAM */
632 #define GPIO_PPDSDR_LCDDATAM_0		(0x01)
633 #define GPIO_PPDSDR_LCDDATAM_1		(0x02)
634 #define GPIO_PPDSDR_LCDDATAM_2		(0x04)
635 #define GPIO_PPDSDR_LCDDATAM_3		(0x08)
636 #define GPIO_PPDSDR_LCDDATAM_4		(0x10)
637 #define GPIO_PPDSDR_LCDDATAM_5		(0x20)
638 #define GPIO_PPDSDR_LCDDATAM_6		(0x40)
639 #define GPIO_PPDSDR_LCDDATAM_7		(0x80)
640 
641 /* Bit definitions and macros for GPIO_PPDSDR_LCDDATAL */
642 #define GPIO_PPDSDR_LCDDATAL_0		(0x01)
643 #define GPIO_PPDSDR_LCDDATAL_1		(0x02)
644 #define GPIO_PPDSDR_LCDDATAL_2		(0x04)
645 #define GPIO_PPDSDR_LCDDATAL_3		(0x08)
646 #define GPIO_PPDSDR_LCDDATAL_4		(0x10)
647 #define GPIO_PPDSDR_LCDDATAL_5		(0x20)
648 #define GPIO_PPDSDR_LCDDATAL_6		(0x40)
649 #define GPIO_PPDSDR_LCDDATAL_7		(0x80)
650 
651 /* Bit definitions and macros for GPIO_PPDSDR_LCDCTLH */
652 #define GPIO_PPDSDR_LCDCTLH_0		(0x01)
653 
654 /* Bit definitions and macros for GPIO_PPDSDR_LCDCTLL */
655 #define GPIO_PPDSDR_LCDCTLL_0		(0x01)
656 #define GPIO_PPDSDR_LCDCTLL_1		(0x02)
657 #define GPIO_PPDSDR_LCDCTLL_2		(0x04)
658 #define GPIO_PPDSDR_LCDCTLL_3		(0x08)
659 #define GPIO_PPDSDR_LCDCTLL_4		(0x10)
660 #define GPIO_PPDSDR_LCDCTLL_5		(0x20)
661 #define GPIO_PPDSDR_LCDCTLL_6		(0x40)
662 #define GPIO_PPDSDR_LCDCTLL_7		(0x80)
663 
664 /* Bit definitions and macros for GPIO_PCLRR_FECH */
665 #define GPIO_PCLRR_FECH_L0		(0x01)
666 #define GPIO_PCLRR_FECH_L1		(0x02)
667 #define GPIO_PCLRR_FECH_L2		(0x04)
668 #define GPIO_PCLRR_FECH_L3		(0x08)
669 #define GPIO_PCLRR_FECH_L4		(0x10)
670 #define GPIO_PCLRR_FECH_L5		(0x20)
671 #define GPIO_PCLRR_FECH_L6		(0x40)
672 #define GPIO_PCLRR_FECH_L7		(0x80)
673 
674 /* Bit definitions and macros for GPIO_PCLRR_SSI */
675 #define GPIO_PCLRR_SSI_0		(0x01)
676 #define GPIO_PCLRR_SSI_1		(0x02)
677 #define GPIO_PCLRR_SSI_2		(0x04)
678 #define GPIO_PCLRR_SSI_3		(0x08)
679 #define GPIO_PCLRR_SSI_4		(0x10)
680 
681 /* Bit definitions and macros for GPIO_PCLRR_BUSCTL */
682 #define GPIO_PCLRR_BUSCTL_L0		(0x01)
683 #define GPIO_PCLRR_BUSCTL_L1		(0x02)
684 #define GPIO_PCLRR_BUSCTL_L2		(0x04)
685 #define GPIO_PCLRR_BUSCTL_L3		(0x08)
686 
687 /* Bit definitions and macros for GPIO_PCLRR_BE */
688 #define GPIO_PCLRR_BE_0			(0x01)
689 #define GPIO_PCLRR_BE_1			(0x02)
690 #define GPIO_PCLRR_BE_2			(0x04)
691 #define GPIO_PCLRR_BE_3			(0x08)
692 
693 /* Bit definitions and macros for GPIO_PCLRR_CS */
694 #define GPIO_PCLRR_CS_1			(0x02)
695 #define GPIO_PCLRR_CS_2			(0x04)
696 #define GPIO_PCLRR_CS_3			(0x08)
697 #define GPIO_PCLRR_CS_4			(0x10)
698 #define GPIO_PCLRR_CS_5			(0x20)
699 
700 /* Bit definitions and macros for GPIO_PCLRR_PWM */
701 #define GPIO_PCLRR_PWM_2		(0x04)
702 #define GPIO_PCLRR_PWM_3		(0x08)
703 #define GPIO_PCLRR_PWM_4		(0x10)
704 #define GPIO_PCLRR_PWM_5		(0x20)
705 
706 /* Bit definitions and macros for GPIO_PCLRR_FECI2C */
707 #define GPIO_PCLRR_FECI2C_0		(0x01)
708 #define GPIO_PCLRR_FECI2C_1		(0x02)
709 #define GPIO_PCLRR_FECI2C_2		(0x04)
710 #define GPIO_PCLRR_FECI2C_3		(0x08)
711 
712 /* Bit definitions and macros for GPIO_PCLRR_UART */
713 #define GPIO_PCLRR_UART0		(0x01)
714 #define GPIO_PCLRR_UART1		(0x02)
715 #define GPIO_PCLRR_UART2		(0x04)
716 #define GPIO_PCLRR_UART3		(0x08)
717 #define GPIO_PCLRR_UART4		(0x10)
718 #define GPIO_PCLRR_UART5		(0x20)
719 #define GPIO_PCLRR_UART6		(0x40)
720 #define GPIO_PCLRR_UART7		(0x80)
721 
722 /* Bit definitions and macros for GPIO_PCLRR_QSPI */
723 #define GPIO_PCLRR_QSPI0		(0x01)
724 #define GPIO_PCLRR_QSPI1		(0x02)
725 #define GPIO_PCLRR_QSPI2		(0x04)
726 #define GPIO_PCLRR_QSPI3		(0x08)
727 #define GPIO_PCLRR_QSPI4		(0x10)
728 #define GPIO_PCLRR_QSPI5		(0x20)
729 
730 /* Bit definitions and macros for GPIO_PCLRR_TIMER */
731 #define GPIO_PCLRR_TIMER0		(0x01)
732 #define GPIO_PCLRR_TIMER1		(0x02)
733 #define GPIO_PCLRR_TIMER2		(0x04)
734 #define GPIO_PCLRR_TIMER3		(0x08)
735 
736 /* Bit definitions and macros for GPIO_PCLRR_LCDDATAH */
737 #define GPIO_PCLRR_LCDDATAH0		(0x01)
738 #define GPIO_PCLRR_LCDDATAH1		(0x02)
739 
740 /* Bit definitions and macros for GPIO_PCLRR_LCDDATAM */
741 #define GPIO_PCLRR_LCDDATAM0		(0x01)
742 #define GPIO_PCLRR_LCDDATAM1		(0x02)
743 #define GPIO_PCLRR_LCDDATAM2		(0x04)
744 #define GPIO_PCLRR_LCDDATAM3		(0x08)
745 #define GPIO_PCLRR_LCDDATAM4		(0x10)
746 #define GPIO_PCLRR_LCDDATAM5		(0x20)
747 #define GPIO_PCLRR_LCDDATAM6		(0x40)
748 #define GPIO_PCLRR_LCDDATAM7		(0x80)
749 
750 /* Bit definitions and macros for GPIO_PCLRR_LCDDATAL */
751 #define GPIO_PCLRR_LCDDATAL0		(0x01)
752 #define GPIO_PCLRR_LCDDATAL1		(0x02)
753 #define GPIO_PCLRR_LCDDATAL2		(0x04)
754 #define GPIO_PCLRR_LCDDATAL3		(0x08)
755 #define GPIO_PCLRR_LCDDATAL4		(0x10)
756 #define GPIO_PCLRR_LCDDATAL5		(0x20)
757 #define GPIO_PCLRR_LCDDATAL6		(0x40)
758 #define GPIO_PCLRR_LCDDATAL7		(0x80)
759 
760 /* Bit definitions and macros for GPIO_PCLRR_LCDCTLH */
761 #define GPIO_PCLRR_LCDCTLH_PCLRR_LCDCTLH0		(0x01)
762 
763 /* Bit definitions and macros for GPIO_PCLRR_LCDCTLL */
764 #define GPIO_PCLRR_LCDCTLL0		(0x01)
765 #define GPIO_PCLRR_LCDCTLL1		(0x02)
766 #define GPIO_PCLRR_LCDCTLL2		(0x04)
767 #define GPIO_PCLRR_LCDCTLL3		(0x08)
768 #define GPIO_PCLRR_LCDCTLL4		(0x10)
769 #define GPIO_PCLRR_LCDCTLL5		(0x20)
770 #define GPIO_PCLRR_LCDCTLL6		(0x40)
771 #define GPIO_PCLRR_LCDCTLL7		(0x80)
772 
773 /* Bit definitions and macros for GPIO_PAR_FEC */
774 #ifdef CONFIG_M5329
775 #define GPIO_PAR_FEC_MII(x)		(((x)&0x03)<<0)
776 #define GPIO_PAR_FEC_7W(x)		(((x)&0x03)<<2)
777 #define GPIO_PAR_FEC_7W_GPIO		(0x00)
778 #define GPIO_PAR_FEC_7W_URTS1		(0x04)
779 #define GPIO_PAR_FEC_7W_FEC		(0x0C)
780 #define GPIO_PAR_FEC_MII_GPIO		(0x00)
781 #define GPIO_PAR_FEC_MII_UART		(0x01)
782 #define GPIO_PAR_FEC_MII_FEC		(0x03)
783 #else
784 #define GPIO_PAR_FEC_7W_FEC		(0x08)
785 #define GPIO_PAR_FEC_MII_FEC		(0x02)
786 #endif
787 
788 /* Bit definitions and macros for GPIO_PAR_PWM */
789 #define GPIO_PAR_PWM1(x)		(((x)&0x03)<<0)
790 #define GPIO_PAR_PWM3(x)		(((x)&0x03)<<2)
791 #define GPIO_PAR_PWM5			(0x10)
792 #define GPIO_PAR_PWM7			(0x20)
793 
794 /* Bit definitions and macros for GPIO_PAR_BUSCTL */
795 #define GPIO_PAR_BUSCTL_TS(x)		(((x)&0x03)<<3)
796 #define GPIO_PAR_BUSCTL_RWB		(0x20)
797 #define GPIO_PAR_BUSCTL_TA		(0x40)
798 #define GPIO_PAR_BUSCTL_OE		(0x80)
799 #define GPIO_PAR_BUSCTL_OE_GPIO		(0x00)
800 #define GPIO_PAR_BUSCTL_OE_OE		(0x80)
801 #define GPIO_PAR_BUSCTL_TA_GPIO		(0x00)
802 #define GPIO_PAR_BUSCTL_TA_TA		(0x40)
803 #define GPIO_PAR_BUSCTL_RWB_GPIO	(0x00)
804 #define GPIO_PAR_BUSCTL_RWB_RWB		(0x20)
805 #define GPIO_PAR_BUSCTL_TS_GPIO		(0x00)
806 #define GPIO_PAR_BUSCTL_TS_DACK0	(0x10)
807 #define GPIO_PAR_BUSCTL_TS_TS		(0x18)
808 
809 /* Bit definitions and macros for GPIO_PAR_FECI2C */
810 #define GPIO_PAR_FECI2C_SDA(x)		(((x)&0x03)<<0)
811 #define GPIO_PAR_FECI2C_SCL(x)		(((x)&0x03)<<2)
812 #define GPIO_PAR_FECI2C_MDIO(x)		(((x)&0x03)<<4)
813 #define GPIO_PAR_FECI2C_MDC(x)		(((x)&0x03)<<6)
814 #define GPIO_PAR_FECI2C_MDC_GPIO	(0x00)
815 #define GPIO_PAR_FECI2C_MDC_UTXD2	(0x40)
816 #define GPIO_PAR_FECI2C_MDC_SCL		(0x80)
817 #define GPIO_PAR_FECI2C_MDC_EMDC	(0xC0)
818 #define GPIO_PAR_FECI2C_MDIO_GPIO	(0x00)
819 #define GPIO_PAR_FECI2C_MDIO_URXD2	(0x10)
820 #define GPIO_PAR_FECI2C_MDIO_SDA	(0x20)
821 #define GPIO_PAR_FECI2C_MDIO_EMDIO	(0x30)
822 #define GPIO_PAR_FECI2C_SCL_GPIO	(0x00)
823 #define GPIO_PAR_FECI2C_SCL_UTXD2	(0x04)
824 #define GPIO_PAR_FECI2C_SCL_SCL		(0x0C)
825 #define GPIO_PAR_FECI2C_SDA_GPIO	(0x00)
826 #define GPIO_PAR_FECI2C_SDA_URXD2	(0x02)
827 #define GPIO_PAR_FECI2C_SDA_SDA		(0x03)
828 
829 /* Bit definitions and macros for GPIO_PAR_BE */
830 #define GPIO_PAR_BE0			(0x01)
831 #define GPIO_PAR_BE1			(0x02)
832 #define GPIO_PAR_BE2			(0x04)
833 #define GPIO_PAR_BE3			(0x08)
834 
835 /* Bit definitions and macros for GPIO_PAR_CS */
836 #define GPIO_PAR_CS1			(0x02)
837 #define GPIO_PAR_CS2			(0x04)
838 #define GPIO_PAR_CS3			(0x08)
839 #define GPIO_PAR_CS4			(0x10)
840 #define GPIO_PAR_CS5			(0x20)
841 #define GPIO_PAR_CS1_GPIO		(0x00)
842 #define GPIO_PAR_CS1_SDCS1		(0x01)
843 #define GPIO_PAR_CS1_CS1		(0x03)
844 
845 /* Bit definitions and macros for GPIO_PAR_SSI */
846 #define GPIO_PAR_SSI_MCLK		(0x0080)
847 #define GPIO_PAR_SSI_TXD(x)		(((x)&0x0003)<<8)
848 #define GPIO_PAR_SSI_RXD(x)		(((x)&0x0003)<<10)
849 #define GPIO_PAR_SSI_FS(x)		(((x)&0x0003)<<12)
850 #define GPIO_PAR_SSI_BCLK(x)		(((x)&0x0003)<<14)
851 
852 /* Bit definitions and macros for GPIO_PAR_UART */
853 #define GPIO_PAR_UART_TXD0		(0x0001)
854 #define GPIO_PAR_UART_RXD0		(0x0002)
855 #define GPIO_PAR_UART_RTS0		(0x0004)
856 #define GPIO_PAR_UART_CTS0		(0x0008)
857 #define GPIO_PAR_UART_TXD1(x)		(((x)&0x0003)<<4)
858 #define GPIO_PAR_UART_RXD1(x)		(((x)&0x0003)<<6)
859 #define GPIO_PAR_UART_RTS1(x)		(((x)&0x0003)<<8)
860 #define GPIO_PAR_UART_CTS1(x)		(((x)&0x0003)<<10)
861 #define GPIO_PAR_UART_CTS1_GPIO		(0x0000)
862 #define GPIO_PAR_UART_CTS1_SSI_BCLK	(0x0800)
863 #define GPIO_PAR_UART_CTS1_ULPI_D7	(0x0400)
864 #define GPIO_PAR_UART_CTS1_UCTS1	(0x0C00)
865 #define GPIO_PAR_UART_RTS1_GPIO		(0x0000)
866 #define GPIO_PAR_UART_RTS1_SSI_FS	(0x0200)
867 #define GPIO_PAR_UART_RTS1_ULPI_D6	(0x0100)
868 #define GPIO_PAR_UART_RTS1_URTS1	(0x0300)
869 #define GPIO_PAR_UART_RXD1_GPIO		(0x0000)
870 #define GPIO_PAR_UART_RXD1_SSI_RXD	(0x0080)
871 #define GPIO_PAR_UART_RXD1_ULPI_D5	(0x0040)
872 #define GPIO_PAR_UART_RXD1_URXD1	(0x00C0)
873 #define GPIO_PAR_UART_TXD1_GPIO		(0x0000)
874 #define GPIO_PAR_UART_TXD1_SSI_TXD	(0x0020)
875 #define GPIO_PAR_UART_TXD1_ULPI_D4	(0x0010)
876 #define GPIO_PAR_UART_TXD1_UTXD1	(0x0030)
877 
878 /* Bit definitions and macros for GPIO_PAR_QSPI */
879 #define GPIO_PAR_QSPI_SCK(x)		(((x)&0x0003)<<4)
880 #define GPIO_PAR_QSPI_DOUT(x)		(((x)&0x0003)<<6)
881 #define GPIO_PAR_QSPI_DIN(x)		(((x)&0x0003)<<8)
882 #define GPIO_PAR_QSPI_PCS0(x)		(((x)&0x0003)<<10)
883 #define GPIO_PAR_QSPI_PCS1(x)		(((x)&0x0003)<<12)
884 #define GPIO_PAR_QSPI_PCS2(x)		(((x)&0x0003)<<14)
885 
886 /* Bit definitions and macros for GPIO_PAR_TIMER */
887 #define GPIO_PAR_TIN0(x)		(((x)&0x03)<<0)
888 #define GPIO_PAR_TIN1(x)		(((x)&0x03)<<2)
889 #define GPIO_PAR_TIN2(x)		(((x)&0x03)<<4)
890 #define GPIO_PAR_TIN3(x)		(((x)&0x03)<<6)
891 #define GPIO_PAR_TIN3_GPIO		(0x00)
892 #define GPIO_PAR_TIN3_TOUT3		(0x80)
893 #define GPIO_PAR_TIN3_URXD2		(0x40)
894 #define GPIO_PAR_TIN3_TIN3		(0xC0)
895 #define GPIO_PAR_TIN2_GPIO		(0x00)
896 #define GPIO_PAR_TIN2_TOUT2		(0x20)
897 #define GPIO_PAR_TIN2_UTXD2		(0x10)
898 #define GPIO_PAR_TIN2_TIN2		(0x30)
899 #define GPIO_PAR_TIN1_GPIO		(0x00)
900 #define GPIO_PAR_TIN1_TOUT1		(0x08)
901 #define GPIO_PAR_TIN1_DACK1		(0x04)
902 #define GPIO_PAR_TIN1_TIN1		(0x0C)
903 #define GPIO_PAR_TIN0_GPIO		(0x00)
904 #define GPIO_PAR_TIN0_TOUT0		(0x02)
905 #define GPIO_PAR_TIN0_DREQ0		(0x01)
906 #define GPIO_PAR_TIN0_TIN0		(0x03)
907 
908 /* Bit definitions and macros for GPIO_PAR_LCDDATA */
909 #define GPIO_PAR_LCDDATA_LD7_0(x)	((x)&0x03)
910 #define GPIO_PAR_LCDDATA_LD15_8(x)	(((x)&0x03)<<2)
911 #define GPIO_PAR_LCDDATA_LD16(x)	(((x)&0x03)<<4)
912 #define GPIO_PAR_LCDDATA_LD17(x)	(((x)&0x03)<<6)
913 
914 /* Bit definitions and macros for GPIO_PAR_LCDCTL */
915 #define GPIO_PAR_LCDCTL_CLS		(0x0001)
916 #define GPIO_PAR_LCDCTL_PS		(0x0002)
917 #define GPIO_PAR_LCDCTL_REV		(0x0004)
918 #define GPIO_PAR_LCDCTL_SPL_SPR		(0x0008)
919 #define GPIO_PAR_LCDCTL_CONTRAST	(0x0010)
920 #define GPIO_PAR_LCDCTL_LSCLK		(0x0020)
921 #define GPIO_PAR_LCDCTL_LP_HSYNC	(0x0040)
922 #define GPIO_PAR_LCDCTL_FLM_VSYNC	(0x0080)
923 #define GPIO_PAR_LCDCTL_ACD_OE		(0x0100)
924 
925 /* Bit definitions and macros for GPIO_PAR_IRQ */
926 #define GPIO_PAR_IRQ1(x)		(((x)&0x0003)<<4)
927 #define GPIO_PAR_IRQ2(x)		(((x)&0x0003)<<6)
928 #define GPIO_PAR_IRQ4(x)		(((x)&0x0003)<<8)
929 #define GPIO_PAR_IRQ5(x)		(((x)&0x0003)<<10)
930 #define GPIO_PAR_IRQ6(x)		(((x)&0x0003)<<12)
931 
932 /* Bit definitions and macros for GPIO_MSCR_FLEXBUS */
933 #define GPIO_MSCR_FLEXBUS_ADDRCTL(x)	((x)&0x03)
934 #define GPIO_MSCR_FLEXBUS_DLOWER(x)	(((x)&0x03)<<2)
935 #define GPIO_MSCR_FLEXBUS_DUPPER(x)	(((x)&0x03)<<4)
936 
937 /* Bit definitions and macros for GPIO_MSCR_SDRAM */
938 #define GPIO_MSCR_SDRAM_SDRAM(x)	((x)&0x03)
939 #define GPIO_MSCR_SDRAM_SDCLK(x)	(((x)&0x03)<<2)
940 #define GPIO_MSCR_SDRAM_SDCLKB(x)	(((x)&0x03)<<4)
941 
942 /* Bit definitions and macros for GPIO_DSCR_I2C */
943 #define GPIO_DSCR_I2C_DSE(x)		((x)&0x03)
944 
945 /* Bit definitions and macros for GPIO_DSCR_PWM */
946 #define GPIO_DSCR_PWM_DSE(x)		((x)&0x03)
947 
948 /* Bit definitions and macros for GPIO_DSCR_FEC */
949 #define GPIO_DSCR_FEC_DSE(x)		((x)&0x03)
950 
951 /* Bit definitions and macros for GPIO_DSCR_UART */
952 #define GPIO_DSCR_UART0_DSE(x)		((x)&0x03)
953 #define GPIO_DSCR_UART1_DSE(x)		(((x)&0x03)<<2)
954 
955 /* Bit definitions and macros for GPIO_DSCR_QSPI */
956 #define GPIO_DSCR_QSPI_DSE(x)		((x)&0x03)
957 
958 /* Bit definitions and macros for GPIO_DSCR_TIMER */
959 #define GPIO_DSCR_TIMER_DSE(x)		((x)&0x03)
960 
961 /* Bit definitions and macros for GPIO_DSCR_SSI */
962 #define GPIO_DSCR_SSI_DSE(x)		((x)&0x03)
963 
964 /* Bit definitions and macros for GPIO_DSCR_LCD */
965 #define GPIO_DSCR_LCD_DSE(x)		((x)&0x03)
966 
967 /* Bit definitions and macros for GPIO_DSCR_DEBUG */
968 #define GPIO_DSCR_DEBUG_DSE(x)		((x)&0x03)
969 
970 /* Bit definitions and macros for GPIO_DSCR_CLKRST */
971 #define GPIO_DSCR_CLKRST_DSE(x)		((x)&0x03)
972 
973 /* Bit definitions and macros for GPIO_DSCR_IRQ */
974 #define GPIO_DSCR_IRQ_DSE(x)		((x)&0x03)
975 
976 /*********************************************************************
977 * SDRAM Controller (SDRAMC)
978 *********************************************************************/
979 /* Bit definitions and macros for SDRAMC_SDMR */
980 #define SDRAMC_SDMR_BNKAD_LEMR		(0x40000000)
981 #define SDRAMC_SDMR_BNKAD_LMR		(0x00000000)
982 #define SDRAMC_SDMR_AD(x)		(((x)&0x00000FFF)<<18)
983 #define SDRAMC_SDMR_CMD			(0x00010000)
984 
985 /* Bit definitions and macros for SDRAMC_SDCR */
986 #define SDRAMC_SDCR_MODE_EN		(0x80000000)
987 #define SDRAMC_SDCR_CKE			(0x40000000)
988 #define SDRAMC_SDCR_DDR			(0x20000000)
989 #define SDRAMC_SDCR_REF			(0x10000000)
990 #define SDRAMC_SDCR_MUX(x)		(((x)&0x00000003)<<24)
991 #define SDRAMC_SDCR_OE_RULE		(0x00400000)
992 #define SDRAMC_SDCR_RCNT(x)		(((x)&0x0000003F)<<16)
993 #define SDRAMC_SDCR_PS_32		(0x00000000)
994 #define SDRAMC_SDCR_PS_16		(0x00002000)
995 #define SDRAMC_SDCR_DQS_OE(x)		(((x)&0x0000000F)<<8)
996 #define SDRAMC_SDCR_IREF		(0x00000004)
997 #define SDRAMC_SDCR_IPALL		(0x00000002)
998 
999 /* Bit definitions and macros for SDRAMC_SDCFG1 */
1000 #define SDRAMC_SDCFG1_SRD2RW(x)		(((x)&0x0000000F)<<28)
1001 #define SDRAMC_SDCFG1_SWT2RD(x)		(((x)&0x00000007)<<24)
1002 #define SDRAMC_SDCFG1_RDLAT(x)		(((x)&0x0000000F)<<20)
1003 #define SDRAMC_SDCFG1_ACT2RW(x)		(((x)&0x00000007)<<16)
1004 #define SDRAMC_SDCFG1_PRE2ACT(x)	(((x)&0x00000007)<<12)
1005 #define SDRAMC_SDCFG1_REF2ACT(x)	(((x)&0x0000000F)<<8)
1006 #define SDRAMC_SDCFG1_WTLAT(x)		(((x)&0x00000007)<<4)
1007 
1008 /* Bit definitions and macros for SDRAMC_SDCFG2 */
1009 #define SDRAMC_SDCFG2_BRD2PRE(x)	(((x)&0x0000000F)<<28)
1010 #define SDRAMC_SDCFG2_BWT2RW(x)		(((x)&0x0000000F)<<24)
1011 #define SDRAMC_SDCFG2_BRD2WT(x)		(((x)&0x0000000F)<<20)
1012 #define SDRAMC_SDCFG2_BL(x)		(((x)&0x0000000F)<<16)
1013 
1014 /* Bit definitions and macros for SDRAMC_SDDS */
1015 #define SDRAMC_SDDS_SB_E(x)		(((x)&0x00000003)<<8)
1016 #define SDRAMC_SDDS_SB_C(x)		(((x)&0x00000003)<<6)
1017 #define SDRAMC_SDDS_SB_A(x)		(((x)&0x00000003)<<4)
1018 #define SDRAMC_SDDS_SB_S(x)		(((x)&0x00000003)<<2)
1019 #define SDRAMC_SDDS_SB_D(x)		((x)&0x00000003)
1020 
1021 /* Bit definitions and macros for SDRAMC_SDCS */
1022 #define SDRAMC_SDCS_BASE(x)		(((x)&0x00000FFF)<<20)
1023 #define SDRAMC_SDCS_CSSZ(x)		((x)&0x0000001F)
1024 #define SDRAMC_SDCS_CSSZ_4GBYTE		(0x0000001F)
1025 #define SDRAMC_SDCS_CSSZ_2GBYTE		(0x0000001E)
1026 #define SDRAMC_SDCS_CSSZ_1GBYTE		(0x0000001D)
1027 #define SDRAMC_SDCS_CSSZ_512MBYTE	(0x0000001C)
1028 #define SDRAMC_SDCS_CSSZ_256MBYTE	(0x0000001B)
1029 #define SDRAMC_SDCS_CSSZ_128MBYTE	(0x0000001A)
1030 #define SDRAMC_SDCS_CSSZ_64MBYTE	(0x00000019)
1031 #define SDRAMC_SDCS_CSSZ_32MBYTE	(0x00000018)
1032 #define SDRAMC_SDCS_CSSZ_16MBYTE	(0x00000017)
1033 #define SDRAMC_SDCS_CSSZ_8MBYTE		(0x00000016)
1034 #define SDRAMC_SDCS_CSSZ_4MBYTE		(0x00000015)
1035 #define SDRAMC_SDCS_CSSZ_2MBYTE		(0x00000014)
1036 #define SDRAMC_SDCS_CSSZ_1MBYTE		(0x00000013)
1037 #define SDRAMC_SDCS_CSSZ_DIABLE		(0x00000000)
1038 
1039 /*********************************************************************
1040 * Phase Locked Loop (PLL)
1041 *********************************************************************/
1042 /* Bit definitions and macros for PLL_PODR */
1043 #define PLL_PODR_CPUDIV(x)		(((x)&0x0F)<<4)
1044 #define PLL_PODR_BUSDIV(x)		((x)&0x0F)
1045 
1046 /* Bit definitions and macros for PLL_PLLCR */
1047 #define PLL_PLLCR_DITHEN		(0x80)
1048 #define PLL_PLLCR_DITHDEV(x)		((x)&0x07)
1049 
1050 #endif				/* mcf5329_h */
1051