]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AhciMode.h
MdeModulePkg/Ata/AtaAtapiPassThru: Enable/disable DEVSLP per policy
[mirror_edk2.git] / MdeModulePkg / Bus / Ata / AtaAtapiPassThru / AhciMode.h
index 809bcc307fc4cc84e806230e339ea11ba547ccc5..0ef749b4c7ef5a00a7e40040bb33ba4880522be4 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Header file for AHCI mode of ATA host controller.\r
   \r
-  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
   which accompanies this distribution.  The full text of the license may be found at        \r
 \r
 #define EFI_AHCI_MAX_PORTS                     32\r
 \r
+#define AHCI_CAPABILITY2_OFFSET                0x0024\r
+#define   AHCI_CAP2_SDS                        BIT3\r
+#define   AHCI_CAP2_SADM                       BIT4\r
+\r
 typedef struct {\r
   UINT32  Lower32;\r
   UINT32  Upper32;\r
@@ -182,7 +186,13 @@ typedef union {
 #define EFI_AHCI_PORT_SACT                     0x0034\r
 #define EFI_AHCI_PORT_CI                       0x0038\r
 #define EFI_AHCI_PORT_SNTF                     0x003C\r
-\r
+#define AHCI_PORT_DEVSLP                       0x0044\r
+#define   AHCI_PORT_DEVSLP_ADSE                BIT0\r
+#define   AHCI_PORT_DEVSLP_DSP                 BIT1\r
+#define   AHCI_PORT_DEVSLP_DETO_MASK           0x000003FC\r
+#define   AHCI_PORT_DEVSLP_MDAT_MASK           0x00007C00\r
+#define   AHCI_PORT_DEVSLP_DITO_MASK           0x01FF8000\r
+#define   AHCI_PORT_DEVSLP_DM_MASK             0x1E000000\r
 \r
 #pragma pack(1)\r
 //\r
@@ -283,6 +293,15 @@ typedef struct {
   UINT8    AhciUnknownFisRsvd[0x60];      \r
 } EFI_AHCI_RECEIVED_FIS; \r
 \r
+typedef struct {\r
+  UINT8  Madt : 5;\r
+  UINT8  Reserved_5 : 3;\r
+  UINT8  Deto;\r
+  UINT16 Reserved_16;\r
+  UINT32 Reserved_32 : 31;\r
+  UINT32 Supported : 1;\r
+} DEVSLP_TIMING_VARIABLES;\r
+\r
 #pragma pack()\r
 \r
 typedef struct {\r