PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
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)
25#define ATA_AIF_HDD_BASE (AIF_REGBASE + AIF_ATA)
26
28typedef 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 */
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
242enum 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
254enum 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__ */
ATA_C_CODES
Definition atahw.h:74
struct _ata_hwport ata_hwport_t
_ata_identify_offsets
Definition atahw.h:267