xref: /OK3568_Linux_fs/u-boot/arch/m68k/include/asm/m547x_8x.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * mcf547x_8x.h -- Definitions for Freescale Coldfire 547x_8x
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
5*4882a593Smuzhiyun  * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #ifndef mcf547x_8x_h
11*4882a593Smuzhiyun #define mcf547x_8x_h
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun /*********************************************************************
14*4882a593Smuzhiyun * XLB Arbiter (XLB)
15*4882a593Smuzhiyun *********************************************************************/
16*4882a593Smuzhiyun /* Bit definitions and macros for XARB_CFG */
17*4882a593Smuzhiyun #define XARB_CFG_AT			(0x00000002)
18*4882a593Smuzhiyun #define XARB_CFG_DT			(0x00000004)
19*4882a593Smuzhiyun #define XARB_CFG_BA			(0x00000008)
20*4882a593Smuzhiyun #define XARB_CFG_PM(x)			(((x)&0x00000003)<<5)
21*4882a593Smuzhiyun #define XARB_CFG_SP(x)			(((x)&0x00000007)<<8)
22*4882a593Smuzhiyun #define XARB_CFG_PLDIS			(0x80000000)
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun /* Bit definitions and macros for XARB_SR */
25*4882a593Smuzhiyun #define XARB_SR_AT			(0x00000001)
26*4882a593Smuzhiyun #define XARB_SR_DT			(0x00000002)
27*4882a593Smuzhiyun #define XARB_SR_BA			(0x00000004)
28*4882a593Smuzhiyun #define XARB_SR_TTM			(0x00000008)
29*4882a593Smuzhiyun #define XARB_SR_ECW			(0x00000010)
30*4882a593Smuzhiyun #define XARB_SR_TTR			(0x00000020)
31*4882a593Smuzhiyun #define XARB_SR_TTA			(0x00000040)
32*4882a593Smuzhiyun #define XARB_SR_MM			(0x00000080)
33*4882a593Smuzhiyun #define XARB_SR_SEA			(0x00000100)
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun /* Bit definitions and macros for XARB_IMR */
36*4882a593Smuzhiyun #define XARB_IMR_ATE			(0x00000001)
37*4882a593Smuzhiyun #define XARB_IMR_DTE			(0x00000002)
38*4882a593Smuzhiyun #define XARB_IMR_BAE			(0x00000004)
39*4882a593Smuzhiyun #define XARB_IMR_TTME			(0x00000008)
40*4882a593Smuzhiyun #define XARB_IMR_ECWE			(0x00000010)
41*4882a593Smuzhiyun #define XARB_IMR_TTRE			(0x00000020)
42*4882a593Smuzhiyun #define XARB_IMR_TTAE			(0x00000040)
43*4882a593Smuzhiyun #define XARB_IMR_MME			(0x00000080)
44*4882a593Smuzhiyun #define XARB_IMR_SEAE			(0x00000100)
45*4882a593Smuzhiyun 
46*4882a593Smuzhiyun /* Bit definitions and macros for XARB_SIGCAP */
47*4882a593Smuzhiyun #define XARB_SIGCAP_TT(x)		((x)&0x0000001F)
48*4882a593Smuzhiyun #define XARB_SIGCAP_TBST		(0x00000020)
49*4882a593Smuzhiyun #define XARB_SIGCAP_TSIZ(x)		(((x)&0x00000007)<<7)
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun /* Bit definitions and macros for XARB_PRIEN */
52*4882a593Smuzhiyun #define XARB_PRIEN_M0			(0x00000001)
53*4882a593Smuzhiyun #define XARB_PRIEN_M2			(0x00000004)
54*4882a593Smuzhiyun #define XARB_PRIEN_M3			(0x00000008)
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun /* Bit definitions and macros for XARB_PRI */
57*4882a593Smuzhiyun #define XARB_PRI_M0P(x)			(((x)&0x00000007)<<0)
58*4882a593Smuzhiyun #define XARB_PRI_M2P(x)			(((x)&0x00000007)<<8)
59*4882a593Smuzhiyun #define XARB_PRI_M3P(x)			(((x)&0x00000007)<<12)
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun /*********************************************************************
62*4882a593Smuzhiyun * General Purpose I/O (GPIO)
63*4882a593Smuzhiyun *********************************************************************/
64*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_FBCTL */
65*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS(x)		(((x)&0x0003)<<0)
66*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TA		(0x0004)
67*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB(x)		(((x)&0x0003)<<4)
68*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_OE		(0x0040)
69*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE0		(0x0100)
70*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE1		(0x0400)
71*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE2		(0x1000)
72*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_BWE3		(0x4000)
73*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS_GPIO		(0)
74*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS_TBST		(2)
75*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_TS_TS		(3)
76*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB_GPIO		(0x0000)
77*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB_TBST		(0x0020)
78*4882a593Smuzhiyun #define GPIO_PAR_FBCTL_RWB_RWB		(0x0030)
79*4882a593Smuzhiyun 
80*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_FBCS */
81*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS1		(0x02)
82*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS2		(0x04)
83*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS3		(0x08)
84*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS4		(0x10)
85*4882a593Smuzhiyun #define GPIO_PAR_FBCS_CS5		(0x20)
86*4882a593Smuzhiyun 
87*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_DMA */
88*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQ0(x)		(((x)&0x03)<<0)
89*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQ1(x)		(((x)&0x03)<<2)
90*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACK0(x)		(((x)&0x03)<<4)
91*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACK1(x)		(((x)&0x03)<<6)
92*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACKx_GPIO		(0)
93*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACKx_TOUT		(2)
94*4882a593Smuzhiyun #define GPIO_PAR_DMA_DACKx_DACK		(3)
95*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQx_GPIO		(0)
96*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQx_TIN		(2)
97*4882a593Smuzhiyun #define GPIO_PAR_DMA_DREQx_DREQ		(3)
98*4882a593Smuzhiyun 
99*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_FECI2CIRQ */
100*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_IRQ5		(0x0001)
101*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_IRQ6		(0x0002)
102*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_SCL		(0x0004)
103*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_SDA		(0x0008)
104*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC(x)	(((x)&0x0003)<<6)
105*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO(x)	(((x)&0x0003)<<8)
106*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MII	(0x0400)
107*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E17		(0x0800)
108*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E0MDC	(0x1000)
109*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E0MDIO	(0x2000)
110*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E0MII	(0x4000)
111*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E07		(0x8000)
112*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO_CANRX	(0x0000)
113*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO_SDA	(0x0200)
114*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDIO_EMDIO	(0x0300)
115*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC_CANTX	(0x0000)
116*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC_SCL	(0x0080)
117*4882a593Smuzhiyun #define GPIO_PAR_FECI2CIRQ_E1MDC_EMDC	(0x00C0)
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PCIBG */
120*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG0(x)	(((x)&0x0003)<<0)
121*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG1(x)	(((x)&0x0003)<<2)
122*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG2(x)	(((x)&0x0003)<<4)
123*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG3(x)	(((x)&0x0003)<<6)
124*4882a593Smuzhiyun #define GPIO_PAR_PCIBG_PCIBG4(x)	(((x)&0x0003)<<8)
125*4882a593Smuzhiyun 
126*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PCIBR */
127*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR0(x)	(((x)&0x0003)<<0)
128*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR1(x)	(((x)&0x0003)<<2)
129*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR2(x)	(((x)&0x0003)<<4)
130*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR3(x)	(((x)&0x0003)<<6)
131*4882a593Smuzhiyun #define GPIO_PAR_PCIBR_PCIBR4(x)	(((x)&0x0003)<<8)
132*4882a593Smuzhiyun 
133*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC3 */
134*4882a593Smuzhiyun #define GPIO_PAR_PSC3_TXD3		(0x04)
135*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RXD3		(0x08)
136*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3(x)		(((x)&0x03)<<4)
137*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3(x)		(((x)&0x03)<<6)
138*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3_GPIO		(0x00)
139*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3_BCLK		(0x80)
140*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS3_CTS		(0xC0)
141*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3_GPIO		(0x00)
142*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3_FSYNC	(0x20)
143*4882a593Smuzhiyun #define GPIO_PAR_PSC3_RTS3_RTS		(0x30)
144*4882a593Smuzhiyun #define GPIO_PAR_PSC3_CTS2_CANRX	(0x40)
145*4882a593Smuzhiyun 
146*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC2 */
147*4882a593Smuzhiyun #define GPIO_PAR_PSC2_TXD2		(0x04)
148*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RXD2		(0x08)
149*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2(x)		(((x)&0x03)<<4)
150*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2(x)		(((x)&0x03)<<6)
151*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2_GPIO		(0x00)
152*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2_BCLK		(0x80)
153*4882a593Smuzhiyun #define GPIO_PAR_PSC2_CTS2_CTS		(0xC0)
154*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_GPIO		(0x00)
155*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_CANTX	(0x10)
156*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_FSYNC	(0x20)
157*4882a593Smuzhiyun #define GPIO_PAR_PSC2_RTS2_RTS		(0x30)
158*4882a593Smuzhiyun 
159*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC1 */
160*4882a593Smuzhiyun #define GPIO_PAR_PSC1_TXD1		(0x04)
161*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RXD1		(0x08)
162*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1(x)		(((x)&0x03)<<4)
163*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1(x)		(((x)&0x03)<<6)
164*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1_GPIO		(0x00)
165*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1_BCLK		(0x80)
166*4882a593Smuzhiyun #define GPIO_PAR_PSC1_CTS1_CTS		(0xC0)
167*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1_GPIO		(0x00)
168*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1_FSYNC	(0x20)
169*4882a593Smuzhiyun #define GPIO_PAR_PSC1_RTS1_RTS		(0x30)
170*4882a593Smuzhiyun 
171*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_PSC0 */
172*4882a593Smuzhiyun #define GPIO_PAR_PSC0_TXD0		(0x04)
173*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RXD0		(0x08)
174*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0(x)		(((x)&0x03)<<4)
175*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0(x)		(((x)&0x03)<<6)
176*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0_GPIO		(0x00)
177*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0_BCLK		(0x80)
178*4882a593Smuzhiyun #define GPIO_PAR_PSC0_CTS0_CTS		(0xC0)
179*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0_GPIO		(0x00)
180*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0_FSYNC	(0x20)
181*4882a593Smuzhiyun #define GPIO_PAR_PSC0_RTS0_RTS		(0x30)
182*4882a593Smuzhiyun 
183*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_DSPI */
184*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT(x)		(((x)&0x0003)<<0)
185*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN(x)		(((x)&0x0003)<<2)
186*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK(x)		(((x)&0x0003)<<4)
187*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0(x)		(((x)&0x0003)<<6)
188*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2(x)		(((x)&0x0003)<<8)
189*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3(x)		(((x)&0x0003)<<10)
190*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS5		(0x1000)
191*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_GPIO		(0x0000)
192*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_CANTX		(0x0400)
193*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_TOUT		(0x0800)
194*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS3_DSPICS	(0x0C00)
195*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_GPIO		(0x0000)
196*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_CANTX		(0x0100)
197*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_TOUT		(0x0200)
198*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS2_DSPICS	(0x0300)
199*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_GPIO		(0x0000)
200*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_FSYNC		(0x0040)
201*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_RTS		(0x0080)
202*4882a593Smuzhiyun #define GPIO_PAR_DSPI_CS0_DSPICS	(0x00C0)
203*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_GPIO		(0x0000)
204*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_BCLK		(0x0010)
205*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_CTS		(0x0020)
206*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SCK_SCK		(0x0030)
207*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN_GPIO		(0x0000)
208*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN_RXD		(0x0008)
209*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SIN_SIN		(0x000C)
210*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT_GPIO		(0x0000)
211*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT_TXD		(0x0002)
212*4882a593Smuzhiyun #define GPIO_PAR_DSPI_SOUT_SOUT		(0x0003)
213*4882a593Smuzhiyun 
214*4882a593Smuzhiyun /* Bit definitions and macros for GPIO_PAR_TIMER */
215*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TOUT2		(0x01)
216*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2(x)		(((x)&0x03)<<1)
217*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TOUT3		(0x08)
218*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3(x)		(((x)&0x03)<<4)
219*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3_CANRX	(0x00)
220*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3_IRQ		(0x20)
221*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN3_TIN		(0x30)
222*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2_CANRX	(0x00)
223*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2_IRQ		(0x04)
224*4882a593Smuzhiyun #define GPIO_PAR_TIMER_TIN2_TIN		(0x06)
225*4882a593Smuzhiyun 
226*4882a593Smuzhiyun /*********************************************************************
227*4882a593Smuzhiyun * Slice Timer (SLT)
228*4882a593Smuzhiyun *********************************************************************/
229*4882a593Smuzhiyun #define SLT_CR_RUN			(0x04000000)
230*4882a593Smuzhiyun #define SLT_CR_IEN			(0x02000000)
231*4882a593Smuzhiyun #define SLT_CR_TEN			(0x01000000)
232*4882a593Smuzhiyun 
233*4882a593Smuzhiyun #define SLT_SR_BE			(0x02000000)
234*4882a593Smuzhiyun #define SLT_SR_ST			(0x01000000)
235*4882a593Smuzhiyun 
236*4882a593Smuzhiyun /*********************************************************************
237*4882a593Smuzhiyun * Interrupt Controller (INTC)
238*4882a593Smuzhiyun *********************************************************************/
239*4882a593Smuzhiyun #define INT0_LO_RSVD0			(0)
240*4882a593Smuzhiyun #define INT0_LO_EPORT1			(1)
241*4882a593Smuzhiyun #define INT0_LO_EPORT2			(2)
242*4882a593Smuzhiyun #define INT0_LO_EPORT3			(3)
243*4882a593Smuzhiyun #define INT0_LO_EPORT4			(4)
244*4882a593Smuzhiyun #define INT0_LO_EPORT5			(5)
245*4882a593Smuzhiyun #define INT0_LO_EPORT6			(6)
246*4882a593Smuzhiyun #define INT0_LO_EPORT7			(7)
247*4882a593Smuzhiyun #define INT0_LO_EP0ISR			(15)
248*4882a593Smuzhiyun #define INT0_LO_EP1ISR			(16)
249*4882a593Smuzhiyun #define INT0_LO_EP2ISR			(17)
250*4882a593Smuzhiyun #define INT0_LO_EP3ISR			(18)
251*4882a593Smuzhiyun #define INT0_LO_EP4ISR			(19)
252*4882a593Smuzhiyun #define INT0_LO_EP5ISR			(20)
253*4882a593Smuzhiyun #define INT0_LO_EP6ISR			(21)
254*4882a593Smuzhiyun #define INT0_LO_USBISR			(22)
255*4882a593Smuzhiyun #define INT0_LO_USBAISR			(23)
256*4882a593Smuzhiyun #define INT0_LO_USB			(24)
257*4882a593Smuzhiyun #define INT1_LO_DSPI_RFOF_TFUF		(25)
258*4882a593Smuzhiyun #define INT1_LO_DSPI_RFOF		(26)
259*4882a593Smuzhiyun #define INT1_LO_DSPI_RFDF		(27)
260*4882a593Smuzhiyun #define INT1_LO_DSPI_TFUF		(28)
261*4882a593Smuzhiyun #define INT1_LO_DSPI_TCF		(29)
262*4882a593Smuzhiyun #define INT1_LO_DSPI_TFFF		(30)
263*4882a593Smuzhiyun #define INT1_LO_DSPI_EOQF		(31)
264*4882a593Smuzhiyun 
265*4882a593Smuzhiyun #define INT0_HI_UART3			(32)
266*4882a593Smuzhiyun #define INT0_HI_UART2			(33)
267*4882a593Smuzhiyun #define INT0_HI_UART1			(34)
268*4882a593Smuzhiyun #define INT0_HI_UART0			(35)
269*4882a593Smuzhiyun #define INT0_HI_COMMTIM_TC		(36)
270*4882a593Smuzhiyun #define INT0_HI_SEC			(37)
271*4882a593Smuzhiyun #define INT0_HI_FEC1			(38)
272*4882a593Smuzhiyun #define INT0_HI_FEC0			(39)
273*4882a593Smuzhiyun #define INT0_HI_I2C			(40)
274*4882a593Smuzhiyun #define INT0_HI_PCIARB			(41)
275*4882a593Smuzhiyun #define INT0_HI_CBPCI			(42)
276*4882a593Smuzhiyun #define INT0_HI_XLBPCI			(43)
277*4882a593Smuzhiyun #define INT0_HI_XLBARB			(47)
278*4882a593Smuzhiyun #define INT0_HI_DMA			(48)
279*4882a593Smuzhiyun #define INT0_HI_CAN0_ERROR		(49)
280*4882a593Smuzhiyun #define INT0_HI_CAN0_BUSOFF		(50)
281*4882a593Smuzhiyun #define INT0_HI_CAN0_MBOR		(51)
282*4882a593Smuzhiyun #define INT0_HI_SLT1			(53)
283*4882a593Smuzhiyun #define INT0_HI_SLT0			(54)
284*4882a593Smuzhiyun #define INT0_HI_CAN1_ERROR		(55)
285*4882a593Smuzhiyun #define INT0_HI_CAN1_BUSOFF		(56)
286*4882a593Smuzhiyun #define INT0_HI_CAN1_MBOR		(57)
287*4882a593Smuzhiyun #define INT0_HI_GPT3			(59)
288*4882a593Smuzhiyun #define INT0_HI_GPT2			(60)
289*4882a593Smuzhiyun #define INT0_HI_GPT1			(61)
290*4882a593Smuzhiyun #define INT0_HI_GPT0			(62)
291*4882a593Smuzhiyun 
292*4882a593Smuzhiyun /*********************************************************************
293*4882a593Smuzhiyun * General Purpose Timers (GPTMR)
294*4882a593Smuzhiyun *********************************************************************/
295*4882a593Smuzhiyun /* Enable and Mode Select */
296*4882a593Smuzhiyun #define GPT_OCT(x)			(x & 0x3)<<4	/* Output Compare Type */
297*4882a593Smuzhiyun #define GPT_ICT(x)			(x & 0x3)	/* Input Capture Type */
298*4882a593Smuzhiyun #define GPT_CTRL_WDEN			0x80		/* Watchdog Enable */
299*4882a593Smuzhiyun #define GPT_CTRL_CE			0x10		/* Counter Enable */
300*4882a593Smuzhiyun #define GPT_CTRL_STPCNT			0x04		/* Stop continous */
301*4882a593Smuzhiyun #define GPT_CTRL_ODRAIN			0x02		/* Open Drain */
302*4882a593Smuzhiyun #define GPT_CTRL_INTEN			0x01		/* Interrupt Enable */
303*4882a593Smuzhiyun #define GPT_MODE_GPIO(x)		(x & 0x3)<<4	/* Gpio Mode Type */
304*4882a593Smuzhiyun #define GPT_TMS_ICT			0x01		/* Input Capture Enable */
305*4882a593Smuzhiyun #define GPT_TMS_OCT			0x02		/* Output Capture Enable */
306*4882a593Smuzhiyun #define GPT_TMS_PWM			0x03		/* PWM Capture Enable */
307*4882a593Smuzhiyun #define GPT_TMS_SGPIO			0x04		/* PWM Capture Enable */
308*4882a593Smuzhiyun 
309*4882a593Smuzhiyun #define GPT_PWM_WIDTH(x)		(x & 0xffff)
310*4882a593Smuzhiyun 
311*4882a593Smuzhiyun /* Status */
312*4882a593Smuzhiyun #define GPT_STA_CAPTURE(x)		(x & 0xffff)
313*4882a593Smuzhiyun 
314*4882a593Smuzhiyun #define GPT_OVFPIN_OVF(x)		(x & 0x70)
315*4882a593Smuzhiyun #define GPT_OVFPIN_PIN			0x01
316*4882a593Smuzhiyun 
317*4882a593Smuzhiyun #define GPT_INT_TEXP			0x08
318*4882a593Smuzhiyun #define GPT_INT_PWMP			0x04
319*4882a593Smuzhiyun #define GPT_INT_COMP			0x02
320*4882a593Smuzhiyun #define GPT_INT_CAPT			0x01
321*4882a593Smuzhiyun 
322*4882a593Smuzhiyun /*********************************************************************
323*4882a593Smuzhiyun * PCI
324*4882a593Smuzhiyun *********************************************************************/
325*4882a593Smuzhiyun 
326*4882a593Smuzhiyun /* Bit definitions and macros for SCR */
327*4882a593Smuzhiyun #define PCI_SCR_PE			(0x80000000)	/* Parity Error detected */
328*4882a593Smuzhiyun #define PCI_SCR_SE			(0x40000000)	/* System error signalled */
329*4882a593Smuzhiyun #define PCI_SCR_MA			(0x20000000)	/* Master aboart received */
330*4882a593Smuzhiyun #define PCI_SCR_TR			(0x10000000)	/* Target abort received */
331*4882a593Smuzhiyun #define PCI_SCR_TS			(0x08000000)	/* Target abort signalled */
332*4882a593Smuzhiyun #define PCI_SCR_DT			(0x06000000)	/* PCI_DEVSEL timing */
333*4882a593Smuzhiyun #define PCI_SCR_DP			(0x01000000)	/* Master data parity err */
334*4882a593Smuzhiyun #define PCI_SCR_FC			(0x00800000)	/* Fast back-to-back */
335*4882a593Smuzhiyun #define PCI_SCR_R			(0x00400000)	/* Reserved */
336*4882a593Smuzhiyun #define PCI_SCR_66M			(0x00200000)	/* 66Mhz */
337*4882a593Smuzhiyun #define PCI_SCR_C			(0x00100000)	/* Capabilities list */
338*4882a593Smuzhiyun #define PCI_SCR_F			(0x00000200)	/* Fast back-to-back enable */
339*4882a593Smuzhiyun #define PCI_SCR_S			(0x00000100)	/* SERR enable */
340*4882a593Smuzhiyun #define PCI_SCR_ST			(0x00000080)	/* Addr and Data stepping */
341*4882a593Smuzhiyun #define PCI_SCR_PER			(0x00000040)	/* Parity error response */
342*4882a593Smuzhiyun #define PCI_SCR_V			(0x00000020)	/* VGA palette snoop enable */
343*4882a593Smuzhiyun #define PCI_SCR_MW			(0x00000010)	/* Memory write and invalidate enable */
344*4882a593Smuzhiyun #define PCI_SCR_SP			(0x00000008)	/* Special cycle monitor or ignore */
345*4882a593Smuzhiyun #define PCI_SCR_B			(0x00000004)	/* Bus master enable */
346*4882a593Smuzhiyun #define PCI_SCR_M			(0x00000002)	/* Memory access control */
347*4882a593Smuzhiyun #define PCI_SCR_IO			(0x00000001)	/* I/O access control */
348*4882a593Smuzhiyun 
349*4882a593Smuzhiyun #define PCI_CR1_BIST(x)			((x & 0xFF) << 24)	/* Built in self test */
350*4882a593Smuzhiyun #define PCI_CR1_HDR(x)			((x & 0xFF) << 16)	/* Header type */
351*4882a593Smuzhiyun #define PCI_CR1_LTMR(x)			((x & 0xF8) << 8)	/* Latency timer */
352*4882a593Smuzhiyun #define PCI_CR1_CLS(x)			(x & 0x0F)		/* Cache line size */
353*4882a593Smuzhiyun 
354*4882a593Smuzhiyun #define PCI_BAR_BAR0(x)			(x & 0xFFFC0000)
355*4882a593Smuzhiyun #define PCI_BAR_BAR1(x)			(x & 0xC0000000)
356*4882a593Smuzhiyun #define PCI_BAR_PREF			(0x00000004)	/* Prefetchable access */
357*4882a593Smuzhiyun #define PCI_BAR_RANGE			(0x00000002)	/* Fixed to 00 */
358*4882a593Smuzhiyun #define PCI_BAR_IO_M			(0x00000001)	/* IO / memory space */
359*4882a593Smuzhiyun 
360*4882a593Smuzhiyun #define PCI_CR2_MAXLAT(x)		((x & 0xFF) << 24)	/* Maximum latency */
361*4882a593Smuzhiyun #define PCI_CR2_MINGNT(x)		((x & 0xFF) << 16)	/* Minimum grant */
362*4882a593Smuzhiyun #define PCI_CR2_INTPIN(x)		((x & 0xFF) << 8)	/* Interrupt Pin */
363*4882a593Smuzhiyun #define PCI_CR2_INTLIN(x)		(x & 0xFF)	/* Interrupt Line */
364*4882a593Smuzhiyun 
365*4882a593Smuzhiyun #define PCI_GSCR_DRD			(0x80000000)	/* Delayed read discarded */
366*4882a593Smuzhiyun #define PCI_GSCR_PE			(0x20000000)	/* PCI_PERR detected */
367*4882a593Smuzhiyun #define PCI_GSCR_SE			(0x10000000)	/* SERR detected */
368*4882a593Smuzhiyun #define PCI_GSCR_ER			(0x08000000)	/* Error response detected */
369*4882a593Smuzhiyun #define PCI_GSCR_DRDE			(0x00008000)	/* Delayed read discarded enable */
370*4882a593Smuzhiyun #define PCI_GSCR_PEE			(0x00002000)	/* PERR detected interrupt enable */
371*4882a593Smuzhiyun #define PCI_GSCR_SEE			(0x00001000)	/* SERR detected interrupt enable */
372*4882a593Smuzhiyun #define PCI_GSCR_PR			(0x00000001)	/* PCI reset */
373*4882a593Smuzhiyun 
374*4882a593Smuzhiyun #define PCI_TCR1_LD			(0x01000000)	/* Latency rule disable */
375*4882a593Smuzhiyun #define PCI_TCR1_PID			(0x00020000)	/* Prefetch invalidate and disable */
376*4882a593Smuzhiyun #define PCI_TCR1_P			(0x00010000)	/* Prefetch reads */
377*4882a593Smuzhiyun #define PCI_TCR1_WCD			(0x00000100)	/* Write combine disable */
378*4882a593Smuzhiyun 
379*4882a593Smuzhiyun #define PCI_TCR1_B5E			(0x00002000)	/*  */
380*4882a593Smuzhiyun #define PCI_TCR1_B4E			(0x00001000)	/*  */
381*4882a593Smuzhiyun #define PCI_TCR1_B3E			(0x00000800)	/*  */
382*4882a593Smuzhiyun #define PCI_TCR1_B2E			(0x00000400)	/*  */
383*4882a593Smuzhiyun #define PCI_TCR1_B1E			(0x00000200)	/*  */
384*4882a593Smuzhiyun #define PCI_TCR1_B0E			(0x00000100)	/*  */
385*4882a593Smuzhiyun #define PCI_TCR1_CR			(0x00000001)	/*  */
386*4882a593Smuzhiyun 
387*4882a593Smuzhiyun #define PCI_TBATR_BAT0(x)		(x & 0xFFFC0000)
388*4882a593Smuzhiyun #define PCI_TBATR_BAT1(x)		(x & 0xC0000000)
389*4882a593Smuzhiyun #define PCI_TBATR_EN			(0x00000001)	/* Enable */
390*4882a593Smuzhiyun 
391*4882a593Smuzhiyun #define PCI_IWCR_W0C_IO			(0x08000000)	/* Windows Maps to PCI I/O */
392*4882a593Smuzhiyun #define PCI_IWCR_W0C_PRC_RDMUL		(0x04000000)	/* PCI Memory Read multiple */
393*4882a593Smuzhiyun #define PCI_IWCR_W0C_PRC_RDLN		(0x02000000)	/* PCI Memory Read line */
394*4882a593Smuzhiyun #define PCI_IWCR_W0C_PRC_RD		(0x00000000)	/* PCI Memory Read */
395*4882a593Smuzhiyun #define PCI_IWCR_W0C_EN			(0x01000000)	/* Enable - Register initialize */
396*4882a593Smuzhiyun #define PCI_IWCR_W1C_IO			(0x00080000)	/* Windows Maps to PCI I/O */
397*4882a593Smuzhiyun #define PCI_IWCR_W1C_PRC_RDMUL		(0x00040000)	/* PCI Memory Read multiple */
398*4882a593Smuzhiyun #define PCI_IWCR_W1C_PRC_RDLN		(0x00020000)	/* PCI Memory Read line */
399*4882a593Smuzhiyun #define PCI_IWCR_W1C_PRC_RD		(0x00000000)	/* PCI Memory Read */
400*4882a593Smuzhiyun #define PCI_IWCR_W1C_EN			(0x00010000)	/* Enable - Register initialize */
401*4882a593Smuzhiyun #define PCI_IWCR_W2C_IO			(0x00000800)	/* Windows Maps to PCI I/O */
402*4882a593Smuzhiyun #define PCI_IWCR_W2C_PRC_RDMUL		(0x00000400)	/* PCI Memory Read multiple */
403*4882a593Smuzhiyun #define PCI_IWCR_W2C_PRC_RDLN		(0x00000200)	/* PCI Memory Read line */
404*4882a593Smuzhiyun #define PCI_IWCR_W2C_PRC_RD		(0x00000000)	/* PCI Memory Read */
405*4882a593Smuzhiyun #define PCI_IWCR_W2C_EN			(0x00000100)	/* Enable - Register initialize */
406*4882a593Smuzhiyun 
407*4882a593Smuzhiyun #define PCI_ICR_REE			(0x04000000)	/* Retry error enable */
408*4882a593Smuzhiyun #define PCI_ICR_IAE			(0x02000000)	/* Initiator abort enable */
409*4882a593Smuzhiyun #define PCI_ICR_TAE			(0x01000000)	/* Target abort enable */
410*4882a593Smuzhiyun #define PCI_ICR_MAXRETRY(x)		((x) & 0x000000FF)
411*4882a593Smuzhiyun 
412*4882a593Smuzhiyun #define PCIARB_ACR_DS			(0x80000000)
413*4882a593Smuzhiyun #define PCIARB_ARC_EXTMINTEN(x)		(((x)&0x1F) << 17)
414*4882a593Smuzhiyun #define PCIARB_ARC_INTMINTEN		(0x00010000)
415*4882a593Smuzhiyun #define PCIARB_ARC_EXTMPRI(x)		(((x)&0x1F) << 1)
416*4882a593Smuzhiyun #define PCIARB_ARC_INTMPRI		(0x00000001)
417*4882a593Smuzhiyun 
418*4882a593Smuzhiyun #endif				/* mcf547x_8x_h */
419