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