]> git.saurik.com Git - apple/xnu.git/blob - iokit/IOKit/ata/ata-standard/ATAStandardPrivate.h
xnu-201.42.3.tar.gz
[apple/xnu.git] / iokit / IOKit / ata / ata-standard / ATAStandardPrivate.h
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 *
24 * ATAPrivate.h
25 *
26 */
27
28 typedef struct EndianTable
29 {
30 UInt32 size;
31 UInt32 type;
32 } EndianTable;
33
34 enum
35 {
36 identifyWords_54to58_Valid = 0x0001,
37 identifyWords_64to70_Valid = 0x0002,
38 identifyWords_88to88_Valid = 0x0004,
39
40 advPIOModes_Mode3_Supported = 0x0001,
41 advPIOModes_Mode4_Supported = 0x0002,
42
43 dmaModes_Mode0_Supported = 0x0001,
44 dmaModes_Mode1_Supported = 0x0002,
45 dmaModes_Mode2_Supported = 0x0004,
46 dmaModes_Supported = 0x0007,
47
48 ultraDMAModes_Mode0_Supported = 0x0001,
49 ultraDMAModes_Mode1_Supported = 0x0002,
50 ultraDMAModes_Mode2_Supported = 0x0004,
51 ultraDMAModes_Supported = 0x001f,
52
53 commandSetsSupported2_ValidMask = 0xC000,
54 commandSetsSupported2_Valid = 0x4000,
55
56 commandSetsSupported2_DMAQueued = 0x0002,
57
58 commandSetsSupported3_ValidMask = 0xC000,
59 commandSetsSupported3_Valid = 0x4000,
60
61 commandSetsEnabled2_DMAQueued = 0x0002,
62 };
63
64 enum
65 {
66 kATAPIPktProtocolMask = 0x0060,
67 kATAPIPktProtocolSlowDRQ = 0x0000,
68 kATAPIPktProtocolIntDRQ = 0x0020,
69 kATAPIPktProtocolFastDRQ = 0x0040,
70 };
71
72 typedef struct
73 {
74 UInt32 minDataAccess;
75 UInt32 minDataCycle;
76
77 } ATAModeTable;
78