xref: /onnv-gate/usr/src/uts/common/io/cardbus/cardbus_cfg.h (revision 2451:fce8fdcdc9aa)
1*2305Sstevel /*
2*2305Sstevel  * CDDL HEADER START
3*2305Sstevel  *
4*2305Sstevel  * The contents of this file are subject to the terms of the
5*2305Sstevel  * Common Development and Distribution License (the "License").
6*2305Sstevel  * You may not use this file except in compliance with the License.
7*2305Sstevel  *
8*2305Sstevel  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*2305Sstevel  * or http://www.opensolaris.org/os/licensing.
10*2305Sstevel  * See the License for the specific language governing permissions
11*2305Sstevel  * and limitations under the License.
12*2305Sstevel  *
13*2305Sstevel  * When distributing Covered Code, include this CDDL HEADER in each
14*2305Sstevel  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*2305Sstevel  * If applicable, add the following below this CDDL HEADER, with the
16*2305Sstevel  * fields enclosed by brackets "[]" replaced with your own identifying
17*2305Sstevel  * information: Portions Copyright [yyyy] [name of copyright owner]
18*2305Sstevel  *
19*2305Sstevel  * CDDL HEADER END
20*2305Sstevel  */
21*2305Sstevel /*
22*2305Sstevel  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
23*2305Sstevel  * Use is subject to license terms.
24*2305Sstevel  */
25*2305Sstevel /*
26*2305Sstevel  * Copyright (c)  * Copyright (c) 2001 Tadpole Technology plc
27*2305Sstevel  * All rights reserved.
28*2305Sstevel  */
29*2305Sstevel 
30*2305Sstevel #ifndef	_SYS_CARDBUS_CFG_H
31*2305Sstevel #define	_SYS_CARDBUS_CFG_H
32*2305Sstevel 
33*2305Sstevel #pragma ident	"%Z%%M%	%I%	%E% SMI"
34*2305Sstevel 
35*2305Sstevel #ifdef  __cplusplus
36*2305Sstevel extern "C" {
37*2305Sstevel #endif
38*2305Sstevel 
39*2305Sstevel /*
40*2305Sstevel  * Cardbus device identifiers
41*2305Sstevel  */
42*2305Sstevel #define	CBUS_ID(vend, dev)	((uint32_t)(((uint32_t)(vend) << 16) | (dev)))
43*2305Sstevel 
44*2305Sstevel #define	CB_PPD_CODE	0x2441
45*2305Sstevel 
46*2305Sstevel struct cardbus_parent_private_data {
47*2305Sstevel 	struct ddi_parent_private_data	ppd;	/* this format for prtconf */
48*2305Sstevel 	uint16_t	code;	/* == CB_PPD_CODE */
49*2305Sstevel 	/* pci_regspec_t *regs; */
50*2305Sstevel };
51*2305Sstevel 
52*2305Sstevel extern kmutex_t cardbus_list_mutex;
53*2305Sstevel extern int cardbus_latency_timer;
54*2305Sstevel 
55*2305Sstevel extern int cardbus_configure(cbus_t *cbp);
56*2305Sstevel extern int cardbus_unconfigure(cbus_t *cbp);
57*2305Sstevel extern int cardbus_teardown_device(dev_info_t *);
58*2305Sstevel extern int cardbus_primary_busno(dev_info_t *dip);
59*2305Sstevel 
60*2305Sstevel #ifdef DEBUG
61*2305Sstevel extern void cardbus_dump_children(dev_info_t *dip, int level);
62*2305Sstevel extern void cardbus_dump_family_tree(dev_info_t *dip);
63*2305Sstevel #endif
64*2305Sstevel 
65*2305Sstevel #ifdef  __cplusplus
66*2305Sstevel }
67*2305Sstevel #endif
68*2305Sstevel 
69*2305Sstevel #endif	/* _SYS_CARDBUS_CFG_H */
70