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