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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
/** @file
Header file for PCH common Initialization Driver.
@copyright
Copyright (c) 2011 - 2012 Intel Corporation. All rights reserved
This software and associated documentation (if any) is furnished
under a license and may only be used or copied in accordance
with the terms of the license. Except as permitted by such
license, no part of this software or documentation may be
reproduced, stored in a retrieval system, or transmitted in any
form or by any means without the express written consent of
Intel Corporation.
This file contains an 'Intel Peripheral Driver' and uniquely
identified as "Intel Reference Module" and is
licensed for Intel CPUs and chipsets under the terms of your
license agreement with Intel or your vendor. This file may
be modified by the user, subject to additional terms of the
license agreement
**/
#ifndef _PCH_INIT_COMMON_DRIVER_H_
#define _PCH_INIT_COMMON_DRIVER_H_
//
// External include files do NOT need to be explicitly specified in real EDKII
// environment
//
#if !defined(EDK_RELEASE_VERSION) || (EDK_RELEASE_VERSION < 0x00020000)
#include "EdkIIGlueDxe.h"
#include "EfiScriptLib.h"
#include EFI_PROTOCOL_CONSUMER (PchPlatformPolicy)
#ifdef USB_PRECONDITION_ENABLE_FLAG
#include "PchUsbPrecondition.h"
#endif // USB_PRECONDITION_ENABLE_FLAG
#endif
#define PCH_INIT_COMMON_SCRIPT_IO_WRITE(TableName, Width, Address, Count, Buffer) \
SCRIPT_IO_WRITE(TableName, Width, Address, Count, Buffer)
#define PCH_INIT_COMMON_SCRIPT_IO_READ_WRITE(TableName, Width, Address, Data, DataMask) \
SCRIPT_IO_READ_WRITE(TableName, Width, Address, Data, DataMask)
#define PCH_INIT_COMMON_SCRIPT_MEM_WRITE(TableName, Width, Address, Count, Buffer) \
SCRIPT_MEM_WRITE(TableName, Width, Address, Count, Buffer)
#define PCH_INIT_COMMON_SCRIPT_MEM_READ_WRITE(TableName, Width, Address, Data, DataMask) \
SCRIPT_MEM_READ_WRITE(TableName, Width, Address, Data, DataMask)
#define PCH_INIT_COMMON_SCRIPT_PCI_CFG_WRITE(TableName, Width, Address, Count, Buffer) \
SCRIPT_PCI_CFG_WRITE(TableName, Width, Address, Count, Buffer)
#define PCH_INIT_COMMON_SCRIPT_PCI_CFG_READ_WRITE(TableName, Width, Address, Data, DataMask) \
SCRIPT_PCI_CFG_READ_WRITE(TableName, Width, Address, Data, DataMask)
#define PCH_INIT_COMMON_SCRIPT_STALL(TableName, Duration) SCRIPT_STALL (TableName, Duration)
#define PCH_INIT_COMMON_SCRIPT_SAVE_IOBP_S3_ITEM(RootComplexBar, Address, AndMask, OrMask) \
SetProgramIobpS3Item(RootComplexBar, Address, AndMask, OrMask)
#ifdef USB_PRECONDITION_ENABLE_FLAG
///
/// Execute function when running in PEI
/// It is always FALSE for DXE phase check
///
#define USB_RUN_IN_PEI FALSE
///
/// Execute function when running in DXE
///
#define USB_RUN_IN_DXE TRUE
///
/// USB precondition policy check
///
#define USB_PRECONDITION_POLICY_SUPPORT(UsbPolicy) \
((UsbPolicy)->UsbPrecondition)
#endif // USB_PRECONDITION_ENABLE_FLAG
///
/// USB3 port setting policy check
///
#define USB3PORT_SETTING_POLICY_SUPPORT(Revision) \
((Revision >= DXE_PCH_PLATFORM_POLICY_PROTOCOL_REVISION_5))
/**
Set an PCH IOBP programming S3 dispatch item, this function may assert if any error happend
@param[in] RootComplexBar RootComplexBar value of this PCH device
@param[in] Address Address of the IOBP register block
@param[in] AndMask Mask to AND with the register
@param[in] OrMask Mask to OR with the register
@retval EFI_SUCCESS The function completed successfully
@retval EFI_OUT_OF_RESOURCES Out of resources
@retval EFI_INVALID_PARAMETER Invalid parameter
@retval EFI_NOT_FOUND Protocol interface not found
**/
EFI_STATUS
SetProgramIobpS3Item (
IN UINT32 RootComplexBar,
IN UINT32 Address,
IN UINT32 AndMask,
IN UINT32 OrMask
);
#endif
|