]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkSocPkg/QuarkSouthCluster/Include/CEATA.h
QuarkSocPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / QuarkSocPkg / QuarkSouthCluster / Include / CEATA.h
CommitLineData
9b6bbcdb
MK
1/** @file\r
2\r
3Header file for chipset CE-AT spec.\r
4\r
5Copyright (c) 2013-2015 Intel Corporation.\r
6\r
c9f231d0 7SPDX-License-Identifier: BSD-2-Clause-Patent\r
9b6bbcdb
MK
8\r
9**/\r
10\r
11#ifndef _CE_ATA_H\r
12#define _CE_ATA_H\r
13\r
14#pragma pack(1)\r
15\r
16\r
17#define DATA_UNIT_SIZE 512\r
18\r
19\r
20#define CMD60 60\r
21#define CMD61 61\r
22\r
23\r
24#define RW_MULTIPLE_REGISTER CMD60\r
25#define RW_MULTIPLE_BLOCK CMD61\r
26\r
27\r
28#define CE_ATA_SIG_CE 0xCE\r
29#define CE_ATA_SIG_AA 0xAA\r
30\r
31\r
32#define Reg_Features_Exp 01\r
33#define Reg_SectorCount_Exp 02\r
34#define Reg_LBALow_Exp 03\r
35#define Reg_LBAMid_Exp 04\r
36#define Reg_LBAHigh_Exp 05\r
37#define Reg_Control 06\r
38#define Reg_Features_Error 09\r
39#define Reg_SectorCount 10\r
40#define Reg_LBALow 11\r
41#define Reg_LBAMid 12\r
42#define Reg_LBAHigh 13\r
43#define Reg_Device_Head 14\r
44#define Reg_Command_Status 15\r
45\r
46#define Reg_scrTempC 0x80\r
47#define Reg_scrTempMaxP 0x84\r
48#define Reg_scrTempMinP 0x88\r
49#define Reg_scrStatus 0x8C\r
50#define Reg_scrReallocsA 0x90\r
51#define Reg_scrERetractsA 0x94\r
52#define Reg_scrCapabilities 0x98\r
53#define Reg_scrControl 0xC0\r
54\r
55\r
56\r
57typedef struct {\r
58 UINT8 Reserved0;\r
59 UINT8 Features_Exp;\r
60 UINT8 SectorCount_Exp;\r
61 UINT8 LBALow_Exp;\r
62 UINT8 LBAMid_Exp;\r
63 UINT8 LBAHigh_Exp;\r
64 UINT8 Control;\r
65 UINT8 Reserved1[2];\r
66 UINT8 Features_Error;\r
67 UINT8 SectorCount;\r
68 UINT8 LBALow;\r
69 UINT8 LBAMid;\r
70 UINT8 LBAHigh;\r
71 UINT8 Device_Head;\r
72 UINT8 Command_Status;\r
73}TASK_FILE;\r
74\r
75\r
76//\r
77//Reduced ATA command set\r
78//\r
79#define IDENTIFY_DEVICE 0xEC\r
80#define READ_DMA_EXT 0x25\r
81#define WRITE_DMA_EXT 0x35\r
82#define STANDBY_IMMEDIATE 0xE0\r
83#define FLUSH_CACHE_EXT 0xEA\r
84\r
85\r
86\r
87typedef struct {\r
88 UINT16 Reserved0[10];\r
89 UINT16 SerialNumber[10];\r
90 UINT16 Reserved1[3];\r
91 UINT16 FirmwareRevision[4];\r
92 UINT16 ModelNumber[20];\r
93 UINT16 Reserved2[33];\r
94 UINT16 MajorVersion;\r
95 UINT16 Reserved3[19];\r
96 UINT16 MaximumLBA[4];\r
97 UINT16 Reserved4[2];\r
98 UINT16 Sectorsize;\r
99 UINT16 Reserved5;\r
100 UINT16 DeviceGUID[4];\r
101 UINT16 Reserved6[94];\r
102 UINT16 Features;\r
103 UINT16 MaxWritesPerAddress;\r
104 UINT16 Reserved7[47];\r
105 UINT16 IntegrityWord;\r
106}IDENTIFY_DEVICE_DATA;\r
107\r
108\r
109\r
110\r
111\r
112#pragma pack()\r
113\r
114#endif\r