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