]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkPlatformPkg/Platform/Pei/PlatformConfig/PlatformConfigPei.c
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / QuarkPlatformPkg / Platform / Pei / PlatformConfig / PlatformConfigPei.c
CommitLineData
b303605e
MK
1/** @file\r
2Principle source module for Clanton Peak platform config PEIM driver.\r
3\r
4Copyright (c) 2013 Intel Corporation.\r
5\r
0eb3de2e 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
b303605e
MK
7\r
8**/\r
9\r
10#include <PiPei.h>\r
11#include <Library/IntelQNCLib.h>\r
12#include <Library/PlatformHelperLib.h>\r
13#include <Library/QNCAccessLib.h>\r
14\r
15VOID\r
16EFIAPI\r
17LegacySpiProtect (\r
18 VOID\r
19 )\r
20{\r
21 UINT32 RegVal;\r
22\r
23 RegVal = PcdGet32 (PcdLegacyProtectedBIOSRange0Pei);\r
24 if (RegVal != 0) {\r
25 PlatformWriteFirstFreeSpiProtect (\r
26 RegVal,\r
27 0,\r
28 0\r
29 );\r
30 }\r
31 RegVal = PcdGet32 (PcdLegacyProtectedBIOSRange1Pei);\r
32 if (RegVal != 0) {\r
33 PlatformWriteFirstFreeSpiProtect (\r
34 RegVal,\r
35 0,\r
36 0\r
37 );\r
38 }\r
39 RegVal = PcdGet32 (PcdLegacyProtectedBIOSRange2Pei);\r
40 if (RegVal != 0) {\r
41 PlatformWriteFirstFreeSpiProtect (\r
42 RegVal,\r
43 0,\r
44 0\r
45 );\r
46 }\r
47\r
48 //\r
49 // Make legacy SPI READ/WRITE enabled if not a secure build\r
50 //\r
51 LpcPciCfg32And (R_QNC_LPC_BIOS_CNTL, ~B_QNC_LPC_BIOS_CNTL_BIOSWE);\r
52}\r
53\r
54/** PlatformConfigPei driver entry point.\r
55\r
56 Platform config in PEI stage.\r
57\r
58 @param[in] FfsHeader Pointer to Firmware File System file header.\r
59 @param[in] PeiServices General purpose services available to every PEIM.\r
60\r
61 @retval EFI_SUCCESS Platform config success.\r
62*/\r
63EFI_STATUS\r
64EFIAPI\r
65PlatformConfigPeiInit (\r
66 IN EFI_PEI_FILE_HANDLE FileHandle,\r
67 IN CONST EFI_PEI_SERVICES **PeiServices\r
68 )\r
69{\r
70 //\r
71 // Do SOC Init Pre memory init.\r
72 //\r
73 PeiQNCPreMemInit ();\r
74\r
75 //\r
76 // Protect areas specified by PCDs.\r
77 //\r
78 LegacySpiProtect ();\r
79\r
80 return EFI_SUCCESS;\r
81}\r