xref: /titanic_50/usr/src/uts/common/sys/pcic_reg.h (revision 3db86aab554edbb4244c8d1a1c90f152eee768af)
1*3db86aabSstevel /*
2*3db86aabSstevel  * CDDL HEADER START
3*3db86aabSstevel  *
4*3db86aabSstevel  * The contents of this file are subject to the terms of the
5*3db86aabSstevel  * Common Development and Distribution License (the "License").
6*3db86aabSstevel  * You may not use this file except in compliance with the License.
7*3db86aabSstevel  *
8*3db86aabSstevel  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*3db86aabSstevel  * or http://www.opensolaris.org/os/licensing.
10*3db86aabSstevel  * See the License for the specific language governing permissions
11*3db86aabSstevel  * and limitations under the License.
12*3db86aabSstevel  *
13*3db86aabSstevel  * When distributing Covered Code, include this CDDL HEADER in each
14*3db86aabSstevel  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*3db86aabSstevel  * If applicable, add the following below this CDDL HEADER, with the
16*3db86aabSstevel  * fields enclosed by brackets "[]" replaced with your own identifying
17*3db86aabSstevel  * information: Portions Copyright [yyyy] [name of copyright owner]
18*3db86aabSstevel  *
19*3db86aabSstevel  * CDDL HEADER END
20*3db86aabSstevel  */
21*3db86aabSstevel 
22*3db86aabSstevel /*
23*3db86aabSstevel  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
24*3db86aabSstevel  * Use is subject to license terms.
25*3db86aabSstevel  */
26*3db86aabSstevel 
27*3db86aabSstevel /*
28*3db86aabSstevel  * Intel 82365SL device and register definitions
29*3db86aabSstevel  */
30*3db86aabSstevel 
31*3db86aabSstevel #ifndef _PCIC_REG_H
32*3db86aabSstevel #define	_PCIC_REG_H
33*3db86aabSstevel 
34*3db86aabSstevel #pragma ident	"%Z%%M%	%I%	%E% SMI"
35*3db86aabSstevel 
36*3db86aabSstevel #ifdef	__cplusplus
37*3db86aabSstevel extern "C" {
38*3db86aabSstevel #endif
39*3db86aabSstevel 
40*3db86aabSstevel /*
41*3db86aabSstevel  * global information
42*3db86aabSstevel  */
43*3db86aabSstevel #define	PCIC_MAX_CONTROLLERS	4 /* maximum of 4 chips in system */
44*3db86aabSstevel 
45*3db86aabSstevel /*
46*3db86aabSstevel  * per socket information
47*3db86aabSstevel  */
48*3db86aabSstevel 
49*3db86aabSstevel #define	PCIC_SOCKETS	2	/* number of sockets per PCIC chip */
50*3db86aabSstevel #define	PCIC_MEMWINDOWS	5	/* number of memory windows per socket */
51*3db86aabSstevel #define	PCIC_IOWINDOWS	2	/* number of I/O address windows per socket */
52*3db86aabSstevel /* number of windows per chip */
53*3db86aabSstevel #define	PCIC_NUMWINDOWS ((PCIC_MEMWINDOWS + PCIC_IOWINDOWS) * PCIC_SOCKETS)
54*3db86aabSstevel /* number of windows per socket */
55*3db86aabSstevel #define	PCIC_NUMWINSOCK	(PCIC_MEMWINDOWS+PCIC_IOWINDOWS)
56*3db86aabSstevel 
57*3db86aabSstevel /*
58*3db86aabSstevel  * socket selection registers
59*3db86aabSstevel  *
60*3db86aabSstevel  * the PCIC allows up to 8 sockets per system
61*3db86aabSstevel  * this is done by having two sockets per chip and up to 4 chips per
62*3db86aabSstevel  * system.  There can be up to 4 sockets (2 PCIC chips) per I/O address.
63*3db86aabSstevel  * There are two possible I/O address (index register) values.
64*3db86aabSstevel  * socket#	I/O address	value to write to index register
65*3db86aabSstevel  *   0		INDEX_REG0	BASE0 + SOCKET_0 + register offset
66*3db86aabSstevel  *   1		INDEX_REG0	BASE0 + SOCKET_1 + register offset
67*3db86aabSstevel  *   2		INDEX_REG0	BASE1 + SOCKET_0 + register offset
68*3db86aabSstevel  *   3		INDEX_REG0	BASE1 + SOCKET_1 + register offset
69*3db86aabSstevel  * next 4 are based off of INDEX_REG1
70*3db86aabSstevel  */
71*3db86aabSstevel 
72*3db86aabSstevel #define	PCIC_INDEX_REG0	0x3e0	/* first possible index register */
73*3db86aabSstevel #define	PCIC_INDEX_REG1	0x3e2	/* second possible index register */
74*3db86aabSstevel 
75*3db86aabSstevel #define	PCIC_BASE0	0x00	/* first set of sockets */
76*3db86aabSstevel #define	PCIC_BASE1	0x80	/* second set of sockets */
77*3db86aabSstevel 
78*3db86aabSstevel #define	PCIC_SOCKET_0	0x00	/* first socket */
79*3db86aabSstevel #define	PCIC_SOCKET_1	0x40	/* second socket */
80*3db86aabSstevel 
81*3db86aabSstevel #define	PCIC_DATA_REG0	(PCIC_INDEX_REG0+1)
82*3db86aabSstevel #define	PCIC_DATA_REG1	(PCIC_INDEX_REG1+1)
83*3db86aabSstevel 
84*3db86aabSstevel /*
85*3db86aabSstevel  * per socket register
86*3db86aabSstevel  * these are accessed by writing the offset value into the
87*3db86aabSstevel  * index register and adding the appropriate base offset and socket offset
88*3db86aabSstevel  * the register is then present in the data register.
89*3db86aabSstevel  */
90*3db86aabSstevel 
91*3db86aabSstevel /* General Registers */
92*3db86aabSstevel 
93*3db86aabSstevel #define	PCIC_CHIP_REVISION	0x00 /* identification and revision */
94*3db86aabSstevel #define	PCIC_INTERFACE_STATUS	0x01 /* Interface status */
95*3db86aabSstevel #define	PCIC_POWER_CONTROL	0x02 /* Power and RESETDRV control */
96*3db86aabSstevel #define	PCIC_CARD_STATUS_CHANGE	0x04 /* card status change */
97*3db86aabSstevel #define	PCIC_MAPPING_ENABLE	0x06 /* address window mapping enable */
98*3db86aabSstevel #define	PCIC_CARD_DETECT	0x16 /* card detect&general control register */
99*3db86aabSstevel #define	PCIC_MISC_CTL_1		0x16 /* CL version */
100*3db86aabSstevel #define	PCIC_GLOBAL_CONTROL	0x1e /* global control register */
101*3db86aabSstevel #define	PCIC_MISC_CTL_2		0x1e /* CL version */
102*3db86aabSstevel #define	PCIC_CHIP_INFO		0x1f /* Cirrus Logic chip info register */
103*3db86aabSstevel 
104*3db86aabSstevel /* Interrupt Registers */
105*3db86aabSstevel 
106*3db86aabSstevel #define	PCIC_INTERRUPT		0x03 /* interrupt & general control register */
107*3db86aabSstevel #define	PCIC_MANAGEMENT_INT	0x05 /* card status change interrupt register */
108*3db86aabSstevel 
109*3db86aabSstevel /* I/O Registers */
110*3db86aabSstevel 
111*3db86aabSstevel #define	PCIC_IO_CONTROL		0x07 /* I/O Control register */
112*3db86aabSstevel #define	PCIC_IO_ADDR_0_STARTLOW	0x08 /* I/O address map 0 start low byte */
113*3db86aabSstevel #define	PCIC_IO_ADDR_0_STARTHI	0x09 /* I/O address map 0 start high byte */
114*3db86aabSstevel #define	PCIC_IO_ADDR_0_STOPLOW	0x0a /* I/O address map 0 stop low byte */
115*3db86aabSstevel #define	PCIC_IO_ADDR_0_STOPHI	0x0b /* I/O address map 0 stop high byte */
116*3db86aabSstevel #define	PCIC_IO_OFFSET_LOW	0x36 /* I/O Offset for CL */
117*3db86aabSstevel #define	PCIC_IO_OFFSET_HI	0x37
118*3db86aabSstevel #define	PCIC_IO_OFFSET_OFFSET	2
119*3db86aabSstevel 
120*3db86aabSstevel #define	PCIC_IO_ADDR_1_OFFSET	5 /* offset to second I/O map register set */
121*3db86aabSstevel #define	PCIC_IO_WIN_MASK	0xf
122*3db86aabSstevel 
123*3db86aabSstevel /* Memory Registers */
124*3db86aabSstevel 				/* window 0 */
125*3db86aabSstevel #define	PCIC_SYSMEM_0_STARTLOW	0x10 /* system memory map 0 start low byte */
126*3db86aabSstevel #define	PCIC_SYSMEM_0_STARTHI	0x11 /* system memory map 0 start high byte */
127*3db86aabSstevel #define	PCIC_SYSMEM_0_STOPLOW	0x12 /* system memory map 0 stop low byte */
128*3db86aabSstevel #define	PCIC_SYSMEM_0_STOPHI	0x13 /* system memory map 0 stop high byte */
129*3db86aabSstevel #define	PCIC_CARDMEM_0_LOW	0x14 /* card memory offset 0 low byte */
130*3db86aabSstevel #define	PCIC_CARDMEM_0_HI	0x15 /* card memory offset 0 high byte */
131*3db86aabSstevel 
132*3db86aabSstevel 				/* window 1 */
133*3db86aabSstevel #define	PCIC_SYSMEM_1_STARTLOW	0x18 /* system memory map 0 start low byte */
134*3db86aabSstevel #define	PCIC_SYSMEM_1_STARTHI	0x19 /* system memory map 0 start high byte */
135*3db86aabSstevel #define	PCIC_SYSMEM_1_STOPLOW	0x1a /* system memory map 0 stop low byte */
136*3db86aabSstevel #define	PCIC_SYSMEM_1_STOPHI	0x1b /* system memory map 0 stop high byte */
137*3db86aabSstevel #define	PCIC_CARDMEM_1_LOW	0x1c /* card memory offset 0 low byte */
138*3db86aabSstevel #define	PCIC_CARDMEM_1_HI	0x1d /* card memory offset 0 high byte */
139*3db86aabSstevel 
140*3db86aabSstevel #define	PCIC_MEM_1_OFFSET	8 /* offset to second memory map register set */
141*3db86aabSstevel #define	PCIC_MEM_2_OFFSET	16
142*3db86aabSstevel #define	PCIC_MEM_3_OFFSET	24
143*3db86aabSstevel #define	PCIC_MEM_4_OFFSET	32
144*3db86aabSstevel 
145*3db86aabSstevel #define	PCIC_IO_OFFSET		4 /* offset to next set of I/O map registers */
146*3db86aabSstevel 
147*3db86aabSstevel /* Cirrus Logic specific registers */
148*3db86aabSstevel #define	PCIC_TIME_SETUP_0	0x3A
149*3db86aabSstevel #define	PCIC_TIME_SETUP_1	0x3D
150*3db86aabSstevel #define	PCIC_TIME_COMMAND_0	0x3B
151*3db86aabSstevel #define	PCIC_TIME_COMMAND_1	0x3E
152*3db86aabSstevel #define	PCIC_TIME_RECOVER_0	0x3C
153*3db86aabSstevel #define	PCIC_TIME_RECOVER_1	0x3F
154*3db86aabSstevel #define	PCIC_ATA_CONTROL	0x26
155*3db86aabSstevel #define	PCIC_FIFO_CONTROL	0x17
156*3db86aabSstevel #define	PCIC_CL_EXINDEX		0x2e
157*3db86aabSstevel #define	PCIC_CL_EXDATA		0x2f
158*3db86aabSstevel 
159*3db86aabSstevel /*
160*3db86aabSstevel  * Cirrus Logic PCI-PCMCIA adapters extension register indicies
161*3db86aabSstevel  */
162*3db86aabSstevel #define	PCIC_CLEXT_SCRATCH	0x00
163*3db86aabSstevel #define	PCIC_CLEXT_DMASK_0	0x01
164*3db86aabSstevel #define	PCIC_CLEXT_EXT_CTL_1	0x03
165*3db86aabSstevel #define	PCIC_CLEXT_MMAP0_UA	0x05
166*3db86aabSstevel #define	PCIC_CLEXT_MMAP1_UA	0x06
167*3db86aabSstevel #define	PCIC_CLEXT_MMAP2_UA	0x07
168*3db86aabSstevel #define	PCIC_CLEXT_MMAP3_UA	0x08
169*3db86aabSstevel #define	PCIC_CLEXT_MMAP4_UA	0x09
170*3db86aabSstevel #define	PCIC_CLEXT_EXDATA	0x0a
171*3db86aabSstevel #define	PCIC_CLEXT_EXT_CTL_2	0x0b	/* 6729 */
172*3db86aabSstevel #define	PCIC_CLEXT_MISC_CTL_3	0x25	/* 6730 */
173*3db86aabSstevel #define	PCIC_CLEXT_SMB_CTL	0x26	/* 6730 */
174*3db86aabSstevel 
175*3db86aabSstevel /* the 6832 is mapped into different offsets for extension regs */
176*3db86aabSstevel 
177*3db86aabSstevel #define	PCIC_CBCLEXT_MMAP0_UA	0x40 /* minus the 0x800 */
178*3db86aabSstevel #define	PCIC_CBCLEXT_MMAP1_UA	0x41
179*3db86aabSstevel #define	PCIC_CBCLEXT_MMAP2_UA	0x42
180*3db86aabSstevel #define	PCIC_CBCLEXT_MMAP3_UA	0x43
181*3db86aabSstevel #define	PCIC_CBCLEXT_MMAP4_UA	0x44
182*3db86aabSstevel #define	PCIC_CBCLEXT_MMAP5_UA	0x45
183*3db86aabSstevel 
184*3db86aabSstevel #define	PCIC_CLEXT_MISC_CTL_3_REV_MASK	0xf0
185*3db86aabSstevel 
186*3db86aabSstevel /*
187*3db86aabSstevel  * Cirrus Logic PCI-PCMCIA PCIC_CLEXT_EXT_CTL_1 reg bit definitions
188*3db86aabSstevel  */
189*3db86aabSstevel #define	PCIC_CLEXT_IRQ_LVL_MODE	0x08
190*3db86aabSstevel #define	PCIC_CLEXT_SMI_LVL_MODE	0x00 /* see errata 1.0 */
191*3db86aabSstevel 
192*3db86aabSstevel /*
193*3db86aabSstevel  * Cirrus Logic PCI-PCMCIA PCIC_MISC_CTL_2 reg bit definitions
194*3db86aabSstevel  */
195*3db86aabSstevel #define	PCIC_CL_LP_DYN_MODE	0x02	/* low-power dynamic mode */
196*3db86aabSstevel #define	PCIC_CL_TIMER_CLK_DIV	0x10	/* PCI clock divide */
197*3db86aabSstevel 
198*3db86aabSstevel /*
199*3db86aabSstevel  * Cirrus Logic PCI-PCMCIA PCIC_CLEXT_MISC_CTL_3 reg bit definitions
200*3db86aabSstevel  */
201*3db86aabSstevel #define	PCIC_CLEXT_INT_PC_PCI	0x00
202*3db86aabSstevel #define	PCIC_CLEXT_INT_EXT_HW	0x01
203*3db86aabSstevel #define	PCIC_CLEXT_INT_PCI_WAY	0x10
204*3db86aabSstevel #define	PCIC_CLEXT_INT_PCI	0x03 /* see errata 1.0 */
205*3db86aabSstevel #define	PCIC_CLEXT_PWR_EXT_HW	0x00
206*3db86aabSstevel #define	PCIC_CLEXT_PWR_RESERVED	0x04
207*3db86aabSstevel #define	PCIC_CLEXT_PWR_TI	0x80
208*3db86aabSstevel #define	PCIC_CLEXT_PWR_SMB	0xc0
209*3db86aabSstevel 
210*3db86aabSstevel /*
211*3db86aabSstevel  * Intel 82092-AA reg and bit definitions
212*3db86aabSstevel  */
213*3db86aabSstevel #define	PCIC_82092_PCICON	0x40	/* PCI configuration control */
214*3db86aabSstevel #define	PCIC_82092_PCICLK_25MHZ	0x01	/* 25MHz PCI clock */
215*3db86aabSstevel #define	PCIC_82092_SLOT_CONFIG	0x06	/* config mask */
216*3db86aabSstevel #define	PCIC_82092_2_SOCKETS	0x00	/* 2 sockets */
217*3db86aabSstevel #define	PCIC_82092_1_SOCKET	0x02	/* 1 socket + IDE */
218*3db86aabSstevel #define	PCIC_82092_4_SOCKETS	0x04	/* 4 sockets + IDE */
219*3db86aabSstevel #define	PCIC_82092_EN_TIMING	0x20	/* enhanced memory window timing */
220*3db86aabSstevel #define	PCIC_82092_PWB		0x08	/* Post Write Buffering */
221*3db86aabSstevel #define	PCIC_82092_RPFB		0x10	/* Read Prefetch Buffering */
222*3db86aabSstevel #define	PCIC_82092_PPIRR	0x50	/* interrupt routing register */
223*3db86aabSstevel #define	PCIC_82092_SMI_CTL(sock, state)	(state << (sock * 2))
224*3db86aabSstevel #define	PCIC_82092_IRQ_CTL(sock, state)	(state << ((sock * 2) + 1))
225*3db86aabSstevel #define	PCIC_82092_CTL_SMI	0x01
226*3db86aabSstevel #define	PCIC_82092_CTL_IRQ	0x02
227*3db86aabSstevel #define	PCIC_82092_INT_DISABLE	0x00
228*3db86aabSstevel #define	PCIC_82092_INT_ENABLE	0x01
229*3db86aabSstevel #define	PCIC_82092_CPAGE	0x26	/* CPAGE register */
230*3db86aabSstevel 
231*3db86aabSstevel /*
232*3db86aabSstevel  * identification and revision register
233*3db86aabSstevel  */
234*3db86aabSstevel #define	PCIC_REV_ID_MASK	0xc0
235*3db86aabSstevel #define	PCIC_REV_ID_IO		0x00
236*3db86aabSstevel #define	PCIC_REV_ID_MEM		0x40
237*3db86aabSstevel #define	PCIC_REV_ID_BOTH	0x80
238*3db86aabSstevel 
239*3db86aabSstevel /*
240*3db86aabSstevel  * interface status register bit definitions
241*3db86aabSstevel  */
242*3db86aabSstevel #define	PCIC_ISTAT_CD_MASK	0xC /* card detect mask */
243*3db86aabSstevel #define	PCIC_CD_PRESENT_OK	0xC /* card is present and fully seated */
244*3db86aabSstevel #define	PCIC_CD_NOTPRESENT	0x0 /* card not present */
245*3db86aabSstevel #define	PCIC_CD_NOTSEATED_1	0x8 /* card not fully seated */
246*3db86aabSstevel #define	PCIC_CD1		0x8
247*3db86aabSstevel #define	PCIC_CD_NOTSEATED_2	0x4 /* card not fully seated */
248*3db86aabSstevel #define	PCIC_CD2		0x4
249*3db86aabSstevel #define	PCIC_WRITE_PROTECT	0x10
250*3db86aabSstevel #define	PCIC_READY		0x20
251*3db86aabSstevel #define	PCIC_POWER_ON		0x40
252*3db86aabSstevel #define	PCIC_VPP_VALID		0x80
253*3db86aabSstevel #define	PCIC_BVD1		0x1
254*3db86aabSstevel #define	PCIC_BVD2		0x2
255*3db86aabSstevel 
256*3db86aabSstevel /*
257*3db86aabSstevel  * memory register definitions
258*3db86aabSstevel  */
259*3db86aabSstevel #define	SYSMEM_LOW(x)		(((uint32_t)(x)>>12)&0xFF)
260*3db86aabSstevel #define	SYSMEM_HIGH(x)		(((uint32_t)(x)>>20)&0xF)
261*3db86aabSstevel #define	SYSMEM_EXT(x)		(((uint32_t)(x)>>24)&0xFF)
262*3db86aabSstevel #define	SYSMEM_WINDOW(x)	(1<<(x))
263*3db86aabSstevel #define	SYSMEM_ZERO_WAIT	0x40 /* zero wait state bit */
264*3db86aabSstevel #define	SYSMEM_DATA_16		0x80 /* 16 bit memory bit */
265*3db86aabSstevel #define	SYSMEM_MEM16		0x20 /* 16 bit memory in window enable */
266*3db86aabSstevel #define	SYSMEM_CLTIMER_SET_0	0x00
267*3db86aabSstevel #define	SYSMEM_CLTIMER_SET_1	0x80
268*3db86aabSstevel 
269*3db86aabSstevel #define	SYSMEM_82092_600NS	0x0110
270*3db86aabSstevel #define	SYSMEM_82092_250NS	0x0101
271*3db86aabSstevel #define	SYSMEM_82092_200NS	0x0100
272*3db86aabSstevel #define	SYSMEM_82092_150NS	0x0011
273*3db86aabSstevel #define	SYSMEM_82092_100NS	0x0010
274*3db86aabSstevel #define	SYSMEM_82092_80NS	0x0001
275*3db86aabSstevel 
276*3db86aabSstevel #define	DEFAULT_AM_ADDR		0xd0000
277*3db86aabSstevel 
278*3db86aabSstevel #define	CARDMEM_REG_ACTIVE	0x40
279*3db86aabSstevel #define	CARDMEM_WRITE_PROTECT	0x80
280*3db86aabSstevel 
281*3db86aabSstevel #define	CARDMEM_LOW(x)		(((uint32_t)((x))>>12)&0xFF)
282*3db86aabSstevel #define	CARDMEM_HIGH(x)		(((uint32_t)((x))>>20)&0x3F)
283*3db86aabSstevel 
284*3db86aabSstevel #define	POWER_CARD_ENABLE	0x10
285*3db86aabSstevel #define	POWER_3VCARD_ENABLE	0x18
286*3db86aabSstevel #define	POWER_OUTPUT_ENABLE	0x80
287*3db86aabSstevel #define	POWER_VPP_VCC_ENABLE	0x01
288*3db86aabSstevel #define	POWER_VPP_12V_ENABLE	0x02
289*3db86aabSstevel 
290*3db86aabSstevel /* interrupt register definitions */
291*3db86aabSstevel #define	PCIC_INTR_ENABLE	0x10
292*3db86aabSstevel #define	PCIC_IO_CARD		0x20
293*3db86aabSstevel #define	PCIC_RESET		0x40
294*3db86aabSstevel #define	PCIC_INTR_MASK		0x0f
295*3db86aabSstevel 
296*3db86aabSstevel /* card status change register definitions */
297*3db86aabSstevel #define	PCIC_CD_DETECT		0x08
298*3db86aabSstevel #define	PCIC_RD_DETECT		0x04
299*3db86aabSstevel #define	PCIC_BW_DETECT		0x02
300*3db86aabSstevel #define	PCIC_BD_DETECT		0x01
301*3db86aabSstevel #define	PCIC_CHANGE_MASK	0x0f
302*3db86aabSstevel 
303*3db86aabSstevel /* card status change interrupt register definitions */
304*3db86aabSstevel #define	PCIC_CD_ENABLE		0x08 /* card detect enable */
305*3db86aabSstevel #define	PCIC_RD_ENABLE		0x04 /* ready change enable */
306*3db86aabSstevel #define	PCIC_BW_ENABLE		0x02 /* battery warning enable */
307*3db86aabSstevel #define	PCIC_BD_ENABLE		0x01 /* battery deat enable */
308*3db86aabSstevel #define	PCIC_GPI_CHANGE		0x10 /* general purpose interrupt */
309*3db86aabSstevel #define	PCIC_CHANGE_DEFAULT	(PCIC_CD_ENABLE|PCIC_RD_ENABLE|\
310*3db86aabSstevel 					PCIC_BW_ENABLE|PCIC_BD_ENABLE)
311*3db86aabSstevel 
312*3db86aabSstevel /* card detect change register */
313*3db86aabSstevel #define	PCIC_GPI_ENABLE		0x04
314*3db86aabSstevel #define	PCIC_GPI_TRANSITION	0x08
315*3db86aabSstevel #define	PCIC_16MDI		0x01
316*3db86aabSstevel #define	PCIC_SOFT_CD_INTR	0x20
317*3db86aabSstevel 
318*3db86aabSstevel /* misc control 1 */
319*3db86aabSstevel #define	PCIC_MC_5VDETECT	0x01
320*3db86aabSstevel #define	PCIC_MC_3VCC		0x02
321*3db86aabSstevel #define	PCIC_MC_PULSE_SMI	0x04
322*3db86aabSstevel #define	PCIC_MC_PULSE_IRQ	0x08
323*3db86aabSstevel #define	PCIC_MC_SPEAKER_ENB	0x10
324*3db86aabSstevel #define	PCIC_MC_INPACK_ENB 	0x80
325*3db86aabSstevel 
326*3db86aabSstevel /* global control registers definitions */
327*3db86aabSstevel #define	PCIC_GC_POWERDOWN	0x01
328*3db86aabSstevel #define	PCIC_GC_LEVELMODE	0x02
329*3db86aabSstevel #define	PCIC_GC_CSC_WRITE	0x04
330*3db86aabSstevel #define	PCIC_GC_IRQ1_PULSE	0x08
331*3db86aabSstevel 
332*3db86aabSstevel /* misc control 2 */
333*3db86aabSstevel #define	PCIC_MC_BYPASS_FS	0x01
334*3db86aabSstevel #define	PCIC_MC_LOWPOWER	0x02
335*3db86aabSstevel #define	PCIC_MC_SUSPEND 	0x04
336*3db86aabSstevel #define	PCIC_5V_CORE		0x08
337*3db86aabSstevel #define	PCIC_LED_ENABLE		0x10
338*3db86aabSstevel #define	PCIC_THREESTATE		0x20
339*3db86aabSstevel #define	PCIC_CL_DMA		0x40
340*3db86aabSstevel #define	PCIC_IRQ15_RI_OUT	0x80
341*3db86aabSstevel 
342*3db86aabSstevel /* chip info register (Cirrus) definitions */
343*3db86aabSstevel #define	PCIC_CI_ID	0xc0
344*3db86aabSstevel #define	PCIC_CI_SLOTS	0x20
345*3db86aabSstevel 
346*3db86aabSstevel /* Vadem unique registers */
347*3db86aabSstevel #define	PCIC_VADEM_P1	0x0E
348*3db86aabSstevel #define	PCIC_VADEM_P2	0x37
349*3db86aabSstevel 
350*3db86aabSstevel #define	PCIC_VG_VSENSE	0x1f
351*3db86aabSstevel #define	PCIC_VG_VSELECT	0x2f
352*3db86aabSstevel #define	PCIC_VG_CONTROL	0x38
353*3db86aabSstevel #define	PCIC_VG_TIMER	0x39
354*3db86aabSstevel #define	PCIC_VG_DMA	0x3A
355*3db86aabSstevel #define	PCIC_VG_EXT_A	0x3C
356*3db86aabSstevel #define	PCIC_VG_STATUS	0x3E
357*3db86aabSstevel 
358*3db86aabSstevel /* Vadem DMA Register */
359*3db86aabSstevel #define	PCIC_V_DMAWSB	0x04
360*3db86aabSstevel #define	PCIC_V_VADEMREV	0x40
361*3db86aabSstevel #define	PCIC_V_UNLOCK	0x80
362*3db86aabSstevel 
363*3db86aabSstevel /* Vadem identification register */
364*3db86aabSstevel #define	PCIC_VADEM_D3	0x8
365*3db86aabSstevel #define	PCIC_VADEM_365	0x9
366*3db86aabSstevel #define	PCIC_VADEM_465	0x8
367*3db86aabSstevel #define	PCIC_VADEM_468	0xB
368*3db86aabSstevel #define	PCIC_VADEM_469	0xC
369*3db86aabSstevel 
370*3db86aabSstevel /* Vadem Voltage Select */
371*3db86aabSstevel #define	PCIC_VSEL_EXTENDED	0x10 /* extended mode */
372*3db86aabSstevel #define	PCIC_VSEL_BUSSEL	0x20 /* extended buffers on ISA */
373*3db86aabSstevel 
374*3db86aabSstevel /* Vadem Control Register */
375*3db86aabSstevel #define	PCIC_VC_DELAYENABLE	0x10
376*3db86aabSstevel 
377*3db86aabSstevel /* Vadem Extended Mode Register A */
378*3db86aabSstevel #define	PCIC_VEXT_CABLEMODE	0x08 /* enable external cable */
379*3db86aabSstevel 
380*3db86aabSstevel #define	PCIC_YENTA_MEM_PAGE	0x40 /* yenta defined extended address byte */
381*3db86aabSstevel 
382*3db86aabSstevel /* Ricoh Specific Registers */
383*3db86aabSstevel #define	PCIC_RF_CHIP_IDENT	0x3A
384*3db86aabSstevel #define	PCIC_RF_296		0x32
385*3db86aabSstevel #define	PCIC_RF_396		0xB2
386*3db86aabSstevel #define	PCIC_RF_MEM_PAGE	PCIC_YENTA_MEM_PAGE
387*3db86aabSstevel 
388*3db86aabSstevel /* O2 Micro Specific registers */
389*3db86aabSstevel #define	PCIC_CENTDMA	0x3C
390*3db86aabSstevel #define	PCIC_MULTIFUNC	0x8C
391*3db86aabSstevel #define	PCIC_O2_CTRL1	0xD0
392*3db86aabSstevel #define	PCIC_O2_CTRL2	0xD4
393*3db86aabSstevel 
394*3db86aabSstevel /* Texas Instruments specific Registers */
395*3db86aabSstevel #define	PCIC_INTLINE_REG	0x3C
396*3db86aabSstevel #define	PCIC_INTPIN_REG		0x3D
397*3db86aabSstevel #define	PCIC_BRIDGE_CTL_REG	0x3e
398*3db86aabSstevel #define	PCIC_FUN_INT_MOD_ISA	0x80
399*3db86aabSstevel 
400*3db86aabSstevel /* for PCI1420 chip */
401*3db86aabSstevel #define	PCIC_BRDGCTL_INTR_MASK	0x80
402*3db86aabSstevel #define	PCIC_GPIO0_REG		0x88
403*3db86aabSstevel #define	PCIC_GPIO1_REG		0x89
404*3db86aabSstevel #define	PCIC_GPIO2_REG		0x8A
405*3db86aabSstevel #define	PCIC_GPIO3_REG		0x8B
406*3db86aabSstevel 
407*3db86aabSstevel #define	PCIC_MFROUTE_REG	0x8c
408*3db86aabSstevel #define	PCIC_MFUNC0_MASK	0xF
409*3db86aabSstevel #define	PCIC_MFUNC0_INTA	0x2
410*3db86aabSstevel 
411*3db86aabSstevel #define	PCIC_DIAG_REG		0x93
412*3db86aabSstevel #define	PCIC_GPIO_FMASK		0xC0
413*3db86aabSstevel #define	PCIC_GPIO_INTENBL	0x10
414*3db86aabSstevel #define	PCIC_GPIO_DELTA		0x08
415*3db86aabSstevel #define	PCIC_GPIO_DOUT		0x02
416*3db86aabSstevel #define	PCIC_GPIO_DIN		0x01
417*3db86aabSstevel #define	PCIC_GPIO_FOUTPUT	0xC0
418*3db86aabSstevel #define	PCIC_GPIO_FINPUT	0x80
419*3db86aabSstevel #define	PCIC_GPIO2_IS_PCILOCK	0x00
420*3db86aabSstevel #define	PCIC_GPIO3_IS_INTA	0x00
421*3db86aabSstevel #define	PCIC_TI_WINDOW_PAGE	0x3C /* legacy */
422*3db86aabSstevel #define	PCIC_TI_WINDOW_PAGE_PCI	0x40
423*3db86aabSstevel 
424*3db86aabSstevel #define	PCIC_DIAG_REG		0x93 /* Diagnostic Register */
425*3db86aabSstevel /* for PCI1225 chip */
426*3db86aabSstevel #define	PCIC_DIAG_CSC		0x20 /* CSC Interrupt Routing Control */
427*3db86aabSstevel /* for PCI1221 and PCI1225 chips */
428*3db86aabSstevel #define	PCIC_DIAG_ASYNC		0x01 /* Async. interrupt enable */
429*3db86aabSstevel 
430*3db86aabSstevel #define	PCIC_DEVCTL_REG		0x92 /* Device Control Register */
431*3db86aabSstevel #define	PCIC_DEVCTL_INTR_MASK	0x06 /* to mask out mode */
432*3db86aabSstevel #define	PCIC_DEVCTL_INTR_PCI	0x00 /* PCI style interrupts */
433*3db86aabSstevel #define	PCIC_DEVCTL_INTR_ISA	0x02 /* ISA style interrupts */
434*3db86aabSstevel #define	PCIC_DEVCTL_INTR_SER	0x04 /* serialize IRQ scheme */
435*3db86aabSstevel #define	PCIC_DEVCTL_INTR_RSVD	0x06 /* reserved */
436*3db86aabSstevel /* for PCI1221 and PCI1225 chips */
437*3db86aabSstevel #define	PCIC_DEVCTL_3VCAPABLE	0x40 /* 3V socket capable force */
438*3db86aabSstevel #define	PCIC_DEVCTL_INTR_DFLT	0x06 /* default interrupt mode */
439*3db86aabSstevel 
440*3db86aabSstevel #define	PCIC_CRDCTL_REG		0x91 /* Card Control Register */
441*3db86aabSstevel #define	PCIC_CRDCTL_RIENABLE    0x80 /* Ring indicate enable on TI1250a */
442*3db86aabSstevel #define	PCIC_CRDCTL_ZVENABLE    0x40 /* Z buffer enable on TI1250a */
443*3db86aabSstevel #define	PCIC_CRDCTL_PCIINTR	0x20 /* use PCI INT A/B */
444*3db86aabSstevel #define	PCIC_CRDCTL_PCICSC	0x10 /* PCI intr for status */
445*3db86aabSstevel #define	PCIC_CRDCTL_PCIFUNC	0x08 /* use PCI intr for cards */
446*3db86aabSstevel #define	PCIC_CRDCTL_SPKR_ENBL	0x02 /* Enable speaker plumbing */
447*3db86aabSstevel #define	PCIC_CRDCTL_IFG		0x01 /* card interrupt flag */
448*3db86aabSstevel 
449*3db86aabSstevel #define	PCIC_SYSCTL_REG		0x80 /* System Control Register */
450*3db86aabSstevel #define	PCIC_SYSCTL_INTRTIE	0x20 /* tie INTA and INTB */
451*3db86aabSstevel 
452*3db86aabSstevel /* for Toshiba chips */
453*3db86aabSstevel #define	PCIC_TOSHIBA_SLOT_CTL_REG	0xa0 /* slot control register */
454*3db86aabSstevel #define	PCIC_TOSHIBA_SCR_SLOTON		0x80
455*3db86aabSstevel #define	PCIC_TOSHIBA_SCR_SLOTEN		0x40
456*3db86aabSstevel #define	PCIC_TOSHIBA_SCR_PRT_MASK	0xc
457*3db86aabSstevel #define	PCIC_TOSHIBA_SCR_PRT_3E0	0x0
458*3db86aabSstevel #define	PCIC_TOSHIBA_SCR_PRT_3E2	0x4
459*3db86aabSstevel #define	PCIC_TOSHIBA_SCR_PRT_3E4	0x8
460*3db86aabSstevel #define	PCIC_TOSHIBA_SCR_PRT_3E6	0xc
461*3db86aabSstevel #define	PCIC_TOSHIBA_INTR_CTL_REG	0xa1 /* interrupt control register */
462*3db86aabSstevel #define	PCIC_TOSHIBA_ICR_PIN_MASK	0x30
463*3db86aabSstevel #define	PCIC_TOSHIBA_ICR_PIN_DISEN	0x0
464*3db86aabSstevel #define	PCIC_TOSHIBA_ICR_PIN_INTA	0x10
465*3db86aabSstevel #define	PCIC_TOSHIBA_ICR_PIN_INTB	0x20
466*3db86aabSstevel #define	PCIC_TOSHIBA_ICR_MOD_CSC	0x4 /* CSC interrupt mode */
467*3db86aabSstevel #define	PCIC_TOSHIBA_ICR_MOD_FUN	0x2 /* Funtional interrupt mode */
468*3db86aabSstevel #define	PCIC_TOSHIBA_ICR_SRC		0x1 /* INTA or IRQ */
469*3db86aabSstevel 
470*3db86aabSstevel /* for Ricoh chips */
471*3db86aabSstevel #define	PCIC_RICOH_MISC_CTL	0x82
472*3db86aabSstevel #define	PCIC_RICOH_SIRQ_EN	0x80	/* serialized IRQ */
473*3db86aabSstevel #define	PCIC_RICOH_MISC_CTL_2	0xa0	/* ricoh */
474*3db86aabSstevel #define	PCIC_RICOH_CSC_INT_MOD	0x80	/* csc to ISA */
475*3db86aabSstevel #define	PCIC_RICOH_FUN_INT_MOD	0x40	/* cint to ISA */
476*3db86aabSstevel 
477*3db86aabSstevel /* for o2micro */
478*3db86aabSstevel #define	PCIC_O2MICRO_MISC_CTL	0x28
479*3db86aabSstevel #define	PCIC_O2MICRO_INT_MOD_MASK	0x300
480*3db86aabSstevel #define	PCIC_O2MICRO_INT_MOD_PCI	0x300
481*3db86aabSstevel #define	PCIC_O2MICRO_ISA_LEGACY		0x800
482*3db86aabSstevel /*  */
483*3db86aabSstevel 
484*3db86aabSstevel /* SMC 34C90 specific registers */
485*3db86aabSstevel #define	PCIC_SMC_MEM_PAGE	0x40
486*3db86aabSstevel 
487*3db86aabSstevel /* available interrupts and interrupt mask */
488*3db86aabSstevel #define	PCIC_IRQ(irq)	(1 << (irq))
489*3db86aabSstevel #define	PCIC_IRQ03	PCIC_IRQ(3)
490*3db86aabSstevel #define	PCIC_IRQ04	PCIC_IRQ(4)
491*3db86aabSstevel #define	PCIC_IRQ05	PCIC_IRQ(5)
492*3db86aabSstevel #define	PCIC_IRQ07	PCIC_IRQ(7)
493*3db86aabSstevel #define	PCIC_IRQ09	PCIC_IRQ(9)
494*3db86aabSstevel #define	PCIC_IRQ10	PCIC_IRQ(10)
495*3db86aabSstevel #define	PCIC_IRQ11	PCIC_IRQ(11)
496*3db86aabSstevel #define	PCIC_IRQ12	PCIC_IRQ(12)
497*3db86aabSstevel #define	PCIC_IRQ14	PCIC_IRQ(14)
498*3db86aabSstevel #define	PCIC_IRQ15	PCIC_IRQ(15)
499*3db86aabSstevel 
500*3db86aabSstevel #define	PCIC_AVAIL_IRQS	(PCIC_IRQ03|PCIC_IRQ04|PCIC_IRQ05|PCIC_IRQ07|\
501*3db86aabSstevel 				PCIC_IRQ09|PCIC_IRQ10|PCIC_IRQ11|PCIC_IRQ12|\
502*3db86aabSstevel 				PCIC_IRQ14|PCIC_IRQ15)
503*3db86aabSstevel 
504*3db86aabSstevel /* page size used for window mapping and memory resource page size */
505*3db86aabSstevel #define	PCIC_PAGE	4096
506*3db86aabSstevel 
507*3db86aabSstevel /* used in I/O window mapping */
508*3db86aabSstevel #define	HIGH_BYTE(x)	(uchar_t)((((ushort_t)(x)) >> 8) & 0xFF)
509*3db86aabSstevel #define	LOW_BYTE(x)	(uchar_t)(((ushort_t)(x)) & 0xFF)
510*3db86aabSstevel #define	PCIC_IO_0_MASK	0x0f
511*3db86aabSstevel #define	PCIC_IO_1_MASK	0xf0
512*3db86aabSstevel #define	IOMEM_WINDOW(x)	(1<<((x)+6))
513*3db86aabSstevel 
514*3db86aabSstevel #define	IOMEM_16BIT		0x01
515*3db86aabSstevel #define	IOMEM_IOCS16		0x02
516*3db86aabSstevel #define	IOMEM_ZERO_WAIT		0x04
517*3db86aabSstevel #define	IOMEM_CLTIMER_SET_0	0x00	/* CL timer set selection */
518*3db86aabSstevel #define	IOMEM_CLTIMER_SET_1	0x08	/* CL timer set selection */
519*3db86aabSstevel #define	IOMEM_WAIT16		0x08
520*3db86aabSstevel #define	IOMEM_SETWIN(w, x)	((x) << ((w)*4))
521*3db86aabSstevel 
522*3db86aabSstevel #define	IOMEM_FIRST	0	/* First I/O address */
523*3db86aabSstevel #define	IOMEM_LAST	0xFFFF	/* Last I/O address */
524*3db86aabSstevel #define	IOMEM_MIN	1	/* minimum I/O window size */
525*3db86aabSstevel #define	IOMEM_MAX	0x10000	/* maximum I/O window size */
526*3db86aabSstevel #define	IOMEM_GRAN	1	/* granularity of request */
527*3db86aabSstevel #define	IOMEM_DECODE	16	/* number of address lines decoded */
528*3db86aabSstevel 
529*3db86aabSstevel #define	MEM_FIRST	0x10000	/* first memory address */
530*3db86aabSstevel #define	MEM_LAST	0xFFFFF	/* last memory address */
531*3db86aabSstevel #define	MEM_MIN		PCIC_PAGE /* minimum window size */
532*3db86aabSstevel #define	MEM_MAX		0x10000	/* maximum window size */
533*3db86aabSstevel #define	PAGE_SHIFT	12	/* bits to shift */
534*3db86aabSstevel 
535*3db86aabSstevel #define	SYSCLK		120	/* sysclk min time (ns) */
536*3db86aabSstevel #define	MEM_SPEED_MIN	(SYSCLK*2)
537*3db86aabSstevel #define	MEM_SPEED_MAX	(SYSCLK*6)
538*3db86aabSstevel 
539*3db86aabSstevel /* CardBus (Yenta) specific values */
540*3db86aabSstevel #define	CB_R2_OFFSET	0x800	/* R2 is always at offset 0x800 */
541*3db86aabSstevel #define	CB_CLEXT_OFFSET	0x900	/* Cirrus Logic extended at offset 0x900 */
542*3db86aabSstevel #define	CB_CB_OFFSET	0x00	/* Cardbus registers at offset 0 */
543*3db86aabSstevel 
544*3db86aabSstevel /* Cardbus registers in TI 1250A/Cirrus 6832 and probably others.  */
545*3db86aabSstevel /* Register offsets (these are 32 bit registers).  */
546*3db86aabSstevel #define	CB_STATUS_EVENT		0x00
547*3db86aabSstevel #define	CB_STATUS_MASK		0x04
548*3db86aabSstevel #define	CB_PRESENT_STATE	0x08
549*3db86aabSstevel #define	CB_EVENT_FORCE		0x0c
550*3db86aabSstevel #define	CB_CONTROL		0x10
551*3db86aabSstevel 
552*3db86aabSstevel /* TI1420 */
553*3db86aabSstevel #define	CB_SOCKET_POWER		0x20
554*3db86aabSstevel 
555*3db86aabSstevel /* Cardbus registers in 02 0Z6912.  */
556*3db86aabSstevel #define	CB_SZVCTRL		0x20
557*3db86aabSstevel #define	CB_SIMDCTRL		0x24
558*3db86aabSstevel #define	CB_MISCCTRL		0x28
559*3db86aabSstevel 
560*3db86aabSstevel /* Register bit definitions.  */
561*3db86aabSstevel #define	BYTE_3(x)		((x)<<24)
562*3db86aabSstevel #define	BYTE_2(x)		((x)<<16)
563*3db86aabSstevel #define	BYTE_1(x)		((x)<<8)
564*3db86aabSstevel #define	BYTE_0(x)		(x)
565*3db86aabSstevel 
566*3db86aabSstevel #define	CB_SE_POWER_CYCLE	BYTE_0(0x08)
567*3db86aabSstevel #define	CB_SE_CCDMASK		BYTE_0(0x06)
568*3db86aabSstevel #define	CB_SE_CCD2		BYTE_0(0x04)
569*3db86aabSstevel #define	CB_SE_CCD1		BYTE_0(0x02)
570*3db86aabSstevel #define	CB_SE_CSTSCHG		BYTE_0(0x01)
571*3db86aabSstevel 
572*3db86aabSstevel #define	CB_SM_POWER_CYCLE	BYTE_0(0x08)
573*3db86aabSstevel #define	CB_SM_CCDMASK		BYTE_0(0x06)
574*3db86aabSstevel #define	CB_SM_CCD2		BYTE_0(0x04)
575*3db86aabSstevel #define	CB_SM_CCD1		BYTE_0(0x02)
576*3db86aabSstevel #define	CB_SM_CSTSCHG		BYTE_0(0x01)
577*3db86aabSstevel 
578*3db86aabSstevel #define	CB_PS_CSTSCHG		BYTE_0(0x01)
579*3db86aabSstevel #define	CB_PS_CCDMASK		BYTE_0(0x06)
580*3db86aabSstevel #define	CB_PS_NCCD1		BYTE_0(0x02)
581*3db86aabSstevel #define	CB_PS_NCCD2		BYTE_0(0x04)
582*3db86aabSstevel #define	CB_PS_POWER_CYCLE	BYTE_0(0x08)
583*3db86aabSstevel #define	CB_PS_16BITCARD		BYTE_0(0x10)
584*3db86aabSstevel #define	CB_PS_CBCARD		BYTE_0(0x20)
585*3db86aabSstevel #define	CB_PS_INTERRUPT		BYTE_0(0x40)
586*3db86aabSstevel #define	CB_PS_NOTACARD		BYTE_0(0x80)
587*3db86aabSstevel 
588*3db86aabSstevel #define	CB_PS_DATALOST		BYTE_1(0x01)
589*3db86aabSstevel #define	CB_PS_BADVCC		BYTE_1(0x02)
590*3db86aabSstevel #define	CB_PS_50VCARD		BYTE_1(0x04)
591*3db86aabSstevel #define	CB_PS_33VCARD		BYTE_1(0x08)
592*3db86aabSstevel #define	CB_PS_XVCARD		BYTE_1(0x10)
593*3db86aabSstevel #define	CB_PS_YVCARD		BYTE_1(0x20)
594*3db86aabSstevel 
595*3db86aabSstevel #define	CB_PS_50VSOCKET		BYTE_3(0x10)
596*3db86aabSstevel #define	CB_PS_33VSOCKET		BYTE_3(0x20)
597*3db86aabSstevel #define	CB_PS_XVSOCKET		BYTE_3(0x40)
598*3db86aabSstevel #define	CB_PS_YVSOCKET		BYTE_3(0x80)
599*3db86aabSstevel 
600*3db86aabSstevel #define	CB_EF_CSTSCHG		BYTE_0(0x01)
601*3db86aabSstevel #define	CB_EF_CCD1		BYTE_0(0x02)
602*3db86aabSstevel #define	CB_EF_CCD2		BYTE_0(0x04)
603*3db86aabSstevel #define	CB_EF_POWER_CYCLE	BYTE_0(0x08)
604*3db86aabSstevel #define	CB_EF_16BITCARD		BYTE_0(0x10)
605*3db86aabSstevel #define	CB_EF_CBCARD		BYTE_0(0x20)
606*3db86aabSstevel #define	CB_EF_NOTACARD		BYTE_0(0x80)
607*3db86aabSstevel 
608*3db86aabSstevel #define	CB_EF_DATALOST		BYTE_1(0x01)
609*3db86aabSstevel #define	CB_EF_BADVCC		BYTE_1(0x02)
610*3db86aabSstevel #define	CB_EF_50V		BYTE_1(0x04)
611*3db86aabSstevel #define	CB_EF_33V		BYTE_1(0x08)
612*3db86aabSstevel #define	CB_EF_XV		BYTE_1(0x10)
613*3db86aabSstevel #define	CB_EF_YV		BYTE_1(0x20)
614*3db86aabSstevel #define	CB_EF_CVTEST		BYTE_1(0x40)
615*3db86aabSstevel 
616*3db86aabSstevel #define	CB_C_VPPMASK		BYTE_0(0x07)
617*3db86aabSstevel #define	CB_C_VCCMASK		BYTE_0(0x70)
618*3db86aabSstevel 
619*3db86aabSstevel #define	CB_C_VPP0V		BYTE_0(0x00)
620*3db86aabSstevel #define	CB_C_VPP12V		BYTE_0(0x01)
621*3db86aabSstevel #define	CB_C_VPPVCC		BYTE_0(0x03)
622*3db86aabSstevel 
623*3db86aabSstevel #define	CB_C_VCC0V		BYTE_0(0x00)
624*3db86aabSstevel #define	CB_C_VCC50V		BYTE_0(0x20)
625*3db86aabSstevel #define	CB_C_VCC33V		BYTE_0(0x30)
626*3db86aabSstevel 
627*3db86aabSstevel #ifdef	__cplusplus
628*3db86aabSstevel }
629*3db86aabSstevel #endif
630*3db86aabSstevel 
631*3db86aabSstevel #endif	/* _PCIC_REG_H */
632