|
|
1.1 root 1: /*
2: * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: /*
23: File: OHCIRootHub.h
24:
25: Contains: xxx put contents here xxx
26:
27: Version: xxx put version here xxx
28:
29: Copyright: � 1998 by Apple Computer, Inc., all rights reserved.
30:
31: File Ownership:
32:
33: DRI: xxx put dri here xxx
34:
35: Other Contact: xxx put other contact here xxx
36:
37: Technology: xxx put technology here xxx
38:
39: Writers:
40:
41: (TC) Tom Clark
42: (CJK) Craig Keithley
43: (BT) Barry Twycross
44:
45: Change History (most recent first):
46:
47: <USB8> 8/12/98 BT Move root hub into UIM again
48: <USB7> 7/10/98 TC Back out previous rev.
49: <USB6> 6/30/98 BT Move Root hub sim into UIM
50: <USB5> 6/11/98 BT Fix hub descriptor so it knows about overcurrent and power mode
51: <USB4> 5/28/98 CJK change file creater to 'MPS '
52: <USB3> 4/23/98 BT Add reset portsuspend change
53: <USB2> 4/15/98 BT Add over current change reset
54: <1> 3/19/98 BT first checked in
55: */
56:
57: #ifndef __OHCIROOTHUB__
58: #define __OHCIROOTHUB__
59:
60: #ifdef __cplusplus
61: extern "C" {
62: #endif
63:
64: #if PRAGMA_IMPORT_SUPPORTED
65: #pragma import on
66: #endif
67:
68: #if PRAGMA_ALIGN_SUPPORTED
69: #pragma options align=power
70: #endif
71:
72:
73:
74: // Root hub status reg
75: enum
76: {
77: kOHCIHcRhStatus_LPS = kOHCIBit0,
78: kOHCIHcRhStatus_OCI = kOHCIBit1,
79: kOHCIHcRhStatus_DRWE = kOHCIBit15,
80: kOHCIHcRhStatus_LPSC = kOHCIBit16,
81: kOHCIHcRhStatus_OCIC = kOHCIBit17,
82: kOHCIHcRhStatus_CRWE = kOHCIBit31,
83: kOHCIHcRhStatus_Change = kOHCIHcRhStatus_LPSC|kOHCIHcRhStatus_OCIC
84: };
85:
86: // Port status reg
87: enum
88: {
89: kOHCIHcRhPortStatus_CCS = kOHCIBit0,
90: kOHCIHcRhPortStatus_PES = kOHCIBit1,
91: kOHCIHcRhPortStatus_PSS = kOHCIBit2,
92: kOHCIHcRhPortStatus_POCI = kOHCIBit3,
93: kOHCIHcRhPortStatus_PRS = kOHCIBit4,
94: kOHCIHcRhPortStatus_PPS = kOHCIBit8,
95: kOHCIHcRhPortStatus_LSDA = kOHCIBit9,
96: kOHCIHcRhPortStatus_CSC = kOHCIBit16,
97: kOHCIHcRhPortStatus_PESC = kOHCIBit17,
98: kOHCIHcRhPortStatus_PSSC = kOHCIBit18,
99: kOHCIHcRhPortStatus_OCIC = kOHCIBit19,
100: kOHCIHcRhPortStatus_PRSC = kOHCIBit20,
101: kOHCIHcRhPortStatus_Change = kOHCIHcRhPortStatus_CSC|kOHCIHcRhPortStatus_PESC|
102: kOHCIHcRhPortStatus_PSSC|kOHCIHcRhPortStatus_OCIC|kOHCIHcRhPortStatus_PRSC
103: };
104:
105:
106: enum
107: {
108: kOHCINumPortsMask = OHCIBitRange (0, 7),
109: kOHCIPowerSwitchingMask = OHCIBitRange (9, 9),
110: kOHCIGangedSwitchingMask = OHCIBitRange (8, 8),
111: kOHCICompoundDeviceMask = OHCIBitRange (10, 10),
112: kOHCIOverCurrentMask = OHCIBitRange (12, 12),
113: kOHCIGlobalOverCurrentMask = OHCIBitRange (11, 11),
114: kOHCIDeviceRemovableMask = OHCIBitRange (0, 15),
115: kOHCIGangedPowerMask = OHCIBitRange (16, 31),
116:
117: kOHCIPowerSwitchingOffset = 9,
118: kOHCIGangedSwitchingOffset = 8,
119: kOHCICompoundDeviceOffset = 10,
120: kOHCIOverCurrentOffset = 12,
121: kOHCIGlobalOverCurrentOffset = 11,
122: kOHCIGangedPowerOffset = 0,
123: kOHCIDeviceRemovableOffset = 16,
124:
125: kOHCIPortFlagsMask = OHCIBitRange (0, 16),
126:
127: kOHCIportChangeFlagsOffset = 16
128: };
129:
130:
131: #if PRAGMA_ALIGN_SUPPORTED
132: #pragma options align=reset
133: #endif
134:
135: #if PRAGMA_IMPORT_SUPPORTED
136: #pragma import off
137: #endif
138:
139: #ifdef __cplusplus
140: }
141: #endif
142:
143: #endif /* __OHCIROOTHUB__ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.