PS2SDK
PS2 Homebrew Libraries
atahw.h
Go to the documentation of this file.
1 /*
2 # _____ ___ ____ ___ ____
3 # ____| | ____| | | |____|
4 # | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5 #-----------------------------------------------------------------------
6 # Copyright (c) 2003 Marcus R. Brown <mrbrown@0xd6.org>
7 # Licenced under Academic Free License version 2.0
8 # Review ps2sdk README & LICENSE files for further details.
9 */
10 
16 #ifndef __ATAHW_H__
17 #define __ATAHW_H__
18 
19 #include <tamtypes.h>
20 #include <aifregs.h>
21 #include <speedregs.h>
22 
23 #define ATA_DEV9_HDD_BASE (SPD_REGBASE + 0x40)
24 
25 #define ATA_AIF_HDD_BASE (AIF_REGBASE + AIF_ATA)
26 
28 typedef struct _ata_hwport
29 {
30  vu16 r_data; /* 00 */
31  vu16 r_error; /* 02 */
32 #define r_feature r_error
33  vu16 r_nsector; /* 04 */
34  vu16 r_sector; /* 06 */
35  vu16 r_lcyl; /* 08 */
36  vu16 r_hcyl; /* 0a */
37  vu16 r_select; /* 0c */
38  vu16 r_status; /* 0e */
39 #define r_command r_status
40  vu16 pad[6];
41  vu16 r_control; /* 1c */
42 } ata_hwport_t;
43 
44 #define USE_ATA_REGS ata_hwport_t *ata_hwport = \
45  (ata_hwport_t *)ATA_DEV9_HDD_BASE
46 
47 #define USE_AIF_ATA_REGS ata_hwport_t *ata_hwport = \
48  (ata_hwport_t *)ATA_AIF_HDD_BASE
49 
50 /* r_error bits. */
51 #define ATA_ERR_MARK 0x01
52 #define ATA_ERR_TRACK0 0x02
53 #define ATA_ERR_ABORT 0x04
54 #define ATA_ERR_MCR 0x08
55 #define ATA_ERR_ID 0x10
56 #define ATA_ERR_MC 0x20
57 #define ATA_ERR_ECC 0x40
58 #define ATA_ERR_ICRC 0x80
59 
60 /* r_status bits. */
61 #define ATA_STAT_ERR 0x01
62 #define ATA_STAT_INDEX 0x02
63 #define ATA_STAT_ECC 0x04
64 #define ATA_STAT_DRQ 0x08
65 #define ATA_STAT_SEEK 0x10
66 #define ATA_STAT_WRERR 0x20
67 #define ATA_STAT_READY 0x40
68 #define ATA_STAT_BUSY 0x80
69 
70 /* r_select bits. */
71 #define ATA_SEL_LBA 0x40
72 
75  ATA_C_NOP = 0x00,
76  ATA_C_CFA_REQUEST_EXTENDED_ERROR_CODE = 0x03,
77  ATA_C_DATA_SET_MANAGEMENT = 0x06,
78  ATA_C_DATA_SET_MANAGEMENT_XL = 0x07,
79  ATA_C_DEVICE_RESET = 0x08,
80  ATA_C_REQUEST_SENSE_DATA_EXT = 0x0B,
81  ATA_C_RECALIBRATE = 0x10,
82  ATA_C_RECALIBRATE_11H = 0x11,
83  ATA_C_RECALIBRATE_12H = 0x12,
84  ATA_C_RECALIBRATE_13H = 0x13,
85  ATA_C_RECALIBRATE_14H = 0x14,
86  ATA_C_RECALIBRATE_15H = 0x15,
87  ATA_C_RECALIBRATE_16H = 0x16,
88  ATA_C_RECALIBRATE_17H = 0x17,
89  ATA_C_RECALIBRATE_18H = 0x18,
90  ATA_C_RECALIBRATE_19H = 0x19,
91  ATA_C_RECALIBRATE_1AH = 0x1A,
92  ATA_C_RECALIBRATE_1BH = 0x1B,
93  ATA_C_RECALIBRATE_1CH = 0x1C,
94  ATA_C_RECALIBRATE_1DH = 0x1D,
95  ATA_C_RECALIBRATE_1EH = 0x1E,
96  ATA_C_RECALIBRATE_1FH = 0x1F,
97  ATA_C_READ_SECTOR = 0x20,
98  ATA_C_READ_SECTOR_WITHOUT_RETRY = 0x21,
99  ATA_C_READ_LONG = 0x22,
100  ATA_C_READ_LONG_WITHOUT_RETRY = 0x23,
101  ATA_C_READ_SECTOR_EXT = 0x24,
102  ATA_C_READ_DMA_EXT,
103  ATA_C_READ_DMA_QUEUED_EXT = 0x26,
104  ATA_C_READ_NATIVE_MAX_ADDRESS_EXT = 0x27,
105  ATA_C_READ_MULTIPLE_EXT = 0x29,
106  ATA_C_READ_STREAM_DMA = 0x2A,
107  ATA_C_READ_STREAM_EXT = 0x2B,
108  ATA_C_READ_LOG_EXT = 0x2F,
109  ATA_C_WRITE_SECTOR = 0x30,
110  ATA_C_WRITE_SECTOR_WITHOUT_RETRY = 0x31,
111  ATA_C_WRITE_LONG = 0x32,
112  ATA_C_WRITE_LONG_WITHOUT_RETRY = 0x33,
113  ATA_C_WRITE_SECTOR_EXT = 0x34,
114  ATA_C_WRITE_DMA_EXT,
115  ATA_C_WRITE_DMA_QUEUED_EXT = 0x36,
116  ATA_C_SET_MAX_ADDRESS_EXT = 0x37,
117  ATA_C_CFA_WRITE_SECTORS_WITHOUT_ERASE = 0x38,
118  ATA_C_WRITE_MULTIPLE_EXT = 0x39,
119  ATA_C_WRITE_STREAM_DMA = 0x3A,
120  ATA_C_WRITE_STREAM_EXT = 0x3B,
121  ATA_C_WRITE_VERIFY = 0x3C,
122  ATA_C_WRITE_DMA_FUA_EXT = 0x3D,
123  ATA_C_WRITE_DMA_QUEUED_FUA_EXT = 0x3E,
124  ATA_C_WRITE_LOG_EXT = 0x3F,
125  ATA_C_READ_VERIFY_SECTOR = 0x40,
126  ATA_C_READ_VERIFY_SECTOR_WITHOUT_RETRY = 0x41,
127  ATA_C_READ_VERIFY_SECTOR_EXT = 0x42,
128  ATA_C_ZERO_EXT = 0x44,
129  ATA_C_WRITE_UNCORRECTABLE_EXT = 0x45,
130  ATA_C_READ_LOG_DMA_EXT = 0x47,
131  ATA_C_ZAC_MANAGEMENT_IN = 0x4A,
132  ATA_C_FORMAT_TRACK = 0x50,
133  ATA_C_CONFIGURE_STREAM = 0x51,
134  ATA_C_WRITE_LOG_DMA_EXT = 0x57,
135  ATA_C_TRUSTED_NON_DATA = 0x5B,
136  ATA_C_TRUSTED_RECEIVE = 0x5C,
137  ATA_C_TRUSTED_RECEIVE_DMA = 0x5D,
138  ATA_C_TRUSTED_SEND = 0x5E,
139  ATA_C_TRUSTED_SEND_DMA = 0x5F,
140  ATA_C_READ_FPDMA_QUEUED = 0x60,
141  ATA_C_WRITE_FPDMA_QUEUED = 0x61,
142  ATA_C_SATA_62H = 0x62,
143  ATA_C_NCQ_NON_DATA = 0x63,
144  ATA_C_SEND_FPDMA_QUEUED = 0x64,
145  ATA_C_RECEIVE_FPDMA_QUEUED = 0x65,
146  ATA_C_SATA_66H = 0x66,
147  ATA_C_SATA_67H = 0x67,
148  ATA_C_SATA_68H = 0x68,
149  ATA_C_SATA_69H = 0x69,
150  ATA_C_SATA_6AH = 0x6A,
151  ATA_C_SATA_6BH = 0x6B,
152  ATA_C_SATA_6CH = 0x6C,
153  ATA_C_SATA_6DH = 0x6D,
154  ATA_C_SATA_6EH = 0x6E,
155  ATA_C_SATA_6FH = 0x6F,
156  ATA_C_SEEK = 0x70,
157  ATA_C_SEEK_71H = 0x71,
158  ATA_C_SEEK_72H = 0x72,
159  ATA_C_SEEK_73H = 0x73,
160  ATA_C_SEEK_74H = 0x74,
161  ATA_C_SEEK_75H = 0x75,
162  ATA_C_SEEK_76H = 0x76,
163  ATA_C_SET_TIME_DATA_EXT = 0x77,
164  ATA_C_ACCESSIBLE_MAX_ADDRESS_CONFIGURATION = 0x78,
165  ATA_C_SEEK_79H = 0x79,
166  ATA_C_SEEK_7AH = 0x7A,
167  ATA_C_SEEK_7BH = 0x7B,
168  ATA_C_REMOVE_ELEMENT_AND_TRUNCATE = 0x7C,
169  ATA_C_RESTORE_ELEMENTS_AND_REBUILD = 0x7D,
170  ATA_C_SEEK_7EH = 0x7E,
171  ATA_C_SEEK_7FH = 0x7F,
172  ATA_C_CFA_TRANSLATE_SECTOR = 0x87,
173  ATA_C_SCE_SECURITY_CONTROL = 0x8e,
174  ATA_C_EXECUTE_DEVICE_DIAGNOSTIC = 0x90,
175  ATA_C_INITIALIZE_DEVICE_PARAMETERS = 0x91,
176  ATA_C_DOWNLOAD_MICROCODE = 0x92,
177  ATA_C_DOWNLOAD_MICROCODE_DMA = 0x93,
178  ATA_C_STANDBY_IMMEDIATE_94H = 0x94,
179  ATA_C_IDLE_IMMEDIATE_95H = 0x95,
180  ATA_C_MUTATE = 0x96,
181  ATA_C_IDLE_97H = 0x97,
182  ATA_C_CHECK_POWER_MODE_98H = 0x98,
183  ATA_C_SLEEP_99H = 0x99,
184  ATA_C_ZAC_MANAGEMENT_OUT = 0x9F,
185  ATA_C_PACKET = 0xa0,
186  ATA_C_IDENTIFY_PACKET_DEVICE,
187  ATA_C_SERVICE,
188  ATA_C_SMART = 0xb0,
189  ATA_C_DEVICE_CONFIGURATION,
190  ATA_C_SET_SECTOR_CONFIGURATION_EXT,
191  ATA_C_SANATIZE_DEVICE = 0xb4,
192  ATA_C_NV_CACHE = 0xb6,
193  ATA_C_CFA_KEY_MANAGEMENT = 0xb9,
194  ATA_C_CFA_ERASE_SECTORS = 0xc0,
195  ATA_C_READ_MULTIPLE = 0xc4,
196  ATA_C_WRITE_MULTIPLE,
197  ATA_C_SET_MULTIPLE_MODE,
198  ATA_C_READ_DMA_QUEUED,
199  ATA_C_READ_DMA,
200  ATA_C_READ_DMA_WITHOUT_RETRIES,
201  ATA_C_WRITE_DMA = 0xca,
202  ATA_C_WRITE_DMA_WITHOUT_RETRIES,
203  ATA_C_WRITE_DMA_QUEUED = 0xcc,
204  ATA_C_CFA_WRITE_MULTIPLE_WITHOUT_ERASE,
205  ATA_C_WRITE_MULTIPLE_FUA_EXT,
206  ATA_C_CHECK_MEDIA_CARD_TYPE = 0xd1,
207  ATA_C_GET_MEDIA_STATUS = 0xda,
208  ATA_C_ACKNOWLEDGE_MEDIA_CHANGE = 0xdb,
209  ATA_C_BOOT_POST_BOOT = 0xdc,
210  ATA_C_BOOT_PRE_BOOT = 0xdd,
211  ATA_C_MEDIA_LOCK = 0xde,
212  ATA_C_MEDIA_UNLOCK,
213  ATA_C_STANDBY_IMMEDIATE = 0xe0,
214  ATA_C_IDLE_IMMEDIATE,
215  ATA_C_STANDBY,
216  ATA_C_IDLE,
217  ATA_C_READ_BUFFER,
218  ATA_C_CHECK_POWER_MODE,
219  ATA_C_SLEEP,
220  ATA_C_FLUSH_CACHE,
221  ATA_C_WRITE_BUFFER,
222  ATA_C_WRITE_SAME_READ_BUFFER_DMA = 0xe9,
223  ATA_C_FLUSH_CACHE_EXT = 0xea,
224  ATA_C_WRITE_BUFFER_DMA = 0xeb,
225  ATA_C_IDENTIFY_DEVICE = 0xec,
226  ATA_C_MEDIA_EJECT,
227  ATA_C_IDENTIFY_DEVICE_DMA = 0xee,
228 
229  ATA_C_SET_FEATURES = 0xef,
230 
231  ATA_C_SECURITY_SET_PASSWORD = 0xf1,
232  ATA_C_SECURITY_UNLOCK,
233  ATA_C_SECURITY_ERASE_PREPARE,
234  ATA_C_SECURITY_ERASE_UNIT,
235  ATA_C_SECURITY_FREEZE_LOCK,
236  ATA_C_SECURITY_DISABLE_PASSWORD,
237 
238  ATA_C_READ_NATIVE_MAX_ADDRESS = 0xf8,
239  ATA_C_SET_MAX_ADDRESS,
240 };
241 
242 enum ATA_SCE_SECURITY_CODES {
243  ATA_SCE_IDENTIFY_DRIVE = 0xec,
244 
245  ATA_SCE_SECURITY_SET_PASSWORD = 0xf1,
246  ATA_SCE_SECURITY_UNLOCK,
247  ATA_SCE_SECURITY_ERASE_PREPARE,
248  ATA_SCE_SECURITY_ERASE_UNIT,
249  ATA_SCE_SECURITY_FREEZE_LOCK,
250  ATA_SCE_SECURITY_READ_ID = 0x20,
251  ATA_SCE_SECURITY_WRITE_ID = 0x30,
252 };
253 
254 enum ATA_S_SMART_CODES {
255  ATA_S_SMART_READ_DATA = 0xd0,
256  ATA_S_SMART_ENABLE_DISABLE_AUTOSAVE = 0xd2,
257  ATA_S_SMART_SAVE_ATTRIBUTE_VALUES,
258  ATA_S_SMART_EXECUTE_OFF_LINE,
259  ATA_S_SMART_READ_LOG,
260  ATA_S_SMART_WRITE_LOG,
261  ATA_S_SMART_ENABLE_OPERATIONS = 0xd8,
262  ATA_S_SMART_DISABLE_OPERATIONS,
263  ATA_S_SMART_RETURN_STATUS
264 };
265 
268  ATA_ID_GENERAL_CONFIGURATION = 0,
269  ATA_ID_SPECIFIC_CONFIGURATION = 2,
270  ATA_ID_CFA_NUMBER_OF_SECTORS_PER_CARD_0 = 7,
271  ATA_ID_CFA_NUMBER_OF_SECTORS_PER_CARD_1 = 8,
272  ATA_ID_SERIAL_NUMBER_0 = 10,
273  ATA_ID_SERIAL_NUMBER_1 = 11,
274  ATA_ID_SERIAL_NUMBER_2 = 12,
275  ATA_ID_SERIAL_NUMBER_3 = 13,
276  ATA_ID_SERIAL_NUMBER_4 = 14,
277  ATA_ID_SERIAL_NUMBER_5 = 15,
278  ATA_ID_SERIAL_NUMBER_6 = 16,
279  ATA_ID_SERIAL_NUMBER_7 = 17,
280  ATA_ID_SERIAL_NUMBER_8 = 18,
281  ATA_ID_SERIAL_NUMBER_9 = 19,
282  ATA_ID_FIRMWARE_REVISION_0 = 23,
283  ATA_ID_FIRMWARE_REVISION_1 = 24,
284  ATA_ID_FIRMWARE_REVISION_2 = 25,
285  ATA_ID_FIRMWARE_REVISION_3 = 26,
286  ATA_ID_MODEL_NUMBER_00 = 27,
287  ATA_ID_MODEL_NUMBER_01 = 28,
288  ATA_ID_MODEL_NUMBER_02 = 29,
289  ATA_ID_MODEL_NUMBER_03 = 30,
290  ATA_ID_MODEL_NUMBER_04 = 31,
291  ATA_ID_MODEL_NUMBER_05 = 32,
292  ATA_ID_MODEL_NUMBER_06 = 33,
293  ATA_ID_MODEL_NUMBER_07 = 34,
294  ATA_ID_MODEL_NUMBER_08 = 35,
295  ATA_ID_MODEL_NUMBER_09 = 36,
296  ATA_ID_MODEL_NUMBER_10 = 37,
297  ATA_ID_MODEL_NUMBER_11 = 38,
298  ATA_ID_MODEL_NUMBER_12 = 39,
299  ATA_ID_MODEL_NUMBER_13 = 40,
300  ATA_ID_MODEL_NUMBER_14 = 41,
301  ATA_ID_MODEL_NUMBER_15 = 42,
302  ATA_ID_MODEL_NUMBER_16 = 43,
303  ATA_ID_MODEL_NUMBER_17 = 44,
304  ATA_ID_MODEL_NUMBER_18 = 45,
305  ATA_ID_MODEL_NUMBER_19 = 46,
306  ATA_ID_TRUSTED_COMPUTING_FEATURE_SET_OPTIONS = 48,
307  ATA_ID_CAPABILITIES_49 = 49,
308  ATA_ID_CAPABILITIES_50 = 50,
309  ATA_ID_CAPABILITIES_53 = 53,
310  ATA_ID_CAPABILITIES_59 = 59,
311  ATA_ID_SECTOTAL_LO = 60,
312  ATA_ID_SECTOTAL_HI = 61,
313  ATA_ID_MULTIWORD_DMA_MODES = 63,
314  ATA_ID_CAPABILITIES_64 = 64,
315  ATA_ID_MINIMUM_MULTIWORD_DMA_TRANSFER_CYCLE_TYPE_PER_WORD = 65,
316  ATA_ID_MANUFACTURERS_RECOMMENDED_MULTIWORD_DMA_TRANSFER_CYCLE_TIME = 66,
317  ATA_ID_MINIMUM_PIO_TRANSFER_CYCLE_TIME_WITHOUT_FLOW_CONTROL = 67,
318  ATA_ID_MINIMUM_PIO_TRANSFER_CYCLE_TIME_WITH_IORDY_FLOW_CONTROL = 68,
319  ATA_ID_ADDITIONAL_SUPPORTED = 69,
320  ATA_ID_QUEUE_DEPTH = 75,
321  ATA_ID_SERIAL_ATA_CAPABILITIES = 76,
322  ATA_ID_SERIAL_ATA_ADDITIONAL_CAPABILITIES = 77,
323  ATA_ID_SERIAL_ATA_FEATURES_SUPPORTED = 78,
324  ATA_ID_SERIAL_ATA_FEATURES_ENABLED = 79,
325  ATA_ID_MAJOR_VERSION_NUMBER = 80,
326  ATA_ID_MINOR_VERSION_NUMBER = 81,
327  ATA_ID_COMMANDS_AND_FEATURE_SETS_SUPPORTED_82 = 82,
328  ATA_ID_COMMAND_SETS_SUPPORTED = 83,
329  ATA_ID_COMMANDS_AND_FEATURE_SETS_SUPPORTED_84 = 84,
330  ATA_ID_COMMANDS_AND_FEATURE_SETS_SUPPORTED_OR_ENABLED_85 = 85,
331  ATA_ID_COMMANDS_AND_FEATURE_SETS_SUPPORTED_OR_ENABLED_86 = 86,
332  ATA_ID_COMMANDS_AND_FEATURE_SETS_SUPPORTED_OR_ENABLED_87 = 87,
333  ATA_ID_UDMA_CONTROL = 88,
334  ATA_ID_TIME_REQUIRED_FOR_A_NORMAL_ERASE_MODE_SECURITY_ERASE_UNIT_COMMAND = 89,
335  ATA_ID_TIME_REQUIRED_FOR_AN_ENHANCED_ERASE_MODE_SECURITY_ERASE_UNIT_COMMAND = 90,
336  ATA_ID_CAPABILITIES_91 = 91,
337  ATA_ID_MASTER_PASSWORD_IDENTIFIER = 92,
338  ATA_ID_HARDWARE_RESET_RESULTS = 93,
339  ATA_ID_STREAM_MINIMUM_REQUEST_SIZE = 95,
340  ATA_ID_STREAMING_TRANSFER_TIME = 96,
341  ATA_ID_STREAMING_ACCESS_LATENCY = 97,
342  ATA_ID_STREAMING_PERFORMANCE_GRANULARITY_0 = 98,
343  ATA_ID_STREAMING_PERFORMANCE_GRANULARITY_1 = 99,
344  ATA_ID_48BIT_SECTOTAL_LO = 100,
345  ATA_ID_48BIT_SECTOTAL_MI = 101,
346  ATA_ID_48BIT_SECTOTAL_HI = 102,
347  ATA_ID_48BIT_SECTOTAL_UI = 103,
348  ATA_ID_STREAMING_TRANSFER_TIME_PIO = 104,
349  ATA_ID_MAXIMUM_NUMBER_OF_512_BYTE_BLOCKS_PER_DATA_SET_MANAGEMENT_COMMAND = 105,
350  ATA_ID_PHYSICAL_SECTOR_SIZE_LOGICAL_SECTOR_SIZE = 106,
351  ATA_ID_INTER_SEEK_DELAY_FOR_ISO_IEC_7779_STANDARD_ACOUSTIC_TESTING = 107,
352  ATA_ID_WORLD_WIDE_NAME_0 = 108,
353  ATA_ID_WORLD_WIDE_NAME_1 = 109,
354  ATA_ID_WORLD_WIDE_NAME_2 = 110,
355  ATA_ID_WORLD_WIDE_NAME_3 = 111,
356  ATA_ID_LOGICAL_SECTOR_SIZE_0 = 117,
357  ATA_ID_LOGICAL_SECTOR_SIZE_1 = 118,
358  ATA_ID_COMMANDS_AND_FEATURE_SETS_SUPPORTED_119 = 119,
359  ATA_ID_COMMANDS_AND_FEATURE_SETS_SUPPORTED_OR_ENABLED_120 = 120,
360  ATA_ID_SECURITY_STATUS = 128,
361  ATA_ID_CFA_POWER_REQUIREMENT_DESCRIPTION = 160,
362  ATA_ID_CFA_KEY_MANAGEMENT_SCHEMES_SUPPORTED = 162,
363  ATA_ID_CFA_CF_ADVANCED_TRUE_IDE_TIMING_MODE_CAPABILITY_AND_SETTING = 163,
364  ATA_ID_CFA_CF_ADVANCED_PC_CARD_IO_AND_MEMORY_TIMING_MODE_CAPABILITY = 164,
365  ATA_ID_CAPABILITIES_168 = 168,
366  ATA_ID_DATA_SET_MANAGEMENT_COMMAND_SUPPORT = 169,
367  ATA_ID_ADDITIONAL_PRODUCT_IDENTIFIER_0 = 170,
368  ATA_ID_ADDITIONAL_PRODUCT_IDENTIFIER_1 = 171,
369  ATA_ID_ADDITIONAL_PRODUCT_IDENTIFIER_2 = 172,
370  ATA_ID_ADDITIONAL_PRODUCT_IDENTIFIER_3 = 173,
371  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_00 = 176,
372  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_01 = 177,
373  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_02 = 178,
374  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_03 = 179,
375  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_04 = 180,
376  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_05 = 181,
377  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_06 = 182,
378  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_07 = 183,
379  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_08 = 184,
380  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_09 = 185,
381  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_10 = 186,
382  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_11 = 187,
383  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_12 = 188,
384  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_13 = 189,
385  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_14 = 190,
386  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_15 = 191,
387  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_16 = 192,
388  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_17 = 193,
389  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_18 = 194,
390  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_19 = 195,
391  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_20 = 196,
392  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_21 = 197,
393  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_22 = 198,
394  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_23 = 199,
395  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_24 = 200,
396  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_25 = 201,
397  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_26 = 202,
398  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_27 = 203,
399  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_28 = 204,
400  ATA_ID_CURRENT_MEDIA_SERIAL_NUMBER_29 = 205,
401  ATA_ID_SCT_COMMAND_TRANSPORT = 206,
402  ATA_ID_ALIGNMENT_OF_LOGICAL_SECTORS_WITHIN_A_PHYSICAL_SECTOR = 209,
403  ATA_ID_WRITE_READ_VERIFY_SECTOR_MODE_3_COUNT_0 = 210,
404  ATA_ID_WRITE_READ_VERIFY_SECTOR_MODE_3_COUNT_1 = 211,
405  ATA_ID_WRITE_READ_VERIFY_SECTOR_MODE_2_COUNT_0 = 212,
406  ATA_ID_WRITE_READ_VERIFY_SECTOR_MODE_2_COUNT_1 = 213,
407  ATA_ID_NOMINAL_MEDIA_ROTATION_RATE = 217,
408  ATA_ID_CAPABILITIES_220 = 220,
409  ATA_ID_TRANSPORT_MAJOR_VERSION_NUMBER = 222,
410  ATA_ID_TRANSPORT_MINOR_VERSION_NUMBER = 223,
411  ATA_ID_EXTENDED_NUMBER_OF_USER_ADDRESSABLE_SECTORS_0 = 230,
412  ATA_ID_EXTENDED_NUMBER_OF_USER_ADDRESSABLE_SECTORS_1 = 231,
413  ATA_ID_EXTENDED_NUMBER_OF_USER_ADDRESSABLE_SECTORS_2 = 232,
414  ATA_ID_EXTENDED_NUMBER_OF_USER_ADDRESSABLE_SECTORS_3 = 233,
415  ATA_ID_MINIMUM_NUMBER_OF_512_BYTE_DATA_BLOCKS_PER_DOWNLOAD_MICROCODE_OPERATION = 234,
416  ATA_ID_MAXIMUM_NUMBER_OF_512_BYTE_DATA_BLOCKS_PER_DOWNLOAD_MICROCODE_OPERATION = 235,
417  ATA_ID_INTEGRITY_WORD = 255,
418 };
419 
420 /* Bits in the security status word. */
421 #define ATA_F_SEC_ENABLED (1 << 1)
422 #define ATA_F_SEC_LOCKED (1 << 2)
423 
424 #endif /* __ATAHW_H__ */
speedregs.h
aifregs.h
ATA_C_CODES
ATA_C_CODES
Definition: atahw.h:74
_ata_identify_offsets
_ata_identify_offsets
Definition: atahw.h:267
ata_hwport_t
struct _ata_hwport ata_hwport_t
tamtypes.h
_ata_hwport
Definition: atahw.h:28