xref: /openbsd/sys/arch/sh/dev/pcicreg.h (revision 95c7671f)
1 /*	$OpenBSD: pcicreg.h,v 1.1.1.1 2006/10/06 21:02:55 miod Exp $	*/
2 /*	$NetBSD: pcicreg.h,v 1.2 2005/12/11 12:18:58 christos Exp $	*/
3 
4 /*-
5  * Copyright (c) 2005 NONAKA Kimihiro
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27  * SUCH DAMAGE.
28  */
29 
30 #include <sh/devreg.h>
31 
32 /*
33  * PCI Controller
34  */
35 
36 #define	SH4_PCIC		0xfe200000
37 
38 #define	SH4_PCIC_IO		0xfe240000
39 #define	SH4_PCIC_IO_SIZE	0x00040000
40 #define	SH4_PCIC_IO_MASK	(SH4_PCIC_IO_SIZE-1)
41 #define	SH4_PCIC_MEM		0xfd000000
42 #define	SH4_PCIC_MEM_SIZE	0x01000000
43 #define	SH4_PCIC_MEM_MASK	(SH4_PCIC_MEM_SIZE-1)
44 
45 #define	SH4_PCICONF	(SH4_PCIC+0x000)	/* 32bit */
46 #define	SH4_PCICONF0	(SH4_PCICONF+0x00)	/* 32bit */
47 #define	SH4_PCICONF1	(SH4_PCICONF+0x04)	/* 32bit */
48 #define	SH4_PCICONF2	(SH4_PCICONF+0x08)	/* 32bit */
49 #define	SH4_PCICONF3	(SH4_PCICONF+0x0c)	/* 32bit */
50 #define	SH4_PCICONF4	(SH4_PCICONF+0x10)	/* 32bit */
51 #define	SH4_PCICONF5	(SH4_PCICONF+0x14)	/* 32bit */
52 #define	SH4_PCICONF6	(SH4_PCICONF+0x18)	/* 32bit */
53 #define	SH4_PCICONF7	(SH4_PCICONF+0x1c)	/* 32bit */
54 #define	SH4_PCICONF8	(SH4_PCICONF+0x20)	/* 32bit */
55 #define	SH4_PCICONF9	(SH4_PCICONF+0x24)	/* 32bit */
56 #define	SH4_PCICONF10	(SH4_PCICONF+0x28)	/* 32bit */
57 #define	SH4_PCICONF11	(SH4_PCICONF+0x2c)	/* 32bit */
58 #define	SH4_PCICONF12	(SH4_PCICONF+0x30)	/* 32bit */
59 #define	SH4_PCICONF13	(SH4_PCICONF+0x34)	/* 32bit */
60 #define	SH4_PCICONF14	(SH4_PCICONF+0x38)	/* 32bit */
61 #define	SH4_PCICONF15	(SH4_PCICONF+0x3c)	/* 32bit */
62 #define	SH4_PCICONF16	(SH4_PCICONF+0x40)	/* 32bit */
63 #define	SH4_PCICONF17	(SH4_PCICONF+0x44)	/* 32bit */
64 #define	SH4_PCICR	(SH4_PCIC+0x100)	/* 32bit */
65 #define	SH4_PCILSR0	(SH4_PCIC+0x104)	/* 32bit */
66 #define	SH4_PCILSR1	(SH4_PCIC+0x108)	/* 32bit */
67 #define	SH4_PCILAR0	(SH4_PCIC+0x10c)	/* 32bit */
68 #define	SH4_PCILAR1	(SH4_PCIC+0x110)	/* 32bit */
69 #define	SH4_PCIINT	(SH4_PCIC+0x114)	/* 32bit */
70 #define	SH4_PCIINTM	(SH4_PCIC+0x118)	/* 32bit */
71 #define	SH4_PCIALR	(SH4_PCIC+0x11c)	/* 32bit */
72 #define	SH4_PCICLR	(SH4_PCIC+0x120)	/* 32bit */
73 #define	SH4_PCIAINT	(SH4_PCIC+0x130)	/* 32bit */
74 #define	SH4_PCIAINTM	(SH4_PCIC+0x134)	/* 32bit */
75 #define	SH4_PCIDMABT	(SH4_PCIC+0x140)	/* 32bit */
76 #define	SH4_PCIDPA0	(SH4_PCIC+0x180)	/* 32bit */
77 #define	SH4_PCIDLA0	(SH4_PCIC+0x184)	/* 32bit */
78 #define	SH4_PCIDTC0	(SH4_PCIC+0x188)	/* 32bit */
79 #define	SH4_PCIDCR0	(SH4_PCIC+0x18c)	/* 32bit */
80 #define	SH4_PCIDPA1	(SH4_PCIC+0x190)	/* 32bit */
81 #define	SH4_PCIDLA1	(SH4_PCIC+0x194)	/* 32bit */
82 #define	SH4_PCIDTC1	(SH4_PCIC+0x198)	/* 32bit */
83 #define	SH4_PCIDCR1	(SH4_PCIC+0x19c)	/* 32bit */
84 #define	SH4_PCIDPA2	(SH4_PCIC+0x1a0)	/* 32bit */
85 #define	SH4_PCIDLA2	(SH4_PCIC+0x1a4)	/* 32bit */
86 #define	SH4_PCIDTC2	(SH4_PCIC+0x1a8)	/* 32bit */
87 #define	SH4_PCIDCR2	(SH4_PCIC+0x1ac)	/* 32bit */
88 #define	SH4_PCIDPA3	(SH4_PCIC+0x1b0)	/* 32bit */
89 #define	SH4_PCIDLA3	(SH4_PCIC+0x1b4)	/* 32bit */
90 #define	SH4_PCIDTC3	(SH4_PCIC+0x1b8)	/* 32bit */
91 #define	SH4_PCIDCR3	(SH4_PCIC+0x1bc)	/* 32bit */
92 #define	SH4_PCIPAR	(SH4_PCIC+0x1c0)	/* 32bit */
93 #define	SH4_PCIMBR	(SH4_PCIC+0x1c4)	/* 32bit */
94 #define	SH4_PCIIOBR	(SH4_PCIC+0x1c8)	/* 32bit */
95 #define	SH4_PCIPINT	(SH4_PCIC+0x1cc)	/* 32bit */
96 #define	SH4_PCIPINTM	(SH4_PCIC+0x1d0)	/* 32bit */
97 #define	SH4_PCICLKR	(SH4_PCIC+0x1d4)	/* 32bit */
98 #define	SH4_PCIBCR1	(SH4_PCIC+0x1e0)	/* 32bit */
99 #define	SH4_PCIBCR2	(SH4_PCIC+0x1e4)	/* 32bit */
100 #define	SH4_PCIWCR1	(SH4_PCIC+0x1e8)	/* 32bit */
101 #define	SH4_PCIWCR2	(SH4_PCIC+0x1ec)	/* 32bit */
102 #define	SH4_PCIWCR3	(SH4_PCIC+0x1f0)	/* 32bit */
103 #define	SH4_PCIMCR	(SH4_PCIC+0x1f4)	/* 32bit */
104 #define	SH4_PCIBCR3	(SH4_PCIC+0x1f8)	/* 32bit: SH7751R */
105 #define	SH4_PCIPCTR	(SH4_PCIC+0x200)	/* 32bit */
106 #define	SH4_PCIPDTR	(SH4_PCIC+0x204)	/* 32bit */
107 #define	SH4_PCIPDR	(SH4_PCIC+0x220)	/* 32bit */
108 
109 #define	PCICR_BASE		0xa5000000
110 #define	PCICR_TRDSGL		0x00000200
111 #define	PCICR_BYTESWAP		0x00000100
112 #define	PCICR_PCIPUP		0x00000080
113 #define	PCICR_BMABT		0x00000040
114 #define	PCICR_MD10		0x00000020
115 #define	PCICR_MD9		0x00000010
116 #define	PCICR_SERR		0x00000008
117 #define	PCICR_INTA		0x00000004
118 #define	PCICR_RSTCTL		0x00000002
119 #define	PCICR_CFINIT		0x00000001
120 
121 #define	PCIINT_M_LOCKON		0x00008000
122 #define	PCIINT_T_TGT_ABORT	0x00004000
123 #define	PCIINT_TGT_RETRY	0x00000200
124 #define	PCIINT_MST_DIS		0x00000100
125 #define	PCIINT_ADRPERR		0x00000080
126 #define	PCIINT_SERR_DET		0x00000040
127 #define	PCIINT_T_DPERR_WT	0x00000020
128 #define	PCIINT_T_PERR_DET	0x00000010
129 #define	PCIINT_M_TGT_ABORT	0x00000008
130 #define	PCIINT_M_MST_ABORT	0x00000004
131 #define	PCIINT_M_DPERR_WT	0x00000002
132 #define	PCIINT_M_DPERR_RD	0x00000001
133 #define	PCIINT_ALL		0x0000c3ff
134 #define	PCIINT_CLEAR_ALL	PCIINT_ALL
135 
136 #define	PCIINTM_MASK_ALL	0x00000000
137 #define	PCIINTM_UNMASK_ALL	PCIINT_ALL
138 
139 #define	PCIMBR_MASK		0xff000000
140 
141 #define	PCIIOBR_MASK		0xffc00000
142