xref: /rk3399_rockchip-uboot/arch/m68k/include/asm/m547x_8x.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
1819833afSPeter Tyser /*
2819833afSPeter Tyser  * mcf547x_8x.h -- Definitions for Freescale Coldfire 547x_8x
3819833afSPeter Tyser  *
4819833afSPeter Tyser  * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
5819833afSPeter Tyser  * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
6819833afSPeter Tyser  *
7*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
8819833afSPeter Tyser  */
9819833afSPeter Tyser 
10819833afSPeter Tyser #ifndef mcf547x_8x_h
11819833afSPeter Tyser #define mcf547x_8x_h
12819833afSPeter Tyser 
13819833afSPeter Tyser /*********************************************************************
14819833afSPeter Tyser * XLB Arbiter (XLB)
15819833afSPeter Tyser *********************************************************************/
16819833afSPeter Tyser /* Bit definitions and macros for XARB_CFG */
17819833afSPeter Tyser #define XARB_CFG_AT			(0x00000002)
18819833afSPeter Tyser #define XARB_CFG_DT			(0x00000004)
19819833afSPeter Tyser #define XARB_CFG_BA			(0x00000008)
20819833afSPeter Tyser #define XARB_CFG_PM(x)			(((x)&0x00000003)<<5)
21819833afSPeter Tyser #define XARB_CFG_SP(x)			(((x)&0x00000007)<<8)
22819833afSPeter Tyser #define XARB_CFG_PLDIS			(0x80000000)
23819833afSPeter Tyser 
24819833afSPeter Tyser /* Bit definitions and macros for XARB_SR */
25819833afSPeter Tyser #define XARB_SR_AT			(0x00000001)
26819833afSPeter Tyser #define XARB_SR_DT			(0x00000002)
27819833afSPeter Tyser #define XARB_SR_BA			(0x00000004)
28819833afSPeter Tyser #define XARB_SR_TTM			(0x00000008)
29819833afSPeter Tyser #define XARB_SR_ECW			(0x00000010)
30819833afSPeter Tyser #define XARB_SR_TTR			(0x00000020)
31819833afSPeter Tyser #define XARB_SR_TTA			(0x00000040)
32819833afSPeter Tyser #define XARB_SR_MM			(0x00000080)
33819833afSPeter Tyser #define XARB_SR_SEA			(0x00000100)
34819833afSPeter Tyser 
35819833afSPeter Tyser /* Bit definitions and macros for XARB_IMR */
36819833afSPeter Tyser #define XARB_IMR_ATE			(0x00000001)
37819833afSPeter Tyser #define XARB_IMR_DTE			(0x00000002)
38819833afSPeter Tyser #define XARB_IMR_BAE			(0x00000004)
39819833afSPeter Tyser #define XARB_IMR_TTME			(0x00000008)
40819833afSPeter Tyser #define XARB_IMR_ECWE			(0x00000010)
41819833afSPeter Tyser #define XARB_IMR_TTRE			(0x00000020)
42819833afSPeter Tyser #define XARB_IMR_TTAE			(0x00000040)
43819833afSPeter Tyser #define XARB_IMR_MME			(0x00000080)
44819833afSPeter Tyser #define XARB_IMR_SEAE			(0x00000100)
45819833afSPeter Tyser 
46819833afSPeter Tyser /* Bit definitions and macros for XARB_SIGCAP */
47819833afSPeter Tyser #define XARB_SIGCAP_TT(x)		((x)&0x0000001F)
48819833afSPeter Tyser #define XARB_SIGCAP_TBST		(0x00000020)
49819833afSPeter Tyser #define XARB_SIGCAP_TSIZ(x)		(((x)&0x00000007)<<7)
50819833afSPeter Tyser 
51819833afSPeter Tyser /* Bit definitions and macros for XARB_PRIEN */
52819833afSPeter Tyser #define XARB_PRIEN_M0			(0x00000001)
53819833afSPeter Tyser #define XARB_PRIEN_M2			(0x00000004)
54819833afSPeter Tyser #define XARB_PRIEN_M3			(0x00000008)
55819833afSPeter Tyser 
56819833afSPeter Tyser /* Bit definitions and macros for XARB_PRI */
57819833afSPeter Tyser #define XARB_PRI_M0P(x)			(((x)&0x00000007)<<0)
58819833afSPeter Tyser #define XARB_PRI_M2P(x)			(((x)&0x00000007)<<8)
59819833afSPeter Tyser #define XARB_PRI_M3P(x)			(((x)&0x00000007)<<12)
60819833afSPeter Tyser 
61819833afSPeter Tyser /*********************************************************************
62819833afSPeter Tyser * General Purpose I/O (GPIO)
63819833afSPeter Tyser *********************************************************************/
64819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_FBCTL */
65819833afSPeter Tyser #define GPIO_PAR_FBCTL_TS(x)		(((x)&0x0003)<<0)
66819833afSPeter Tyser #define GPIO_PAR_FBCTL_TA		(0x0004)
67819833afSPeter Tyser #define GPIO_PAR_FBCTL_RWB(x)		(((x)&0x0003)<<4)
68819833afSPeter Tyser #define GPIO_PAR_FBCTL_OE		(0x0040)
69819833afSPeter Tyser #define GPIO_PAR_FBCTL_BWE0		(0x0100)
70819833afSPeter Tyser #define GPIO_PAR_FBCTL_BWE1		(0x0400)
71819833afSPeter Tyser #define GPIO_PAR_FBCTL_BWE2		(0x1000)
72819833afSPeter Tyser #define GPIO_PAR_FBCTL_BWE3		(0x4000)
73819833afSPeter Tyser #define GPIO_PAR_FBCTL_TS_GPIO		(0)
74819833afSPeter Tyser #define GPIO_PAR_FBCTL_TS_TBST		(2)
75819833afSPeter Tyser #define GPIO_PAR_FBCTL_TS_TS		(3)
76819833afSPeter Tyser #define GPIO_PAR_FBCTL_RWB_GPIO		(0x0000)
77819833afSPeter Tyser #define GPIO_PAR_FBCTL_RWB_TBST		(0x0020)
78819833afSPeter Tyser #define GPIO_PAR_FBCTL_RWB_RWB		(0x0030)
79819833afSPeter Tyser 
80819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_FBCS */
81819833afSPeter Tyser #define GPIO_PAR_FBCS_CS1		(0x02)
82819833afSPeter Tyser #define GPIO_PAR_FBCS_CS2		(0x04)
83819833afSPeter Tyser #define GPIO_PAR_FBCS_CS3		(0x08)
84819833afSPeter Tyser #define GPIO_PAR_FBCS_CS4		(0x10)
85819833afSPeter Tyser #define GPIO_PAR_FBCS_CS5		(0x20)
86819833afSPeter Tyser 
87819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_DMA */
88819833afSPeter Tyser #define GPIO_PAR_DMA_DREQ0(x)		(((x)&0x03)<<0)
89819833afSPeter Tyser #define GPIO_PAR_DMA_DREQ1(x)		(((x)&0x03)<<2)
90819833afSPeter Tyser #define GPIO_PAR_DMA_DACK0(x)		(((x)&0x03)<<4)
91819833afSPeter Tyser #define GPIO_PAR_DMA_DACK1(x)		(((x)&0x03)<<6)
92819833afSPeter Tyser #define GPIO_PAR_DMA_DACKx_GPIO		(0)
93819833afSPeter Tyser #define GPIO_PAR_DMA_DACKx_TOUT		(2)
94819833afSPeter Tyser #define GPIO_PAR_DMA_DACKx_DACK		(3)
95819833afSPeter Tyser #define GPIO_PAR_DMA_DREQx_GPIO		(0)
96819833afSPeter Tyser #define GPIO_PAR_DMA_DREQx_TIN		(2)
97819833afSPeter Tyser #define GPIO_PAR_DMA_DREQx_DREQ		(3)
98819833afSPeter Tyser 
99819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_FECI2CIRQ */
100819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_IRQ5		(0x0001)
101819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_IRQ6		(0x0002)
102819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_SCL		(0x0004)
103819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_SDA		(0x0008)
104819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDC(x)	(((x)&0x0003)<<6)
105819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDIO(x)	(((x)&0x0003)<<8)
106819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MII	(0x0400)
107819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E17		(0x0800)
108819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E0MDC	(0x1000)
109819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E0MDIO	(0x2000)
110819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E0MII	(0x4000)
111819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E07		(0x8000)
112819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDIO_CANRX	(0x0000)
113819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDIO_SDA	(0x0200)
114819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDIO_EMDIO	(0x0300)
115819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDC_CANTX	(0x0000)
116819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDC_SCL	(0x0080)
117819833afSPeter Tyser #define GPIO_PAR_FECI2CIRQ_E1MDC_EMDC	(0x00C0)
118819833afSPeter Tyser 
119819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_PCIBG */
120819833afSPeter Tyser #define GPIO_PAR_PCIBG_PCIBG0(x)	(((x)&0x0003)<<0)
121819833afSPeter Tyser #define GPIO_PAR_PCIBG_PCIBG1(x)	(((x)&0x0003)<<2)
122819833afSPeter Tyser #define GPIO_PAR_PCIBG_PCIBG2(x)	(((x)&0x0003)<<4)
123819833afSPeter Tyser #define GPIO_PAR_PCIBG_PCIBG3(x)	(((x)&0x0003)<<6)
124819833afSPeter Tyser #define GPIO_PAR_PCIBG_PCIBG4(x)	(((x)&0x0003)<<8)
125819833afSPeter Tyser 
126819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_PCIBR */
127819833afSPeter Tyser #define GPIO_PAR_PCIBR_PCIBR0(x)	(((x)&0x0003)<<0)
128819833afSPeter Tyser #define GPIO_PAR_PCIBR_PCIBR1(x)	(((x)&0x0003)<<2)
129819833afSPeter Tyser #define GPIO_PAR_PCIBR_PCIBR2(x)	(((x)&0x0003)<<4)
130819833afSPeter Tyser #define GPIO_PAR_PCIBR_PCIBR3(x)	(((x)&0x0003)<<6)
131819833afSPeter Tyser #define GPIO_PAR_PCIBR_PCIBR4(x)	(((x)&0x0003)<<8)
132819833afSPeter Tyser 
133819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_PSC3 */
134819833afSPeter Tyser #define GPIO_PAR_PSC3_TXD3		(0x04)
135819833afSPeter Tyser #define GPIO_PAR_PSC3_RXD3		(0x08)
136819833afSPeter Tyser #define GPIO_PAR_PSC3_RTS3(x)		(((x)&0x03)<<4)
137819833afSPeter Tyser #define GPIO_PAR_PSC3_CTS3(x)		(((x)&0x03)<<6)
138819833afSPeter Tyser #define GPIO_PAR_PSC3_CTS3_GPIO		(0x00)
139819833afSPeter Tyser #define GPIO_PAR_PSC3_CTS3_BCLK		(0x80)
140819833afSPeter Tyser #define GPIO_PAR_PSC3_CTS3_CTS		(0xC0)
141819833afSPeter Tyser #define GPIO_PAR_PSC3_RTS3_GPIO		(0x00)
142819833afSPeter Tyser #define GPIO_PAR_PSC3_RTS3_FSYNC	(0x20)
143819833afSPeter Tyser #define GPIO_PAR_PSC3_RTS3_RTS		(0x30)
144819833afSPeter Tyser #define GPIO_PAR_PSC3_CTS2_CANRX	(0x40)
145819833afSPeter Tyser 
146819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_PSC2 */
147819833afSPeter Tyser #define GPIO_PAR_PSC2_TXD2		(0x04)
148819833afSPeter Tyser #define GPIO_PAR_PSC2_RXD2		(0x08)
149819833afSPeter Tyser #define GPIO_PAR_PSC2_RTS2(x)		(((x)&0x03)<<4)
150819833afSPeter Tyser #define GPIO_PAR_PSC2_CTS2(x)		(((x)&0x03)<<6)
151819833afSPeter Tyser #define GPIO_PAR_PSC2_CTS2_GPIO		(0x00)
152819833afSPeter Tyser #define GPIO_PAR_PSC2_CTS2_BCLK		(0x80)
153819833afSPeter Tyser #define GPIO_PAR_PSC2_CTS2_CTS		(0xC0)
154819833afSPeter Tyser #define GPIO_PAR_PSC2_RTS2_GPIO		(0x00)
155819833afSPeter Tyser #define GPIO_PAR_PSC2_RTS2_CANTX	(0x10)
156819833afSPeter Tyser #define GPIO_PAR_PSC2_RTS2_FSYNC	(0x20)
157819833afSPeter Tyser #define GPIO_PAR_PSC2_RTS2_RTS		(0x30)
158819833afSPeter Tyser 
159819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_PSC1 */
160819833afSPeter Tyser #define GPIO_PAR_PSC1_TXD1		(0x04)
161819833afSPeter Tyser #define GPIO_PAR_PSC1_RXD1		(0x08)
162819833afSPeter Tyser #define GPIO_PAR_PSC1_RTS1(x)		(((x)&0x03)<<4)
163819833afSPeter Tyser #define GPIO_PAR_PSC1_CTS1(x)		(((x)&0x03)<<6)
164819833afSPeter Tyser #define GPIO_PAR_PSC1_CTS1_GPIO		(0x00)
165819833afSPeter Tyser #define GPIO_PAR_PSC1_CTS1_BCLK		(0x80)
166819833afSPeter Tyser #define GPIO_PAR_PSC1_CTS1_CTS		(0xC0)
167819833afSPeter Tyser #define GPIO_PAR_PSC1_RTS1_GPIO		(0x00)
168819833afSPeter Tyser #define GPIO_PAR_PSC1_RTS1_FSYNC	(0x20)
169819833afSPeter Tyser #define GPIO_PAR_PSC1_RTS1_RTS		(0x30)
170819833afSPeter Tyser 
171819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_PSC0 */
172819833afSPeter Tyser #define GPIO_PAR_PSC0_TXD0		(0x04)
173819833afSPeter Tyser #define GPIO_PAR_PSC0_RXD0		(0x08)
174819833afSPeter Tyser #define GPIO_PAR_PSC0_RTS0(x)		(((x)&0x03)<<4)
175819833afSPeter Tyser #define GPIO_PAR_PSC0_CTS0(x)		(((x)&0x03)<<6)
176819833afSPeter Tyser #define GPIO_PAR_PSC0_CTS0_GPIO		(0x00)
177819833afSPeter Tyser #define GPIO_PAR_PSC0_CTS0_BCLK		(0x80)
178819833afSPeter Tyser #define GPIO_PAR_PSC0_CTS0_CTS		(0xC0)
179819833afSPeter Tyser #define GPIO_PAR_PSC0_RTS0_GPIO		(0x00)
180819833afSPeter Tyser #define GPIO_PAR_PSC0_RTS0_FSYNC	(0x20)
181819833afSPeter Tyser #define GPIO_PAR_PSC0_RTS0_RTS		(0x30)
182819833afSPeter Tyser 
183819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_DSPI */
184819833afSPeter Tyser #define GPIO_PAR_DSPI_SOUT(x)		(((x)&0x0003)<<0)
185819833afSPeter Tyser #define GPIO_PAR_DSPI_SIN(x)		(((x)&0x0003)<<2)
186819833afSPeter Tyser #define GPIO_PAR_DSPI_SCK(x)		(((x)&0x0003)<<4)
187819833afSPeter Tyser #define GPIO_PAR_DSPI_CS0(x)		(((x)&0x0003)<<6)
188819833afSPeter Tyser #define GPIO_PAR_DSPI_CS2(x)		(((x)&0x0003)<<8)
189819833afSPeter Tyser #define GPIO_PAR_DSPI_CS3(x)		(((x)&0x0003)<<10)
190819833afSPeter Tyser #define GPIO_PAR_DSPI_CS5		(0x1000)
191819833afSPeter Tyser #define GPIO_PAR_DSPI_CS3_GPIO		(0x0000)
192819833afSPeter Tyser #define GPIO_PAR_DSPI_CS3_CANTX		(0x0400)
193819833afSPeter Tyser #define GPIO_PAR_DSPI_CS3_TOUT		(0x0800)
194819833afSPeter Tyser #define GPIO_PAR_DSPI_CS3_DSPICS	(0x0C00)
195819833afSPeter Tyser #define GPIO_PAR_DSPI_CS2_GPIO		(0x0000)
196819833afSPeter Tyser #define GPIO_PAR_DSPI_CS2_CANTX		(0x0100)
197819833afSPeter Tyser #define GPIO_PAR_DSPI_CS2_TOUT		(0x0200)
198819833afSPeter Tyser #define GPIO_PAR_DSPI_CS2_DSPICS	(0x0300)
199819833afSPeter Tyser #define GPIO_PAR_DSPI_CS0_GPIO		(0x0000)
200819833afSPeter Tyser #define GPIO_PAR_DSPI_CS0_FSYNC		(0x0040)
201819833afSPeter Tyser #define GPIO_PAR_DSPI_CS0_RTS		(0x0080)
202819833afSPeter Tyser #define GPIO_PAR_DSPI_CS0_DSPICS	(0x00C0)
203819833afSPeter Tyser #define GPIO_PAR_DSPI_SCK_GPIO		(0x0000)
204819833afSPeter Tyser #define GPIO_PAR_DSPI_SCK_BCLK		(0x0010)
205819833afSPeter Tyser #define GPIO_PAR_DSPI_SCK_CTS		(0x0020)
206819833afSPeter Tyser #define GPIO_PAR_DSPI_SCK_SCK		(0x0030)
207819833afSPeter Tyser #define GPIO_PAR_DSPI_SIN_GPIO		(0x0000)
208819833afSPeter Tyser #define GPIO_PAR_DSPI_SIN_RXD		(0x0008)
209819833afSPeter Tyser #define GPIO_PAR_DSPI_SIN_SIN		(0x000C)
210819833afSPeter Tyser #define GPIO_PAR_DSPI_SOUT_GPIO		(0x0000)
211819833afSPeter Tyser #define GPIO_PAR_DSPI_SOUT_TXD		(0x0002)
212819833afSPeter Tyser #define GPIO_PAR_DSPI_SOUT_SOUT		(0x0003)
213819833afSPeter Tyser 
214819833afSPeter Tyser /* Bit definitions and macros for GPIO_PAR_TIMER */
215819833afSPeter Tyser #define GPIO_PAR_TIMER_TOUT2		(0x01)
216819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN2(x)		(((x)&0x03)<<1)
217819833afSPeter Tyser #define GPIO_PAR_TIMER_TOUT3		(0x08)
218819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN3(x)		(((x)&0x03)<<4)
219819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN3_CANRX	(0x00)
220819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN3_IRQ		(0x20)
221819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN3_TIN		(0x30)
222819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN2_CANRX	(0x00)
223819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN2_IRQ		(0x04)
224819833afSPeter Tyser #define GPIO_PAR_TIMER_TIN2_TIN		(0x06)
225819833afSPeter Tyser 
226819833afSPeter Tyser /*********************************************************************
227819833afSPeter Tyser * Slice Timer (SLT)
228819833afSPeter Tyser *********************************************************************/
229819833afSPeter Tyser #define SLT_CR_RUN			(0x04000000)
230819833afSPeter Tyser #define SLT_CR_IEN			(0x02000000)
231819833afSPeter Tyser #define SLT_CR_TEN			(0x01000000)
232819833afSPeter Tyser 
233819833afSPeter Tyser #define SLT_SR_BE			(0x02000000)
234819833afSPeter Tyser #define SLT_SR_ST			(0x01000000)
235819833afSPeter Tyser 
236819833afSPeter Tyser /*********************************************************************
237819833afSPeter Tyser * Interrupt Controller (INTC)
238819833afSPeter Tyser *********************************************************************/
239819833afSPeter Tyser #define INT0_LO_RSVD0			(0)
240819833afSPeter Tyser #define INT0_LO_EPORT1			(1)
241819833afSPeter Tyser #define INT0_LO_EPORT2			(2)
242819833afSPeter Tyser #define INT0_LO_EPORT3			(3)
243819833afSPeter Tyser #define INT0_LO_EPORT4			(4)
244819833afSPeter Tyser #define INT0_LO_EPORT5			(5)
245819833afSPeter Tyser #define INT0_LO_EPORT6			(6)
246819833afSPeter Tyser #define INT0_LO_EPORT7			(7)
247819833afSPeter Tyser #define INT0_LO_EP0ISR			(15)
248819833afSPeter Tyser #define INT0_LO_EP1ISR			(16)
249819833afSPeter Tyser #define INT0_LO_EP2ISR			(17)
250819833afSPeter Tyser #define INT0_LO_EP3ISR			(18)
251819833afSPeter Tyser #define INT0_LO_EP4ISR			(19)
252819833afSPeter Tyser #define INT0_LO_EP5ISR			(20)
253819833afSPeter Tyser #define INT0_LO_EP6ISR			(21)
254819833afSPeter Tyser #define INT0_LO_USBISR			(22)
255819833afSPeter Tyser #define INT0_LO_USBAISR			(23)
256819833afSPeter Tyser #define INT0_LO_USB			(24)
257819833afSPeter Tyser #define INT1_LO_DSPI_RFOF_TFUF		(25)
258819833afSPeter Tyser #define INT1_LO_DSPI_RFOF		(26)
259819833afSPeter Tyser #define INT1_LO_DSPI_RFDF		(27)
260819833afSPeter Tyser #define INT1_LO_DSPI_TFUF		(28)
261819833afSPeter Tyser #define INT1_LO_DSPI_TCF		(29)
262819833afSPeter Tyser #define INT1_LO_DSPI_TFFF		(30)
263819833afSPeter Tyser #define INT1_LO_DSPI_EOQF		(31)
264819833afSPeter Tyser 
265819833afSPeter Tyser #define INT0_HI_UART3			(32)
266819833afSPeter Tyser #define INT0_HI_UART2			(33)
267819833afSPeter Tyser #define INT0_HI_UART1			(34)
268819833afSPeter Tyser #define INT0_HI_UART0			(35)
269819833afSPeter Tyser #define INT0_HI_COMMTIM_TC		(36)
270819833afSPeter Tyser #define INT0_HI_SEC			(37)
271819833afSPeter Tyser #define INT0_HI_FEC1			(38)
272819833afSPeter Tyser #define INT0_HI_FEC0			(39)
273819833afSPeter Tyser #define INT0_HI_I2C			(40)
274819833afSPeter Tyser #define INT0_HI_PCIARB			(41)
275819833afSPeter Tyser #define INT0_HI_CBPCI			(42)
276819833afSPeter Tyser #define INT0_HI_XLBPCI			(43)
277819833afSPeter Tyser #define INT0_HI_XLBARB			(47)
278819833afSPeter Tyser #define INT0_HI_DMA			(48)
279819833afSPeter Tyser #define INT0_HI_CAN0_ERROR		(49)
280819833afSPeter Tyser #define INT0_HI_CAN0_BUSOFF		(50)
281819833afSPeter Tyser #define INT0_HI_CAN0_MBOR		(51)
282819833afSPeter Tyser #define INT0_HI_SLT1			(53)
283819833afSPeter Tyser #define INT0_HI_SLT0			(54)
284819833afSPeter Tyser #define INT0_HI_CAN1_ERROR		(55)
285819833afSPeter Tyser #define INT0_HI_CAN1_BUSOFF		(56)
286819833afSPeter Tyser #define INT0_HI_CAN1_MBOR		(57)
287819833afSPeter Tyser #define INT0_HI_GPT3			(59)
288819833afSPeter Tyser #define INT0_HI_GPT2			(60)
289819833afSPeter Tyser #define INT0_HI_GPT1			(61)
290819833afSPeter Tyser #define INT0_HI_GPT0			(62)
291819833afSPeter Tyser 
292819833afSPeter Tyser /*********************************************************************
293819833afSPeter Tyser * General Purpose Timers (GPTMR)
294819833afSPeter Tyser *********************************************************************/
295819833afSPeter Tyser /* Enable and Mode Select */
296819833afSPeter Tyser #define GPT_OCT(x)			(x & 0x3)<<4	/* Output Compare Type */
297819833afSPeter Tyser #define GPT_ICT(x)			(x & 0x3)	/* Input Capture Type */
298819833afSPeter Tyser #define GPT_CTRL_WDEN			0x80		/* Watchdog Enable */
299819833afSPeter Tyser #define GPT_CTRL_CE			0x10		/* Counter Enable */
300819833afSPeter Tyser #define GPT_CTRL_STPCNT			0x04		/* Stop continous */
301819833afSPeter Tyser #define GPT_CTRL_ODRAIN			0x02		/* Open Drain */
302819833afSPeter Tyser #define GPT_CTRL_INTEN			0x01		/* Interrupt Enable */
303819833afSPeter Tyser #define GPT_MODE_GPIO(x)		(x & 0x3)<<4	/* Gpio Mode Type */
304819833afSPeter Tyser #define GPT_TMS_ICT			0x01		/* Input Capture Enable */
305819833afSPeter Tyser #define GPT_TMS_OCT			0x02		/* Output Capture Enable */
306819833afSPeter Tyser #define GPT_TMS_PWM			0x03		/* PWM Capture Enable */
307819833afSPeter Tyser #define GPT_TMS_SGPIO			0x04		/* PWM Capture Enable */
308819833afSPeter Tyser 
309819833afSPeter Tyser #define GPT_PWM_WIDTH(x)		(x & 0xffff)
310819833afSPeter Tyser 
311819833afSPeter Tyser /* Status */
312819833afSPeter Tyser #define GPT_STA_CAPTURE(x)		(x & 0xffff)
313819833afSPeter Tyser 
314819833afSPeter Tyser #define GPT_OVFPIN_OVF(x)		(x & 0x70)
315819833afSPeter Tyser #define GPT_OVFPIN_PIN			0x01
316819833afSPeter Tyser 
317819833afSPeter Tyser #define GPT_INT_TEXP			0x08
318819833afSPeter Tyser #define GPT_INT_PWMP			0x04
319819833afSPeter Tyser #define GPT_INT_COMP			0x02
320819833afSPeter Tyser #define GPT_INT_CAPT			0x01
321819833afSPeter Tyser 
322819833afSPeter Tyser /*********************************************************************
323819833afSPeter Tyser * PCI
324819833afSPeter Tyser *********************************************************************/
325819833afSPeter Tyser 
326819833afSPeter Tyser /* Bit definitions and macros for SCR */
327819833afSPeter Tyser #define PCI_SCR_PE			(0x80000000)	/* Parity Error detected */
328819833afSPeter Tyser #define PCI_SCR_SE			(0x40000000)	/* System error signalled */
329819833afSPeter Tyser #define PCI_SCR_MA			(0x20000000)	/* Master aboart received */
330819833afSPeter Tyser #define PCI_SCR_TR			(0x10000000)	/* Target abort received */
331819833afSPeter Tyser #define PCI_SCR_TS			(0x08000000)	/* Target abort signalled */
332819833afSPeter Tyser #define PCI_SCR_DT			(0x06000000)	/* PCI_DEVSEL timing */
333819833afSPeter Tyser #define PCI_SCR_DP			(0x01000000)	/* Master data parity err */
334819833afSPeter Tyser #define PCI_SCR_FC			(0x00800000)	/* Fast back-to-back */
335819833afSPeter Tyser #define PCI_SCR_R			(0x00400000)	/* Reserved */
336819833afSPeter Tyser #define PCI_SCR_66M			(0x00200000)	/* 66Mhz */
337819833afSPeter Tyser #define PCI_SCR_C			(0x00100000)	/* Capabilities list */
338819833afSPeter Tyser #define PCI_SCR_F			(0x00000200)	/* Fast back-to-back enable */
339819833afSPeter Tyser #define PCI_SCR_S			(0x00000100)	/* SERR enable */
340819833afSPeter Tyser #define PCI_SCR_ST			(0x00000080)	/* Addr and Data stepping */
341819833afSPeter Tyser #define PCI_SCR_PER			(0x00000040)	/* Parity error response */
342819833afSPeter Tyser #define PCI_SCR_V			(0x00000020)	/* VGA palette snoop enable */
343819833afSPeter Tyser #define PCI_SCR_MW			(0x00000010)	/* Memory write and invalidate enable */
344819833afSPeter Tyser #define PCI_SCR_SP			(0x00000008)	/* Special cycle monitor or ignore */
345819833afSPeter Tyser #define PCI_SCR_B			(0x00000004)	/* Bus master enable */
346819833afSPeter Tyser #define PCI_SCR_M			(0x00000002)	/* Memory access control */
347819833afSPeter Tyser #define PCI_SCR_IO			(0x00000001)	/* I/O access control */
348819833afSPeter Tyser 
349819833afSPeter Tyser #define PCI_CR1_BIST(x)			((x & 0xFF) << 24)	/* Built in self test */
350819833afSPeter Tyser #define PCI_CR1_HDR(x)			((x & 0xFF) << 16)	/* Header type */
351819833afSPeter Tyser #define PCI_CR1_LTMR(x)			((x & 0xF8) << 8)	/* Latency timer */
352819833afSPeter Tyser #define PCI_CR1_CLS(x)			(x & 0x0F)		/* Cache line size */
353819833afSPeter Tyser 
354819833afSPeter Tyser #define PCI_BAR_BAR0(x)			(x & 0xFFFC0000)
355819833afSPeter Tyser #define PCI_BAR_BAR1(x)			(x & 0xC0000000)
356819833afSPeter Tyser #define PCI_BAR_PREF			(0x00000004)	/* Prefetchable access */
357819833afSPeter Tyser #define PCI_BAR_RANGE			(0x00000002)	/* Fixed to 00 */
358819833afSPeter Tyser #define PCI_BAR_IO_M			(0x00000001)	/* IO / memory space */
359819833afSPeter Tyser 
360819833afSPeter Tyser #define PCI_CR2_MAXLAT(x)		((x & 0xFF) << 24)	/* Maximum latency */
361819833afSPeter Tyser #define PCI_CR2_MINGNT(x)		((x & 0xFF) << 16)	/* Minimum grant */
362819833afSPeter Tyser #define PCI_CR2_INTPIN(x)		((x & 0xFF) << 8)	/* Interrupt Pin */
363819833afSPeter Tyser #define PCI_CR2_INTLIN(x)		(x & 0xFF)	/* Interrupt Line */
364819833afSPeter Tyser 
365819833afSPeter Tyser #define PCI_GSCR_DRD			(0x80000000)	/* Delayed read discarded */
366819833afSPeter Tyser #define PCI_GSCR_PE			(0x20000000)	/* PCI_PERR detected */
367819833afSPeter Tyser #define PCI_GSCR_SE			(0x10000000)	/* SERR detected */
368819833afSPeter Tyser #define PCI_GSCR_ER			(0x08000000)	/* Error response detected */
369819833afSPeter Tyser #define PCI_GSCR_DRDE			(0x00008000)	/* Delayed read discarded enable */
370819833afSPeter Tyser #define PCI_GSCR_PEE			(0x00002000)	/* PERR detected interrupt enable */
371819833afSPeter Tyser #define PCI_GSCR_SEE			(0x00001000)	/* SERR detected interrupt enable */
372819833afSPeter Tyser #define PCI_GSCR_PR			(0x00000001)	/* PCI reset */
373819833afSPeter Tyser 
374819833afSPeter Tyser #define PCI_TCR1_LD			(0x01000000)	/* Latency rule disable */
375819833afSPeter Tyser #define PCI_TCR1_PID			(0x00020000)	/* Prefetch invalidate and disable */
376819833afSPeter Tyser #define PCI_TCR1_P			(0x00010000)	/* Prefetch reads */
377819833afSPeter Tyser #define PCI_TCR1_WCD			(0x00000100)	/* Write combine disable */
378819833afSPeter Tyser 
379819833afSPeter Tyser #define PCI_TCR1_B5E			(0x00002000)	/*  */
380819833afSPeter Tyser #define PCI_TCR1_B4E			(0x00001000)	/*  */
381819833afSPeter Tyser #define PCI_TCR1_B3E			(0x00000800)	/*  */
382819833afSPeter Tyser #define PCI_TCR1_B2E			(0x00000400)	/*  */
383819833afSPeter Tyser #define PCI_TCR1_B1E			(0x00000200)	/*  */
384819833afSPeter Tyser #define PCI_TCR1_B0E			(0x00000100)	/*  */
385819833afSPeter Tyser #define PCI_TCR1_CR			(0x00000001)	/*  */
386819833afSPeter Tyser 
387819833afSPeter Tyser #define PCI_TBATR_BAT0(x)		(x & 0xFFFC0000)
388819833afSPeter Tyser #define PCI_TBATR_BAT1(x)		(x & 0xC0000000)
389819833afSPeter Tyser #define PCI_TBATR_EN			(0x00000001)	/* Enable */
390819833afSPeter Tyser 
391819833afSPeter Tyser #define PCI_IWCR_W0C_IO			(0x08000000)	/* Windows Maps to PCI I/O */
392819833afSPeter Tyser #define PCI_IWCR_W0C_PRC_RDMUL		(0x04000000)	/* PCI Memory Read multiple */
393819833afSPeter Tyser #define PCI_IWCR_W0C_PRC_RDLN		(0x02000000)	/* PCI Memory Read line */
394819833afSPeter Tyser #define PCI_IWCR_W0C_PRC_RD		(0x00000000)	/* PCI Memory Read */
395819833afSPeter Tyser #define PCI_IWCR_W0C_EN			(0x01000000)	/* Enable - Register initialize */
396819833afSPeter Tyser #define PCI_IWCR_W1C_IO			(0x00080000)	/* Windows Maps to PCI I/O */
397819833afSPeter Tyser #define PCI_IWCR_W1C_PRC_RDMUL		(0x00040000)	/* PCI Memory Read multiple */
398819833afSPeter Tyser #define PCI_IWCR_W1C_PRC_RDLN		(0x00020000)	/* PCI Memory Read line */
399819833afSPeter Tyser #define PCI_IWCR_W1C_PRC_RD		(0x00000000)	/* PCI Memory Read */
400819833afSPeter Tyser #define PCI_IWCR_W1C_EN			(0x00010000)	/* Enable - Register initialize */
401819833afSPeter Tyser #define PCI_IWCR_W2C_IO			(0x00000800)	/* Windows Maps to PCI I/O */
402819833afSPeter Tyser #define PCI_IWCR_W2C_PRC_RDMUL		(0x00000400)	/* PCI Memory Read multiple */
403819833afSPeter Tyser #define PCI_IWCR_W2C_PRC_RDLN		(0x00000200)	/* PCI Memory Read line */
404819833afSPeter Tyser #define PCI_IWCR_W2C_PRC_RD		(0x00000000)	/* PCI Memory Read */
405819833afSPeter Tyser #define PCI_IWCR_W2C_EN			(0x00000100)	/* Enable - Register initialize */
406819833afSPeter Tyser 
407819833afSPeter Tyser #define PCI_ICR_REE			(0x04000000)	/* Retry error enable */
408819833afSPeter Tyser #define PCI_ICR_IAE			(0x02000000)	/* Initiator abort enable */
409819833afSPeter Tyser #define PCI_ICR_TAE			(0x01000000)	/* Target abort enable */
410819833afSPeter Tyser #define PCI_ICR_MAXRETRY(x)		((x) & 0x000000FF)
411819833afSPeter Tyser 
412819833afSPeter Tyser #define PCIARB_ACR_DS			(0x80000000)
413819833afSPeter Tyser #define PCIARB_ARC_EXTMINTEN(x)		(((x)&0x1F) << 17)
414819833afSPeter Tyser #define PCIARB_ARC_INTMINTEN		(0x00010000)
415819833afSPeter Tyser #define PCIARB_ARC_EXTMPRI(x)		(((x)&0x1F) << 1)
416819833afSPeter Tyser #define PCIARB_ARC_INTMPRI		(0x00000001)
417819833afSPeter Tyser 
418819833afSPeter Tyser #endif				/* mcf547x_8x_h */
419