]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/IndustryStandard/CeAta.h
Vlv2DeviceRefCodePkg/ValleyView2Soc: Remove the unused code
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / ValleyView2Soc / SouthCluster / Include / IndustryStandard / CeAta.h
1 /*++
2
3 Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved
4
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13
14 --*/
15
16
17 /*++
18
19 Module Name:
20
21 CEATA.h
22
23 Abstract:
24
25 Header file for chipset CE-AT spec.
26
27 --*/
28
29 #ifndef _CE_ATA_H
30 #define _CE_ATA_H
31
32 #pragma pack(1)
33
34
35 #define DATA_UNIT_SIZE 512
36
37
38 #define CMD60 60
39 #define CMD61 61
40
41
42 #define RW_MULTIPLE_REGISTER CMD60
43 #define RW_MULTIPLE_BLOCK CMD61
44
45
46 #define CE_ATA_SIG_CE 0xCE
47 #define CE_ATA_SIG_AA 0xAA
48
49
50 #define Reg_Features_Exp 01
51 #define Reg_SectorCount_Exp 02
52 #define Reg_LBALow_Exp 03
53 #define Reg_LBAMid_Exp 04
54 #define Reg_LBAHigh_Exp 05
55 #define Reg_Control 06
56 #define Reg_Features_Error 09
57 #define Reg_SectorCount 10
58 #define Reg_LBALow 11
59 #define Reg_LBAMid 12
60 #define Reg_LBAHigh 13
61 #define Reg_Device_Head 14
62 #define Reg_Command_Status 15
63
64 #define Reg_scrTempC 0x80
65 #define Reg_scrTempMaxP 0x84
66 #define Reg_scrTempMinP 0x88
67 #define Reg_scrStatus 0x8C
68 #define Reg_scrReallocsA 0x90
69 #define Reg_scrERetractsA 0x94
70 #define Reg_scrCapabilities 0x98
71 #define Reg_scrControl 0xC0
72
73
74
75 typedef struct {
76 UINT8 Reserved0;
77 UINT8 Features_Exp;
78 UINT8 SectorCount_Exp;
79 UINT8 LBALow_Exp;
80 UINT8 LBAMid_Exp;
81 UINT8 LBAHigh_Exp;
82 UINT8 Control;
83 UINT8 Reserved1[2];
84 UINT8 Features_Error;
85 UINT8 SectorCount;
86 UINT8 LBALow;
87 UINT8 LBAMid;
88 UINT8 LBAHigh;
89 UINT8 Device_Head;
90 UINT8 Command_Status;
91 } TASK_FILE;
92
93
94 //
95 //Reduced ATA command set
96 //
97 #define IDENTIFY_DEVICE 0xEC
98 #define READ_DMA_EXT 0x25
99 #define WRITE_DMA_EXT 0x35
100 #define STANDBY_IMMEDIATE 0xE0
101 #define FLUSH_CACHE_EXT 0xEA
102
103
104
105 typedef struct {
106 UINT16 Reserved0[10];
107 UINT16 SerialNumber[10];
108 UINT16 Reserved1[3];
109 UINT16 FirmwareRevision[4];
110 UINT16 ModelNumber[20];
111 UINT16 Reserved2[33];
112 UINT16 MajorVersion;
113 UINT16 Reserved3[19];
114 UINT16 MaximumLBA[4];
115 UINT16 Reserved4[2];
116 UINT16 Sectorsize;
117 UINT16 Reserved5;
118 UINT16 DeviceGUID[4];
119 UINT16 Reserved6[94];
120 UINT16 Features;
121 UINT16 MaxWritesPerAddress;
122 UINT16 Reserved7[47];
123 UINT16 IntegrityWord;
124 } IDENTIFY_DEVICE_DATA;
125
126
127
128
129
130 #pragma pack()
131
132 #endif