]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/IndustryStandard/CeAta.h
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2DeviceRefCodePkg / ValleyView2Soc / SouthCluster / Include / IndustryStandard / CeAta.h
diff --git a/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/IndustryStandard/CeAta.h b/Vlv2DeviceRefCodePkg/ValleyView2Soc/SouthCluster/Include/IndustryStandard/CeAta.h
new file mode 100644 (file)
index 0000000..b641ccb
--- /dev/null
@@ -0,0 +1,132 @@
+/*++\r
+\r
+Copyright (c)  1999  - 2014, Intel Corporation. All rights reserved\r
+\r
+  This program and the accompanying materials are licensed and made available under\r
+  the terms and conditions of the BSD License that accompanies this distribution.\r
+  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php.\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+\r
+--*/\r
+\r
+\r
+/*++\r
+\r
+Module Name:\r
+\r
+  CEATA.h\r
+\r
+Abstract:\r
+\r
+  Header file for chipset CE-AT spec.\r
+\r
+--*/\r
+\r
+#ifndef _CE_ATA_H\r
+#define _CE_ATA_H\r
+\r
+#pragma pack(1)\r
+\r
+\r
+#define  DATA_UNIT_SIZE       512\r
+\r
+\r
+#define  CMD60                60\r
+#define  CMD61                61\r
+\r
+\r
+#define RW_MULTIPLE_REGISTER  CMD60\r
+#define RW_MULTIPLE_BLOCK     CMD61\r
+\r
+\r
+#define CE_ATA_SIG_CE         0xCE\r
+#define CE_ATA_SIG_AA         0xAA\r
+\r
+\r
+#define Reg_Features_Exp      01\r
+#define Reg_SectorCount_Exp   02\r
+#define Reg_LBALow_Exp        03\r
+#define Reg_LBAMid_Exp        04\r
+#define Reg_LBAHigh_Exp       05\r
+#define Reg_Control           06\r
+#define Reg_Features_Error    09\r
+#define Reg_SectorCount       10\r
+#define Reg_LBALow            11\r
+#define Reg_LBAMid            12\r
+#define Reg_LBAHigh           13\r
+#define Reg_Device_Head       14\r
+#define Reg_Command_Status    15\r
+\r
+#define Reg_scrTempC          0x80\r
+#define Reg_scrTempMaxP       0x84\r
+#define Reg_scrTempMinP       0x88\r
+#define Reg_scrStatus         0x8C\r
+#define Reg_scrReallocsA      0x90\r
+#define Reg_scrERetractsA     0x94\r
+#define Reg_scrCapabilities   0x98\r
+#define Reg_scrControl        0xC0\r
+\r
+\r
+\r
+typedef struct {\r
+  UINT8  Reserved0;\r
+  UINT8  Features_Exp;\r
+  UINT8  SectorCount_Exp;\r
+  UINT8  LBALow_Exp;\r
+  UINT8  LBAMid_Exp;\r
+  UINT8  LBAHigh_Exp;\r
+  UINT8  Control;\r
+  UINT8  Reserved1[2];\r
+  UINT8  Features_Error;\r
+  UINT8  SectorCount;\r
+  UINT8  LBALow;\r
+  UINT8  LBAMid;\r
+  UINT8  LBAHigh;\r
+  UINT8  Device_Head;\r
+  UINT8  Command_Status;\r
+} TASK_FILE;\r
+\r
+\r
+//\r
+//Reduced ATA command set\r
+//\r
+#define IDENTIFY_DEVICE       0xEC\r
+#define READ_DMA_EXT          0x25\r
+#define WRITE_DMA_EXT         0x35\r
+#define STANDBY_IMMEDIATE     0xE0\r
+#define FLUSH_CACHE_EXT       0xEA\r
+\r
+\r
+\r
+typedef struct {\r
+  UINT16  Reserved0[10];\r
+  UINT16  SerialNumber[10];\r
+  UINT16  Reserved1[3];\r
+  UINT16  FirmwareRevision[4];\r
+  UINT16  ModelNumber[20];\r
+  UINT16  Reserved2[33];\r
+  UINT16  MajorVersion;\r
+  UINT16  Reserved3[19];\r
+  UINT16  MaximumLBA[4];\r
+  UINT16  Reserved4[2];\r
+  UINT16  Sectorsize;\r
+  UINT16  Reserved5;\r
+  UINT16  DeviceGUID[4];\r
+  UINT16  Reserved6[94];\r
+  UINT16  Features;\r
+  UINT16  MaxWritesPerAddress;\r
+  UINT16  Reserved7[47];\r
+  UINT16  IntegrityWord;\r
+} IDENTIFY_DEVICE_DATA;\r
+\r
+\r
+\r
+\r
+\r
+#pragma pack()\r
+\r
+#endif\r