xref: /netbsd/sys/arch/arm/xscale/i80312reg.h (revision bf9ec67e)
1 /*	$NetBSD: i80312reg.h,v 1.10 2002/01/24 01:21:44 thorpej Exp $	*/
2 
3 /*
4  * Copyright (c) 2001 Wasabi Systems, Inc.
5  * All rights reserved.
6  *
7  * Written by Jason R. Thorpe for Wasabi Systems, Inc.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  * 1. Redistributions of source code must retain the above copyright
13  *    notice, this list of conditions and the following disclaimer.
14  * 2. Redistributions in binary form must reproduce the above copyright
15  *    notice, this list of conditions and the following disclaimer in the
16  *    documentation and/or other materials provided with the distribution.
17  * 3. All advertising materials mentioning features or use of this software
18  *    must display the following acknowledgement:
19  *	This product includes software developed for the NetBSD Project by
20  *	Wasabi Systems, Inc.
21  * 4. The name of Wasabi Systems, Inc. may not be used to endorse
22  *    or promote products derived from this software without specific prior
23  *    written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
26  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL WASABI SYSTEMS, INC
29  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35  * POSSIBILITY OF SUCH DAMAGE.
36  */
37 
38 /*-
39  * Copyright (c) 2001 The NetBSD Foundation, Inc.
40  * All rights reserved.
41  *
42  * This code is derived from software contributed to The NetBSD Foundation
43  * by Matt Thomas <matt@3am-software.com>.
44  *
45  * Redistribution and use in source and binary forms, with or without
46  * modification, are permitted provided that the following conditions
47  * are met:
48  * 1. Redistributions of source code must retain the above copyright
49  *    notice, this list of conditions and the following disclaimer.
50  * 2. Redistributions in binary form must reproduce the above copyright
51  *    notice, this list of conditions and the following disclaimer in the
52  *    documentation and/or other materials provided with the distribution.
53  * 3. All advertising materials mentioning features or use of this software
54  *    must display the following acknowledgement:
55  *        This product includes software developed by the NetBSD
56  *        Foundation, Inc. and its contributors.
57  * 4. Neither the name of The NetBSD Foundation nor the names of its
58  *    contributors may be used to endorse or promote products derived
59  *    from this software without specific prior written permission.
60  *
61  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
62  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
63  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
64  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
65  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
66  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
67  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
68  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
69  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
70  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
71  * POSSIBILITY OF SUCH DAMAGE.
72  */
73 
74 #ifndef _ARM_XSCALE_I80312REG_H_
75 #define _ARM_XSCALE_I80312REG_H_
76 
77 /*
78  * Register definitions for the Intel 80310 I/O Companion Chip.
79  */
80 
81 /*
82  * Physical addresses 0x1000..0x1fff are used by the Periphial Memory
83  * Mapped Registers.
84  */
85 
86 #define	I80312_PMMR_BASE	0x00001000UL
87 #define	I80312_PMMR_SIZE	0x00001000UL
88 
89 /*
90  * The PMMR registers below are defined as offsets from the i80312 PMMR
91  * base.
92  */
93 
94 /*
95  * PCI-to-PCI Bridge Unit
96  */
97 #define	I80312_PPB_BASE		(0)
98 #define	I80312_PPB_SIZE		0x100
99 /*
100  * Performance Monitoring Unit
101  */
102 #define	I80312_PMU_BASE		(I80312_PPB_BASE  + I80312_PPB_SIZE) /* 0x100 */
103 #define	I80312_PMU_SIZE		0x100
104 /*
105  * Address Translation Unit
106  */
107 #define	I80312_ATU_BASE		(I80312_PMU_BASE  + I80312_PMU_SIZE) /* 0x200 */
108 #define	I80312_ATU_SIZE		0x100
109 /*
110  * Messaging Unit
111  */
112 #define	I80312_MSG_BASE		(I80312_ATU_BASE  + I80312_ATU_SIZE) /* 0x300 */
113 #define	I80312_MSG_SIZE		0x100
114 /*
115  * DMA Controller
116  */
117 #define	I80312_DMA_BASE		(I80312_MSG_BASE  + I80312_MSG_SIZE) /* 0x400 */
118 #define	I80312_DMA_SIZE		0x100
119 /*
120  * Memory Controller
121  */
122 #define	I80312_MEM_BASE		(I80312_DMA_BASE  + I80312_DMA_SIZE) /* 0x500 */
123 #define	I80312_MEM_SIZE		0x100
124 /*
125  * Internal Arbitration Unit
126  */
127 #define	I80312_IARB_BASE	(I80312_MEM_BASE  + I80312_MEM_SIZE) /* 0x600 */
128 #define	I80312_IARB_SIZE	0x040
129 /*
130  * Bus Interface Unit
131  */
132 #define	I80312_BUS_BASE		(I80312_IARB_BASE + I80312_IARB_SIZE)/* 0x640 */
133 #define	I80312_BUS_SIZE		0x040
134 /*
135  * I2C Unit
136  */
137 #define	I80312_IIC_BASE		(I80312_BUS_BASE  + I80312_BUS_SIZE) /* 0x680 */
138 #define	I80312_IIC_SIZE		0x080
139 /*
140  * Interrupt Controller
141  */
142 #define	I80312_INTC_BASE	(I80312_IIC_BASE  + I80312_IIC_SIZE) /* 0x700 */
143 #define	I80312_INTC_SIZE	0x100
144 /*
145  * Application Accelerator Unit
146  */
147 #define	I80312_AAU_BASE		(I80312_INTC_BASE + I80312_INTC_SIZE)/* 0x800 */
148 #define	I80312_AAU_SIZE		0x100
149 
150 /*
151  * PCI-PCI Bridge Unit
152  *
153  * The PCI-PCI Bridge Unit supports both public (accessible to the
154  * host) and private (accessible only to the local system) devices:
155  *
156  *	---------
157  *		S_AD[11]
158  *		S_AD[12]
159  * Private	S_AD[13]
160  *		S_AD[14]
161  *		S_AD[15]
162  *	---------
163  *		S_AD[16]	SISR bit 9
164  *		S_AD[17]	SISR bit 8
165  *		S_AD[18]	SISR bit 7
166  * Public	S_AD[19]	SISR bit 6
167  * or		S_AD[20]	SISR bit 5
168  * Private	S_AD[21]	SISR bit 4
169  *		S_AD[22]	SISR bit 3
170  *		S_AD[23]	SISR bit 2
171  *		S_AD[24]	SISR bit 1
172  *		S_AD[25]	SISR bit 0
173  *	---------
174  *		S_AD[26]
175  *		S_AD[27]
176  * Public	S_AD[28]
177  *		S_AD[29]
178  *		S_AD[30]
179  *		S_AD[31]
180  *	---------
181  *
182  * Setting the specified SISR bit makes the corresponding S_AD line
183  * a private sevice.
184  */
185 #define	I80312_PPB_EBCR		0x40	/* Extended Bridge Control */
186 #define	I80312_PPB_SISR		0x42	/* Secondary ID Select Register */
187 #define	I80312_PPB_PBISR	0x44	/* Primary Bridge Int. Stat. */
188 #define	I80312_PPB_SBISR	0x48	/* Secondary Bridge Int. Stat. */
189 #define	I80312_PPB_SACR		XXX	/* Secondary Arb. Control */
190 #define	I80312_PPB_PIRSR	XXX	/* PCI Int. Routing Select */
191 #define	I80312_PPB_SIOBR	0x54	/* Secondary I/O Base Register */
192 #define	I80312_PPB_SIOLR	0x55	/* Secondary I/O Limit Register */
193 #define	I80312_PPB_SCDR		0x56	/* Secondary Clock Disable Register */
194 #define	I80312_PPB_SMBR		0x58	/* Secondary Memory Base Register */
195 #define	I80312_PPB_SMLR		0x5a	/* Secondary Memory Limit Register */
196 #define	I80312_PPB_SDER		0x5c	/* Secondary Decode Enable Register */
197 #define	I80312_PPB_QCR		0x5e	/* Queue Control Register */
198 
199 #define	PPB_SDER_PMSE		(1U << 2) /* Private Memory Space Enable */
200 
201 /*
202  * Performance Monitoring Unit
203  */
204 #define	I80312_PMU_GTMR		0x00	/* Global Timer Mode Register */
205 #define	I80312_PMU_ESR		0x04	/* Event Select Register */
206 #define	I80312_PMU_EMISR	0x08	/* Event Monitoring Int Stat Reg */
207 #define	I80312_PMU_GTSR		0x10	/* Global Time Stamp Register */
208 					/* Programmable Event Counter Regs */
209 #define	I80312_PMU_PECR(x)	(0x14 + (4 * ((x) - 1)))
210 
211 #define	PMU_GTMR_INTEN		(1U << 0)
212 #define	PMU_GTMR_CNTRDIS	(1U << 2)
213 
214 #define	PMU_ESR_MODE(x)		((x))
215 #define	PMU_ESR_PMIE		(1U << 16)
216 
217 #define	PMU_EMISR_GTS		(1U << 0)
218 #define	PMU_EMISR_PECRS(x)	(1U << (x))
219 
220 /*
221  * Address Translation Unit
222  * The first 64 bytes are identical to a PCI device's config space.
223  */
224 /*	BAR #0			0x10	Primary Inbound ATU Base Address */
225 #define	I80312_ATU_PIAL		0x40	/* Pri. Inbound ATU Limit */
226 #define	I80312_ATU_PIATV	0x44	/* Pri. Inbound ATU Translate Value */
227 #define	I80312_ATU_SIAM		0x48	/* Sec. Inbound ATU Base Address */
228 #define	I80312_ATU_SIAL		0x4c	/* Sec. Inbound ATU Limit */
229 #define	I80312_ATU_SIATV	0x50	/* Sec. Inbound ATU Translate Value */
230 #define	I80312_ATU_POMWV	0x54	/* Pri. Outbound Memory Window Value */
231      /* not used		0x58 */
232 #define	I80312_ATU_POIOWV	0x5c	/* Pri. Outbound I/O Window Value */
233 #define	I80312_ATU_PODACWVL	0x60	/* Pri. Outbound DAC Window Value (Lo)*/
234 #define	I80312_ATU_PODACWVH	0x64	/* Pri. Outbound DAC Window Value (Hi)*/
235 #define	I80312_ATU_SOMWV	0x68	/* Sec. Outbound Memory Window Value */
236 #define	I80312_ATU_SOIOWV	0x6c	/* Sec. Outbound I/O Window Value */
237      /* not used		0x70 */
238 #define	I80312_ATU_ERL		0x74	/* Expansion ROM Limit */
239 #define	I80312_ATU_ERTV		0x78	/* Expansion ROM Translate Value */
240      /* not used		0x7c */
241 #define	I80312_ATU_ACI		0x74	/* ATU Capability Identifier */
242 #define	I80312_ATU_ATNIP	0x78	/* ATU Next Item Pointer */
243 #define	I80312_ATU_APM		0x7c	/* ATU Power Management */
244      /* not used		0x84 */
245 #define	I80312_ATU_ACR		0x88	/* ATU Configuration */
246      /* not used		0x8c */
247 #define	I80312_ATU_PAIS		0x90	/* Pri. ATU Interrupt Status */
248 #define	I80312_ATU_SAIS		0x94	/* Sec. ATU Interrupt Status */
249 #define	I80312_ATU_SACS		0x98	/* Sec. ATU Command/Status */
250 #define	I80312_ATU_SODACWVL	0x9c	/* Sec. Outbound DAC Window Value (lo)*/
251 #define	I80312_ATU_SODACWVH	0xa0	/* Sec. Outbound DAC Window Value (hi)*/
252 #define	I80312_ATU_POCCA	0xa4	/* Pri. Outbound Config Address Data */
253 #define	I80312_ATU_SOCCA	0xa8	/* Sec. Outbound Config Address Data */
254 #define	I80312_ATU_POCCD	0xac	/* Pri. Outbound Config Cycle Data */
255 #define	I80312_ATU_SOCCD	0xb0	/* Sec. Outbound Config Cycle Data */
256 #define	I80312_ATU_PAQC		0xb4	/* Pri. ATU Queue Control */
257 #define	I80312_ATU_SAQC		0xb8	/* Sec. ATU Queue Control */
258 #define	I80312_ATU_PAIM		0xbc	/* Pri. ATU Interrupt Mask */
259 #define	I80312_ATU_SAIM		0xc0	/* Sec. ATU Interrupt Mask */
260      /* not used		0xc4 .. 0xfc */
261 
262 #define	ATU_LIMIT(x) \
263 	((0xffffffffUL - ((x) - 1)) & 0xfffffff0UL)
264 
265 #define	ATU_ACR_POAE		(1U << 1)
266 #define	ATU_ACR_SOAE		(1U << 2)
267 #define	ATU_ACR_SDAS		(1U << 7)
268 #define	ATU_ACR_DAE		(1U << 8)
269 #define	ATU_ACR_PSERRIE		(1U << 9)
270 #define	ATU_ACR_SSERRIE		(1U << 10)
271 #define	ATU_ACR_SBMUAE		(1U << 12)
272 #define	ATU_ACR_ADTS		(1U << 15)
273 #define	ATU_ACR_PSERRMA		(1U << 16)
274 #define	ATU_ACR_SSERRMA		(1U << 17)
275 #define	ATU_ACR_DAU2GTE		(1U << 18)
276 #define	ATU_ACR_PATUDRCA	(1U << 19)
277 #define	ATU_ACR_SATUDRCA	(1U << 20)
278 #define	ATU_ACR_BFN		(1U << 21)
279 
280 #define	ATU_AIM_AETAE		(1U << 0)
281 #define	ATU_AIM_AIESE		(1U << 1)
282 #define	ATU_AIM_MPEIM		(1U << 2)
283 #define	ATU_AIM_TATIM		(1U << 3)
284 #define	ATU_AIM_TAMIM		(1U << 4)
285 #define	ATU_AIM_MAIM		(1U << 5)
286 #define	ATU_AIM_SAIM		(1U << 6)
287 #define	ATU_AIM_DPEIM		(1U << 7)
288 #define	ATU_AIM_PSTIM		(1U << 8)
289 
290 /*
291  * Messaging Unit
292  */
293      /* not used		0x00 .. 0x0c */
294 #define	I80312_MSG_IM0		0x10	/* Inbound Message 0 */
295 #define	I80312_MSG_IM1		0x14	/* Inbound Message 1 */
296 #define	I80312_MSG_OM0		0x18	/* Outbound Message 0 */
297 #define	I80312_MSG_OM1		0x1c	/* Outbound Message 1 */
298 #define	I80312_MSG_ID		0x20	/* Inbound Doorbell */
299 #define	I80312_MSG_IIS		0x24	/* Inbound Interrupt Status */
300 #define	I80312_MSG_IIM		0x28	/* Inbound Interrupt Mask */
301 #define	I80312_MSG_OD		0x2c	/* Outbound Doorbell */
302 #define	I80312_MSG_OIS		0x30	/* Outbound Interrupt Status */
303 #define	I80312_MSG_OIM		0x34	/* Outbound Interrupt Mask */
304      /* not used		0x38 .. 0x4c */
305 #define	I80312_MSG_MC		0x50	/* MU Configuration */
306 #define	I80312_MSG_QBA		0x54	/* Queue Base Address */
307      /* not used		0x58 .. 0x5c */
308 #define	I80312_MSG_IFHP		0x60	/* Inbound Free Head Pointer */
309 #define	I80312_MSG_IFTP		0x64	/* Inbound Free Tail Pointer */
310 #define	I80312_MSG_IPHP		0x68	/* Inbound Post Head Pointer */
311 #define	I80312_MSG_IPTP		0x6c	/* Inbound Post Tail Pointer */
312 #define	I80312_MSG_OFHP		0x70	/* Outbound Free Head Pointer */
313 #define	I80312_MSG_OFTP		0x74	/* Outbound Free Tail Pointer */
314 #define	I80312_MSG_OPHP		0x78	/* Outbound Post Head Pointer */
315 #define	I80312_MSG_OPTP		0x7c	/* Outbound Post Tail Pointer */
316 #define	I80312_MSG_IA		0x80	/* Index Address */
317      /* not used		0x84 .. 0xfc */
318 
319 /*
320  * DMA Controller
321  */
322 #define	I80312_DMA_CHAN0	0x00	/* Channel 0 */
323 #define	I80312_DMA_CHAN1	0x40	/* Channel 1 */
324 #define	I80312_DMA_CHAN2	0x80	/* Channel 2 */
325      /* not used		0xc0 .. 0xfc */
326 
327 #define	I80312_DMA_CC		0x00	/* Channel Control */
328 #define	I80312_DMA_CS		0x04	/* Channel Status */
329      /* not used		0x08 */
330 #define	I80312_DMA_DA		0x0c	/* Descriptor Address */
331 #define	I80312_DMA_NDA		0x10	/* Next Descriptor Address */
332 #define	I80312_DMA_PA		0x14	/* PCI Address */
333 #define	I80312_DMA_PUA		0x18	/* PCI Upper Address */
334 #define	I80312_DMA_IBA		0x1c	/* Internal Bus Address */
335 #define	I80312_DMA_BC		0x20	/* Byte Count */
336 #define	I80312_DMA_DC		0x24	/* Descriptor Control */
337      /* not used		0x28 .. 0x3c */
338 
339 /*
340  * Memory Controller
341  */
342 #define	I80312_MEM_SI		0x00	/* SDRAM Initialization */
343 #define	I80312_MEM_SC		0x04	/* SDRAM Control */
344 #define	I80312_MEM_SB		0x08	/* SDRAM Base */
345 #define	I80312_MEM_SB0		0x0c	/* SDRAM Bank 0 Size */
346 #define	I80312_MEM_SB1		0x10	/* SDRAM Bank 1 Size */
347      /* not used		0x14 .. 0x30 */
348 #define	I80312_MEM_EC		0x34	/* ECC Control */
349 #define	I80312_MEM_EL0		0x38	/* ECC Log 0 */
350 #define	I80312_MEM_EL1		0x3c	/* ECC Log 1 */
351 #define	I80312_MEM_EA0		0x40	/* ECC Address 0 */
352 #define	I80312_MEM_EA1		0x44	/* ECC Address 1 */
353 #define	I80312_MEM_ET		0x48	/* ECC Test */
354 #define	I80312_MEM_FB0		0x4c	/* ECC Flash Base 0 */
355 #define	I80312_MEM_FB1		0x50	/* ECC Flash Base 1 */
356 #define	I80312_MEM_FB0S		0x54	/* ECC Flash Bank 0 Size */
357 #define	I80312_MEM_FB1S		0x58	/* ECC Flash Bank 1 Size */
358 #define	I80312_MEM_FWS1		0x5c	/* ECC Wait State 1 Size */
359 #define	I80312_MEM_FWS0		0x60	/* ECC Wait State 0 Size */
360 #define	I80312_MEM_IS		0x65	/* ECC Interrupt Status */
361 #define	I80312_MEM_RF		0x68	/* ECC Refresh Frequency */
362 #define	I80312_MEM_RF		0x68	/* ECC Refresh Frequency */
363 #define	I80312_MEM_RF		0x68	/* ECC Refresh Frequency */
364 #define	I80312_MEM_RF		0x68	/* ECC Refresh Frequency */
365      /* not used		0x6c .. 0xfc */
366 
367 /*
368  * Internal Arbitration Unit
369  */
370 #define	I80312_ARB_IAC		0x00	/* Internal Aribtration Control */
371 #define	I80312_ARB_MLT		0x04	/* Master Latency Timer */
372 #define	I80312_ARB_MTT		0x08	/* Multi-Transaction Timer */
373      /* not used		0x0c .. 0x3c */
374 
375 /*
376  * Bus(Core) Interface Unit
377  */
378      /* not used		0x40 */
379 #define	I80312_BUS_IS		0x44	/* Interrupt Status */
380      /* not used		0x4c .. 0x7c */
381 
382 /*
383  * I2C Bus Interface Unit
384  */
385 #define	I80312_IIC_CTL		0x80	/* Control */
386 #define	I80312_IIC_STS		0x84	/* Status */
387 #define	I80312_IIC_SA		0x88	/* Slave Address */
388 #define	I80312_IIC_DB		0x8c	/* Data Buffer */
389 #define	I80312_IIC_CC		0x90	/* Clock Control */
390 #define	I80312_IIC_BM		0x94	/* Bus Monitor */
391      /* not used		0x98 .. 0xfc */
392 
393 /*
394  * PCI And Peripheral Interrupt (GPIO) Unit
395  */
396 #define	I80312_INTC_IIS		0x00	/* IRQ Interrupt Status */
397 #define	I80312_INTC_F2IS	0x04	/* FIQ2 Interrupt Status */
398 #define	I80312_INTC_F1IS	0x08	/* FIQ1 Interrupt Status */
399      /* not used		0x0c */
400 #define	I80312_INTC_PDI		0x10	/* Processor Device ID */
401      /* not used		0x14 .. 0x18 */
402 #define	I80312_INTC_GOE		0x1c	/* GPIO Output Enable */
403 #define	I80312_INTC_GID		0x20	/* GPIO Input Data */
404 #define	I80312_INTC_GOD		0x24	/* GPIO Output Data */
405      /* not used		0x28 .. 0xfc */
406 
407 /*
408  * Application Accelerator Registers
409  */
410 #define	I80312_AAU_CTL		0x00	/* Control */
411 #define	I80312_AAU_STS		0x04	/* Status */
412 #define	I80312_AAU_DSCA		0x08	/* Descriptor Address */
413 #define	I80312_AAU_NDA		0x0c	/* Next Descriptor Address */
414 #define	I80312_AAU_SA1		0x10	/* i80200 Source Address 1 */
415 #define	I80312_AAU_SA2		0x14	/* i80200 Source Address 2 */
416 #define	I80312_AAU_SA3		0x18	/* i80200 Source Address 3 */
417 #define	I80312_AAU_SA4		0x1c	/* i80200 Source Address 4 */
418 #define	I80312_AAU_DSTA		0x20	/* i80200 Destination Address */
419 #define	I80312_AAU_ABC		0x24	/* Accelerator Byte Count */
420 #define	I80312_AAU_ADC		0x28	/* Accelerator Descriptor Count */
421 #define	I80312_AAU_SA5		0x2c	/* i80200 Source Address 5 */
422 #define	I80312_AAU_SA6		0x30	/* i80200 Source Address 6 */
423 #define	I80312_AAU_SA7		0x34	/* i80200 Source Address 7 */
424 #define	I80312_AAU_SA8		0x38	/* i80200 Source Address 8 */
425      /* not used		0x3c .. 0xfc */
426 
427 /*
428  * Physical addresses 0x00002000..0x7fffffff are used by the
429  * ATU Outbound Direct Addressing Window.
430  */
431 #define	I80312_PCI_DIRECT_BASE	0x00002000UL
432 #define	I80312_PCI_DIRECT_SIZE	0x7fffe000UL
433 
434 /*
435  * Physical addresses 0x80000000..0x9001ffff are used by the
436  * ATU Outbound Transaction Windows.
437  */
438 #define	I80312_PCI_XLATE_BASE	0x80000000UL
439 #define	I80312_PCI_XLATE_SIZE	0x10020000UL
440 
441 #define	I80312_PCI_XLATE_MSIZE	0x04000000UL	/* 64M */
442 #define	I80312_PCI_XLATE_IOSIZE	0x00010000UL	/* 64K */
443 
444 #define	I80312_PCI_XLATE_PMW_BASE  (I80312_PCI_XLATE_BASE)
445 
446 #define	I80312_PCI_XLATE_PDW_BASE  (I80312_PCI_XLATE_PMW_BASE + \
447 				    I80312_PCI_XLATE_MSIZE)
448 
449 #define	I80312_PCI_XLATE_SMW_BASE  (I80312_PCI_XLATE_PDW_BASE + \
450 				    I80312_PCI_XLATE_MSIZE)
451 
452 #define	I80312_PCI_XLATE_SDW_BASE  (I80312_PCI_XLATE_SMW_BASE + \
453 				    I80312_PCI_XLATE_MSIZE)
454 
455 #define	I80312_PCI_XLATE_PIOW_BASE (I80312_PCI_XLATE_SDW_BASE + \
456 				    I80312_PCI_XLATE_MSIZE)
457 
458 #define	I80312_PCI_XLATE_SIOW_BASE (I80312_PCI_XLATE_PIOW_BASE + \
459 				    I80312_PCI_XLATE_IOSIZE)
460 
461 #endif /* _ARM_XSCALE_I80312REG_H_ */
462