summaryrefslogtreecommitdiff
path: root/Silicon/BroxtonSoC/BroxtonSiPkg/Txe/Include/Protocol/Heci2Pm.h
blob: 24ceb581c438a526b905f5e0ab1ec5484f47af30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/** @file
  EFI HECI2 Power Management Protocol.

  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>

  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php.

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

**/

#ifndef _EFI_HECI2_PM_PROTOCOL_H
#define _EFI_HECI2_PM_PROTOCOL_H

extern EFI_GUID gEfiHeci2PmProtocolGuid;

typedef
BOOLEAN
(EFIAPI *EFI_HECI2_PM_IS_IDLE) (
  VOID
  );

typedef
VOID
(EFIAPI *EFI_HECI2_PM_SET_ACTIVE) (
  VOID
  );

typedef
VOID
(EFIAPI *EFI_HECI2_PM_SET_IDLE) (
  VOID
  );

typedef
UINTN
(EFIAPI *EFI_HECI2_PM_GET_HECIBAR) (
  VOID
  );

typedef
VOID
(EFIAPI *EFI_HECI2_PM_SET_HECIBAR) (
  UINTN
  );

typedef
BOOLEAN
(EFIAPI *EFI_HECI2_PM_AT_RUNTIME) (
  VOID
  );

typedef struct _EFI_HECI2_PM_PROTOCOL {
  EFI_HECI2_PM_IS_IDLE     IsIdle;
  EFI_HECI2_PM_SET_ACTIVE  SetActive;
  EFI_HECI2_PM_SET_IDLE    SetIdle;
  EFI_HECI2_PM_GET_HECIBAR GetHeciBar;
  EFI_HECI2_PM_SET_HECIBAR SetHeciBar;
  EFI_HECI2_PM_AT_RUNTIME  AtRuntime;
} EFI_HECI2_PM_PROTOCOL;

#endif