xref: /haiku/src/add-ons/kernel/bus_managers/ata/ATACommands.h (revision b55a57da7173b9af0432bd3e148d03f06161d036)
1 /*
2  * Copyright 2009, Michael Lotz, mmlr@mlotz.ch.
3  * Copyright 2002-2003, Thomas Kurschel.
4  *
5  * Distributed under the terms of the MIT License.
6  */
7 #ifndef ATA_COMMANDS_H
8 #define ATA_COMMANDS_H
9 
10 #define ATA_COMMAND_WRITE_DMA							0xca
11 #define ATA_COMMAND_WRITE_DMA_QUEUED					0xcc
12 #define ATA_COMMAND_WRITE_MULTIPLE						0xc5
13 #define ATA_COMMAND_WRITE_SECTORS						0x30
14 
15 #define ATA_COMMAND_READ_DMA							0xc8
16 #define ATA_COMMAND_READ_DMA_QUEUED						0xc7
17 #define ATA_COMMAND_READ_MULTIPLE						0xc4
18 #define ATA_COMMAND_READ_SECTORS						0x20
19 
20 #define ATA_COMMAND_WRITE_DMA_EXT						0x35
21 #define ATA_COMMAND_WRITE_DMA_QUEUED_EXT				0x36
22 #define ATA_COMMAND_WRITE_MULTIPLE_EXT					0x39
23 #define ATA_COMMAND_WRITE_SECTORS_EXT					0x34
24 
25 #define ATA_COMMAND_READ_DMA_EXT						0x25
26 #define ATA_COMMAND_READ_DMA_QUEUED_EXT					0x26
27 #define ATA_COMMAND_READ_MULTIPLE_EXT					0x29
28 #define ATA_COMMAND_READ_SECTORS_EXT					0x24
29 
30 #define ATA_COMMAND_PACKET								0xa0
31 #define ATA_COMMAND_DEVICE_RESET						0x08
32 
33 #define ATA_COMMAND_SERVICE								0xa2
34 #define ATA_COMMAND_NOP									0
35 
36 #define ATA_COMMAND_NOP_NOP								0
37 #define ATA_COMMAND_NOP_NOP_AUTOPOLL					1
38 
39 
40 #define ATA_COMMAND_GET_MEDIA_STATUS					0xda
41 
42 #define ATA_COMMAND_FLUSH_CACHE							0xe7
43 #define ATA_COMMAND_FLUSH_CACHE_EXT						0xea
44 
45 #define ATA_COMMAND_MEDIA_EJECT							0xed
46 
47 #define ATA_COMMAND_IDENTIFY_PACKET_DEVICE				0xa1
48 #define ATA_COMMAND_IDENTIFY_DEVICE						0xec
49 
50 #define ATA_COMMAND_SET_FEATURES						0xef
51 #define ATA_COMMAND_SET_FEATURES_ENABLE_RELELEASE_INT	0x5d
52 #define ATA_COMMAND_SET_FEATURES_ENABLE_SERVICE_INT		0x5e
53 #define ATA_COMMAND_SET_FEATURES_DISABLE_RELEASE_INT	0xdd
54 #define ATA_COMMAND_SET_FEATURES_DISABLE_SERVICE_INT	0xde
55 
56 #endif // ATA_COMMANDS_H
57