xref: /titanic_51/usr/src/uts/sun4u/sys/pci/db21554_config.h (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate /*
2*7c478bd9Sstevel@tonic-gate  * CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate  *
4*7c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate  * with the License.
8*7c478bd9Sstevel@tonic-gate  *
9*7c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate  * and limitations under the License.
13*7c478bd9Sstevel@tonic-gate  *
14*7c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate  *
20*7c478bd9Sstevel@tonic-gate  * CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate  */
22*7c478bd9Sstevel@tonic-gate /*
23*7c478bd9Sstevel@tonic-gate  * Copyright (c) 1999 by Sun Microsystems, Inc.
24*7c478bd9Sstevel@tonic-gate  * All rights reserved.
25*7c478bd9Sstevel@tonic-gate  */
26*7c478bd9Sstevel@tonic-gate 
27*7c478bd9Sstevel@tonic-gate #ifndef	_SYS_DB21554_CONFIG_H
28*7c478bd9Sstevel@tonic-gate #define	_SYS_DB21554_CONFIG_H
29*7c478bd9Sstevel@tonic-gate 
30*7c478bd9Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
31*7c478bd9Sstevel@tonic-gate 
32*7c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
33*7c478bd9Sstevel@tonic-gate extern "C" {
34*7c478bd9Sstevel@tonic-gate #endif
35*7c478bd9Sstevel@tonic-gate 
36*7c478bd9Sstevel@tonic-gate #include <sys/types.h>
37*7c478bd9Sstevel@tonic-gate #include <sys/pci.h>
38*7c478bd9Sstevel@tonic-gate 
39*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_PRI_HDR_OFF		0x00 /* primary offset on primary */
40*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_SEC_HDR_OFF		0x40 /* secondary offset on sec */
41*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_PRI_HDR_OFF		0x40 /* primary offset on sec */
42*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_SEC_HDR_OFF		0x00 /* secondary offset on sec */
43*7c478bd9Sstevel@tonic-gate #define	DB_CONF_REGS			0x80 /* configuration regs after hdrs */
44*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_HDR_OFF		0x40 /* second config hdr offset */
45*7c478bd9Sstevel@tonic-gate 
46*7c478bd9Sstevel@tonic-gate /*
47*7c478bd9Sstevel@tonic-gate  * Some register definitions for configuration header.
48*7c478bd9Sstevel@tonic-gate  */
49*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_MEM_CSR		PCI_CONF_BASE0
50*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_IO_CSR			PCI_CONF_BASE1
51*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_DS_IO_MEM1		PCI_CONF_BASE2
52*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_DS_MEM2		PCI_CONF_BASE3
53*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_DS_MEM3		PCI_CONF_BASE4
54*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_DS_UMEM3		PCI_CONF_BASE5
55*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_EXP_ROM		PCI_CONF_ROM
56*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_US_IO_MEM0		DB_PCONF_SEC_HDR_OFF+PCI_CONF_BASE2
57*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_US_MEM1		DB_PCONF_SEC_HDR_OFF+PCI_CONF_BASE3
58*7c478bd9Sstevel@tonic-gate #define	DB_PCONF_US_MEM2		DB_PCONF_SEC_HDR_OFF+PCI_CONF_BASE4
59*7c478bd9Sstevel@tonic-gate 
60*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_MEM_CSR		PCI_CONF_BASE0
61*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_IO_CSR			PCI_CONF_BASE1
62*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_US_IO_MEM0		PCI_CONF_BASE2
63*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_US_MEM1		PCI_CONF_BASE3
64*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_US_MEM2		PCI_CONF_BASE4
65*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_DS_IO_MEM1		DB_SCONF_PRI_HDR_OFF+PCI_CONF_BASE2
66*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_DS_MEM2		DB_SCONF_PRI_HDR_OFF+PCI_CONF_BASE3
67*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_DS_MEM3		DB_PCONF_PRI_HDR_OFF+PCI_CONF_BASE4
68*7c478bd9Sstevel@tonic-gate #define	DB_SCONF_DS_UMEM3		DB_PCONF_PRI_HDR_OFF+PCI_CONF_BASE5
69*7c478bd9Sstevel@tonic-gate 
70*7c478bd9Sstevel@tonic-gate #define	DB_IO_BIT			0x00000001
71*7c478bd9Sstevel@tonic-gate 
72*7c478bd9Sstevel@tonic-gate /* register definitions in configuration space after primary/sec. header */
73*7c478bd9Sstevel@tonic-gate 
74*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_CONF_ADDR		0x80 /* downstream config address */
75*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_CONF_DATA		0x84 /* downstream config data */
76*7c478bd9Sstevel@tonic-gate #define	DB_CONF_US_CONF_ADDR		0x88 /* upstream config address */
77*7c478bd9Sstevel@tonic-gate #define	DB_CONF_US_CONF_DATA		0x8C /* upstream config data */
78*7c478bd9Sstevel@tonic-gate #define	DB_CONF_CONF_OWN		0x90 /* config own bits - word reg */
79*7c478bd9Sstevel@tonic-gate #define	DB_CONF8_DS_CONF_OWN		0x90 /* config own bits - byte reg */
80*7c478bd9Sstevel@tonic-gate #define	DB_CONF8_US_CONF_OWN		0x91 /* config own bits - byte reg */
81*7c478bd9Sstevel@tonic-gate #define	DB_CONF_CONF_CSR		0x92 /* config control status - word */
82*7c478bd9Sstevel@tonic-gate #define	DB_CONF8_DS_CONF_CSR		0x92 /* config DS CSR - byte reg */
83*7c478bd9Sstevel@tonic-gate #define	DB_CONF8_US_CONF_CSR		0x93 /* config US CSR - byte reg */
84*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_MEM0_TR_BASE		0x94 /* DS memory 0 translated base */
85*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_IO_MEM1_TR_BASE	0x98 /* DS IO or mem 1 trans base */
86*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_MEM2_TR_BASE		0x9C /* DS memory 2 translated base */
87*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_MEM3_TR_BASE		0xA0 /* DS memory 3 translated base */
88*7c478bd9Sstevel@tonic-gate #define	DB_CONF_US_IO_MEM0_TR_BASE	0xA4 /* DS IO or mem0 trans base */
89*7c478bd9Sstevel@tonic-gate #define	DB_CONF_US_MEM1_TR_BASE		0xA8 /* US memory 1 translated base */
90*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_MEM0_SETUP		0xAC /* DS memory 0 setup */
91*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_IO_MEM1_SETUP	0xB0 /* DS IO or memory 1 setup */
92*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_MEM2_SETUP		0xB4 /* DS memory 2 setup */
93*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_MEM3_SETUP		0xB8 /* DS memory 3 setup */
94*7c478bd9Sstevel@tonic-gate #define	DB_CONF_DS_UP32_MEM3_SETUP	0xBC /* Upper 32bits DS mem3 setup */
95*7c478bd9Sstevel@tonic-gate #define	DB_CONF_PRIM_EXP_ROM_SETUP	0xC0 /* Primary Expansion ROM setup */
96*7c478bd9Sstevel@tonic-gate #define	DB_CONF_US_IO_MEM0_SETUP	0xC4 /* Upstream IO or memory 0 setup */
97*7c478bd9Sstevel@tonic-gate #define	DB_CONF_US_MEM1_SETUP		0xC8 /* upstream memory 1 setup */
98*7c478bd9Sstevel@tonic-gate #define	DB_CONF_CHIP_CTRL0		0xCC /* chip control 0 */
99*7c478bd9Sstevel@tonic-gate #define	DB_CONF_CHIP_CTRL1		0xCE /* chip control 1 */
100*7c478bd9Sstevel@tonic-gate #define	DB_CONF_STATUS			0xD0 /* chip status */
101*7c478bd9Sstevel@tonic-gate #define	DB_CONF_ARBITER_CTRL		0xD2 /* Arbiter control */
102*7c478bd9Sstevel@tonic-gate #define	DB_CONF_PRIM_SERR_DISABLES	0xD4 /* primary SERR# disables */
103*7c478bd9Sstevel@tonic-gate #define	DB_CONF_SEC_SERR_DISABLES	0xD5 /* Secondary SERR# disables */
104*7c478bd9Sstevel@tonic-gate #define	DB_CONF_RESET_CTRL		0xD8 /* Reset Control */
105*7c478bd9Sstevel@tonic-gate #define	DB_CONF_CAP_ID_1		0xDC /* Capabilities ID */
106*7c478bd9Sstevel@tonic-gate #define	DB_CONF_NEXT_ITEM_PTR_1		0xDD /* Next Item Pointer */
107*7c478bd9Sstevel@tonic-gate #define	DB_CONF_PM_CAP			0xDE /* Power Management Capabilities */
108*7c478bd9Sstevel@tonic-gate #define	DB_CONF_PM_CSR			0xE0 /* Power Management CSR */
109*7c478bd9Sstevel@tonic-gate #define	DB_CONF_PM_CSR_BSE		0xE2 /* PMCSR Bridge Support Exts */
110*7c478bd9Sstevel@tonic-gate #define	DB_CONF_PM_DATA			0xE3 /* Power Management data */
111*7c478bd9Sstevel@tonic-gate #define	DB_CONF_CAP_ID_2		0xE4 /* Capabilities ID */
112*7c478bd9Sstevel@tonic-gate #define	DB_CONF_NEXT_ITEM_PTR_2		0xE5 /* Next Item Pointer */
113*7c478bd9Sstevel@tonic-gate #define	DB_CONF_VPD_ADDRESS		0xE6 /* VPD Address */
114*7c478bd9Sstevel@tonic-gate #define	DB_CONF_VPD_DATA		0xE8 /* VPD Data */
115*7c478bd9Sstevel@tonic-gate #define	DB_CONF_CAP_ID_3		0xEC /* Capabilities ID */
116*7c478bd9Sstevel@tonic-gate #define	DB_CONF_NEXT_ITEM_PTR_3		0xED /* Next Item Pointer */
117*7c478bd9Sstevel@tonic-gate #define	DB_CONF_HS_CSR			0xEE /* Hotswap control status */
118*7c478bd9Sstevel@tonic-gate 
119*7c478bd9Sstevel@tonic-gate #define	DB_VENDOR_ID		0x1011
120*7c478bd9Sstevel@tonic-gate #define	DB_DEVICE_ID		0x46
121*7c478bd9Sstevel@tonic-gate #define	DB_INVAL_VEND		0xffff
122*7c478bd9Sstevel@tonic-gate 
123*7c478bd9Sstevel@tonic-gate /* configuration own register bits : Register offset 0x90-91 */
124*7c478bd9Sstevel@tonic-gate #define	DS_CONF_OWN		0x0001 /* master owns DSconfig address/data */
125*7c478bd9Sstevel@tonic-gate #define	US_CONF_OWN		0x0100 /* master owns USconfig address/data */
126*7c478bd9Sstevel@tonic-gate /* the following is a 8-bit register version definition. */
127*7c478bd9Sstevel@tonic-gate #define	DS8_CONF_OWN		0x01
128*7c478bd9Sstevel@tonic-gate #define	US8_CONF_OWN		0x01
129*7c478bd9Sstevel@tonic-gate 
130*7c478bd9Sstevel@tonic-gate /* configuration control status register bits: Register offset 0x92-93 */
131*7c478bd9Sstevel@tonic-gate #define	DS_OWN_STAT		0x0001 /* downstream config own status */
132*7c478bd9Sstevel@tonic-gate #define	DS_ENABLE		0x0002 /* enable downstream config cycles */
133*7c478bd9Sstevel@tonic-gate #define	US_OWN_STAT		0x0100 /* upstream config own status */
134*7c478bd9Sstevel@tonic-gate #define	US_ENABLE		0x0200 /* enable upstream config cycles */
135*7c478bd9Sstevel@tonic-gate 
136*7c478bd9Sstevel@tonic-gate /* chip control 0 register bits: Register Offset 0xcc-cd */
137*7c478bd9Sstevel@tonic-gate #define	DELAYED_TRANS_ORDER	0x0040 /* delayed transaction order control */
138*7c478bd9Sstevel@tonic-gate #define	SERR_FWD		0x0080 /* forward SERR# from sec to prim */
139*7c478bd9Sstevel@tonic-gate #define	PLOCKOUT		0x0400 /* primary lockout set */
140*7c478bd9Sstevel@tonic-gate #define	SEC_CLK_DIS		0x0800 /* disable secondary clock */
141*7c478bd9Sstevel@tonic-gate 
142*7c478bd9Sstevel@tonic-gate /* chip control 1 register bits: Register Offset 0xce-cf */
143*7c478bd9Sstevel@tonic-gate #define	P_PW_THRESHOLD		0x0001
144*7c478bd9Sstevel@tonic-gate #define	S_PW_THRESHOLD		0x0002
145*7c478bd9Sstevel@tonic-gate #define	P_DREAD_THRESHOLD_MASK	0x000C
146*7c478bd9Sstevel@tonic-gate #define	S_DREAD_THRESHOLD_MASK	0x0030
147*7c478bd9Sstevel@tonic-gate #define	DREAD_THRESHOLD_VALBITS	0x3
148*7c478bd9Sstevel@tonic-gate 
149*7c478bd9Sstevel@tonic-gate #define	US_MEM2_DISABLE		0x0000 /* disable USmem2 BAR */
150*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_256		0x0100
151*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_512		0x0200
152*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_1K		0x0300
153*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_2K		0x0400
154*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_4K		0x0500
155*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_8K		0x0600
156*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_16K		0x0700
157*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_32K		0x0800
158*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_64K		0x0900
159*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_128K		0x0A00
160*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_256K		0x0B00
161*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_512K		0x0C00
162*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_1M		0x0D00
163*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_2M		0x0E00
164*7c478bd9Sstevel@tonic-gate #define	PAGESIZE_4M		0x0F00
165*7c478bd9Sstevel@tonic-gate 
166*7c478bd9Sstevel@tonic-gate #define	GET_PAGESIZE(chip_ctrl1)	(((chip_ctrl1) & 0x0F00) >> 8)
167*7c478bd9Sstevel@tonic-gate 
168*7c478bd9Sstevel@tonic-gate /* chip reset control register bits : Register Offset 0xd8-db */
169*7c478bd9Sstevel@tonic-gate #define	RESET_CTRL_RST_SEC	0x01 /* reset secondary */
170*7c478bd9Sstevel@tonic-gate #define	RESET_CTRL_RST		0x02 /* reset chip */
171*7c478bd9Sstevel@tonic-gate #define	RESET_CTRL_LSTAT	0x08 /* when set, l_stat is high */
172*7c478bd9Sstevel@tonic-gate 
173*7c478bd9Sstevel@tonic-gate /* chip status register bits : Register Offset 0xd0-d1 */
174*7c478bd9Sstevel@tonic-gate #define	DS_DEL_MTO		0x0001 /* DS delayed master TO */
175*7c478bd9Sstevel@tonic-gate #define	DS_DEL_RD_DISCARD	0x0002 /* DS delayed read discard */
176*7c478bd9Sstevel@tonic-gate #define	DS_DEL_WR_DISCARD	0x0004 /* DS delayed write discard */
177*7c478bd9Sstevel@tonic-gate #define	DS_POST_WRDATA_DISCA	0x0008
178*7c478bd9Sstevel@tonic-gate #define	US_DEL_MTO		0x0100 /* US delayed trans master TO */
179*7c478bd9Sstevel@tonic-gate #define	US_DEL_RD_DISCARD	0x0200 /* US delayed trans.read disc */
180*7c478bd9Sstevel@tonic-gate #define	US_DEL_WR_DISCARD	0x0400 /* US delayed trans.writ disc */
181*7c478bd9Sstevel@tonic-gate #define	US_POST_WRDATA_DISCA	0x0800
182*7c478bd9Sstevel@tonic-gate 
183*7c478bd9Sstevel@tonic-gate #define	DB_PCI_REG_ADDR(bus, device, function, reg) \
184*7c478bd9Sstevel@tonic-gate 	(((bus) & 0xff) << 16) | (((device & 0x1f)) << 11) \
185*7c478bd9Sstevel@tonic-gate 		    | (((function) & 0x7) << 8) | ((reg) & 0xff)
186*7c478bd9Sstevel@tonic-gate 
187*7c478bd9Sstevel@tonic-gate /* form a type 0 configuration address */
188*7c478bd9Sstevel@tonic-gate #define	DB_PCI_REG_ADDR_TYPE0(bus, device, function, reg) \
189*7c478bd9Sstevel@tonic-gate 	(((1 << (device & 0x1f)) << 11) \
190*7c478bd9Sstevel@tonic-gate 		    | (((function) & 0x7) << 8) | \
191*7c478bd9Sstevel@tonic-gate 		    ((reg) & 0xfc))
192*7c478bd9Sstevel@tonic-gate 
193*7c478bd9Sstevel@tonic-gate /* form a type 1 configuration address */
194*7c478bd9Sstevel@tonic-gate #define	DB_PCI_REG_ADDR_TYPE1(bus, device, function, reg) \
195*7c478bd9Sstevel@tonic-gate 	((((bus) & 0xff) << 16) | (((device & 0x1f)) << 11) \
196*7c478bd9Sstevel@tonic-gate 		    | (((function) & 0x7) << 8) | ((reg) & 0xfc))
197*7c478bd9Sstevel@tonic-gate 
198*7c478bd9Sstevel@tonic-gate 
199*7c478bd9Sstevel@tonic-gate #define	DB_ENABLE_PCI_CONF_CYCLE_TYPE0	0
200*7c478bd9Sstevel@tonic-gate #define	DB_ENABLE_PCI_CONF_CYCLE_TYPE1	1
201*7c478bd9Sstevel@tonic-gate 
202*7c478bd9Sstevel@tonic-gate /*
203*7c478bd9Sstevel@tonic-gate  * add local address offsets and get the right config address double
204*7c478bd9Sstevel@tonic-gate  * word aligned type 0 format addresses.
205*7c478bd9Sstevel@tonic-gate  */
206*7c478bd9Sstevel@tonic-gate #define	DB_PCI_CONF_CYCLE_TYPE0_ADDR(conf_addr) \
207*7c478bd9Sstevel@tonic-gate 	(((conf_addr) & 0xfffffffc) | DB_ENABLE_PCI_CONF_CYCLE_TYPE0)
208*7c478bd9Sstevel@tonic-gate 
209*7c478bd9Sstevel@tonic-gate /*
210*7c478bd9Sstevel@tonic-gate  * add local address offsets and get the right config address double
211*7c478bd9Sstevel@tonic-gate  * word aligned type 1 format addresses.
212*7c478bd9Sstevel@tonic-gate  */
213*7c478bd9Sstevel@tonic-gate #define	DB_PCI_CONF_CYCLE_TYPE1_ADDR(conf_addr) \
214*7c478bd9Sstevel@tonic-gate 	(((conf_addr)  & 0xfffffffc) | DB_ENABLE_PCI_CONF_CYCLE_TYPE1)
215*7c478bd9Sstevel@tonic-gate 
216*7c478bd9Sstevel@tonic-gate #define	PCI_HDR_SIZE	64
217*7c478bd9Sstevel@tonic-gate 
218*7c478bd9Sstevel@tonic-gate typedef struct db_pci_header {
219*7c478bd9Sstevel@tonic-gate 	uint16_t 	venid;
220*7c478bd9Sstevel@tonic-gate 	uint16_t	devid;
221*7c478bd9Sstevel@tonic-gate 	uint16_t	command;
222*7c478bd9Sstevel@tonic-gate 	uint16_t	status;
223*7c478bd9Sstevel@tonic-gate 	uint8_t		revid;
224*7c478bd9Sstevel@tonic-gate 	uint8_t		pif;
225*7c478bd9Sstevel@tonic-gate 	uint8_t		subclass;
226*7c478bd9Sstevel@tonic-gate 	uint8_t		class;
227*7c478bd9Sstevel@tonic-gate 	uint8_t		cacheline;
228*7c478bd9Sstevel@tonic-gate 	uint8_t		lat;
229*7c478bd9Sstevel@tonic-gate 	uint8_t		hdr_type;
230*7c478bd9Sstevel@tonic-gate 	uint8_t		bist;
231*7c478bd9Sstevel@tonic-gate 	uint32_t	bar0;
232*7c478bd9Sstevel@tonic-gate 	uint32_t	bar1;
233*7c478bd9Sstevel@tonic-gate 	uint32_t	bar2;
234*7c478bd9Sstevel@tonic-gate 	uint32_t	bar3;
235*7c478bd9Sstevel@tonic-gate 	uint32_t	bar4;
236*7c478bd9Sstevel@tonic-gate 	uint32_t	bar5;
237*7c478bd9Sstevel@tonic-gate 	uint32_t	cardbus_cisp;
238*7c478bd9Sstevel@tonic-gate 	uint16_t 	sub_venid;
239*7c478bd9Sstevel@tonic-gate 	uint16_t 	sub_devid;
240*7c478bd9Sstevel@tonic-gate 	uint32_t	exprom_bar;
241*7c478bd9Sstevel@tonic-gate 	uint32_t	res1;
242*7c478bd9Sstevel@tonic-gate 	uint32_t	res2;
243*7c478bd9Sstevel@tonic-gate 	uint8_t		int_line;
244*7c478bd9Sstevel@tonic-gate 	uint8_t		int_pin;
245*7c478bd9Sstevel@tonic-gate 	uint8_t		min_gnt;
246*7c478bd9Sstevel@tonic-gate 	uint8_t		max_lat;
247*7c478bd9Sstevel@tonic-gate } db_pci_header_t;
248*7c478bd9Sstevel@tonic-gate 
249*7c478bd9Sstevel@tonic-gate typedef struct db_conf_regs {
250*7c478bd9Sstevel@tonic-gate 	uint32_t	ds_mem0_tr_base; /* DS memory 0 translated base */
251*7c478bd9Sstevel@tonic-gate 	uint32_t	ds_io_mem1_tr_base; /* DS IO or memory1 trans base */
252*7c478bd9Sstevel@tonic-gate 	uint32_t	ds_mem2_tr_base; /* DS memory 2 trans base */
253*7c478bd9Sstevel@tonic-gate 	uint32_t	ds_mem3_tr_base; /* DS memory 3 trans base */
254*7c478bd9Sstevel@tonic-gate 	uint32_t	us_io_mem0_tr_base; /* US IO or memory0 trans base */
255*7c478bd9Sstevel@tonic-gate 	uint32_t	us_mem1_tr_base; /* US memory 1 translated base */
256*7c478bd9Sstevel@tonic-gate 	uint32_t	ds_mem0_setup_reg; /* DS memory 0 setup reg */
257*7c478bd9Sstevel@tonic-gate 	uint32_t	ds_io_mem1_setup_reg; /* DS IO or memory1 setup reg */
258*7c478bd9Sstevel@tonic-gate 	uint32_t	ds_mem2_setup_reg; /* DS memory 2 setup reg */
259*7c478bd9Sstevel@tonic-gate 	uint64_t	ds_mem3_setup_reg; /* DS memory 3 setup reg */
260*7c478bd9Sstevel@tonic-gate 	uint32_t	p_exp_rom_setup; /* primary expansion ROM setup reg */
261*7c478bd9Sstevel@tonic-gate 	uint32_t	us_io_mem0_setup_reg; /* US IO or memory 0 setup reg */
262*7c478bd9Sstevel@tonic-gate 	uint32_t	us_mem1_setup_reg; /* US memory 1 setup reg */
263*7c478bd9Sstevel@tonic-gate 	ushort_t	chip_control0;	/* chip control 0 */
264*7c478bd9Sstevel@tonic-gate 	ushort_t	chip_control1;	/* chip control 1 */
265*7c478bd9Sstevel@tonic-gate 	ushort_t	chip_status;	/* chip status */
266*7c478bd9Sstevel@tonic-gate 	ushort_t	arb_control;	/* arbiter control */
267*7c478bd9Sstevel@tonic-gate 	uchar_t		p_serr_disables; /* primary SERR# disables */
268*7c478bd9Sstevel@tonic-gate 	uchar_t		s_serr_disables; /* secondary SERR# disables */
269*7c478bd9Sstevel@tonic-gate 	ushort_t	config_csr;	/* configuration control and status */
270*7c478bd9Sstevel@tonic-gate 	uint32_t	reset_control;	/* reset control */
271*7c478bd9Sstevel@tonic-gate 	ushort_t	pm_cap;		/* power management capabilities reg */
272*7c478bd9Sstevel@tonic-gate 	ushort_t	pm_csr;		/* power management control status */
273*7c478bd9Sstevel@tonic-gate 	uint8_t		hs_csr;		/* hotswap control status */
274*7c478bd9Sstevel@tonic-gate } db_conf_regs_t;
275*7c478bd9Sstevel@tonic-gate 
276*7c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
277*7c478bd9Sstevel@tonic-gate }
278*7c478bd9Sstevel@tonic-gate #endif
279*7c478bd9Sstevel@tonic-gate 
280*7c478bd9Sstevel@tonic-gate #endif	/* _SYS_DB21554_CONFIG_H */
281