123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- /*++
- Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
- SPDX-License-Identifier: BSD-2-Clause-Patent
- --*/
- /*++
- Module Name:
- CEATA.h
- Abstract:
- Header file for chipset CE-AT spec.
- --*/
- #ifndef _CE_ATA_H
- #define _CE_ATA_H
- #pragma pack(1)
- #define DATA_UNIT_SIZE 512
- #define CMD60 60
- #define CMD61 61
- #define RW_MULTIPLE_REGISTER CMD60
- #define RW_MULTIPLE_BLOCK CMD61
- #define CE_ATA_SIG_CE 0xCE
- #define CE_ATA_SIG_AA 0xAA
- #define Reg_Features_Exp 01
- #define Reg_SectorCount_Exp 02
- #define Reg_LBALow_Exp 03
- #define Reg_LBAMid_Exp 04
- #define Reg_LBAHigh_Exp 05
- #define Reg_Control 06
- #define Reg_Features_Error 09
- #define Reg_SectorCount 10
- #define Reg_LBALow 11
- #define Reg_LBAMid 12
- #define Reg_LBAHigh 13
- #define Reg_Device_Head 14
- #define Reg_Command_Status 15
- #define Reg_scrTempC 0x80
- #define Reg_scrTempMaxP 0x84
- #define Reg_scrTempMinP 0x88
- #define Reg_scrStatus 0x8C
- #define Reg_scrReallocsA 0x90
- #define Reg_scrERetractsA 0x94
- #define Reg_scrCapabilities 0x98
- #define Reg_scrControl 0xC0
- typedef struct {
- UINT8 Reserved0;
- UINT8 Features_Exp;
- UINT8 SectorCount_Exp;
- UINT8 LBALow_Exp;
- UINT8 LBAMid_Exp;
- UINT8 LBAHigh_Exp;
- UINT8 Control;
- UINT8 Reserved1[2];
- UINT8 Features_Error;
- UINT8 SectorCount;
- UINT8 LBALow;
- UINT8 LBAMid;
- UINT8 LBAHigh;
- UINT8 Device_Head;
- UINT8 Command_Status;
- } TASK_FILE;
- //
- //Reduced ATA command set
- //
- #define IDENTIFY_DEVICE 0xEC
- #define READ_DMA_EXT 0x25
- #define WRITE_DMA_EXT 0x35
- #define STANDBY_IMMEDIATE 0xE0
- #define FLUSH_CACHE_EXT 0xEA
- typedef struct {
- UINT16 Reserved0[10];
- UINT16 SerialNumber[10];
- UINT16 Reserved1[3];
- UINT16 FirmwareRevision[4];
- UINT16 ModelNumber[20];
- UINT16 Reserved2[33];
- UINT16 MajorVersion;
- UINT16 Reserved3[19];
- UINT16 MaximumLBA[4];
- UINT16 Reserved4[2];
- UINT16 Sectorsize;
- UINT16 Reserved5;
- UINT16 DeviceGUID[4];
- UINT16 Reserved6[94];
- UINT16 Features;
- UINT16 MaxWritesPerAddress;
- UINT16 Reserved7[47];
- UINT16 IntegrityWord;
- } IDENTIFY_DEVICE_DATA;
- #pragma pack()
- #endif
|