]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Protocol/AtaAtapiPolicy.h
MdeModulePkg: Add AtaAtapiPolicy protocol definition
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / AtaAtapiPolicy.h
1 /** @file
2 ATA ATAPI Policy protocol is produced by platform and consumed by AtaAtapiPassThruDxe
3 driver.
4
5 Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15 #ifndef __ATA_ATAPI_POLICY_H__
16 #define __ATA_ATAPI_POLICY_H__
17
18 #define EDKII_ATA_ATAPI_POLICY_PROTOCOL_GUID \
19 { \
20 0xe59cd769, 0x5083, 0x4f26,{ 0x90, 0x94, 0x6c, 0x91, 0x9f, 0x91, 0x6c, 0x4e } \
21 }
22
23 typedef struct {
24 ///
25 /// Protocol version.
26 ///
27 UINT32 Version;
28
29 ///
30 /// 0: Disable Power-up in Standby;
31 /// 1: Enable Power-up in Standby;
32 /// others: Since PUIS setting is non-volatile, platform can use other value than 0/1 to keep hardware PUIS setting.
33 ///
34 UINT8 PuisEnable;
35
36 ///
37 /// 0: Disable Device Sleep;
38 /// 1: Enable Device Sleep;
39 /// others: Ignored.
40 ///
41 UINT8 DeviceSleepEnable;
42
43 ///
44 /// 0: Disable Aggressive Device Sleep;
45 /// 1: Enable Aggressive Device Sleep;
46 /// others: Ignored.
47 ///
48 UINT8 AggressiveDeviceSleepEnable;
49
50 UINT8 Reserved;
51 } EDKII_ATA_ATAPI_POLICY_PROTOCOL;
52
53 #define EDKII_ATA_ATAPI_POLICY_VERSION 0x00010000
54
55
56 extern EFI_GUID gEdkiiAtaAtapiPolicyProtocolGuid;
57
58 #endif
59