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