2 Platform Initialization Driver.
4 Copyright (c) 2013-2015 Intel Corporation.
6 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include "CommonHeader.h"
12 #include "SetupPlatform.h"
13 #include <Library/HobLib.h>
15 EFI_HANDLE mImageHandle
= NULL
;
17 EFI_HII_DATABASE_PROTOCOL
*mHiiDataBase
= NULL
;
18 EFI_HII_CONFIG_ROUTING_PROTOCOL
*mHiiConfigRouting
= NULL
;
20 UINT8 mSmbusRsvdAddresses
[PLATFORM_NUM_SMBUS_RSVD_ADDRESSES
] = {
23 SMBUS_ADDR_THERMAL_SENSOR1
,
24 SMBUS_ADDR_THERMAL_SENSOR2
27 EFI_PLATFORM_POLICY_PROTOCOL mPlatformPolicyData
= {
28 PLATFORM_NUM_SMBUS_RSVD_ADDRESSES
,
33 DxePlatformDriverEntry (
34 IN EFI_HANDLE ImageHandle
,
35 IN EFI_SYSTEM_TABLE
*SystemTable
40 This is the standard EFI driver point for the D845GRgPlatform Driver. This
41 driver is responsible for setting up any platform specific policy or
42 initialization information.
45 ImageHandle - Handle for the image of this driver
46 SystemTable - Pointer to the EFI System Table
49 EFI_SUCCESS - Policy decisions set
56 S3BootScriptSaveInformationAsciiString (
60 mImageHandle
= ImageHandle
;
62 Status
= gBS
->LocateProtocol (&gEfiHiiDatabaseProtocolGuid
, NULL
, (VOID
**)&mHiiDataBase
);
63 ASSERT_EFI_ERROR (Status
);
65 Status
= gBS
->LocateProtocol (&gEfiHiiConfigRoutingProtocolGuid
, NULL
, (VOID
**)&mHiiConfigRouting
);
66 ASSERT_EFI_ERROR (Status
);
69 // Initialize keyboard layout
71 Status
= InitKeyboardLayout ();
74 // Initialize ICH registers
76 PlatformInitQNCRegs();
78 ProducePlatformCpuData ();
81 // Install protocol to to allow access to this Policy.
84 Status
= gBS
->InstallMultipleProtocolInterfaces (
86 &gEfiPlatformPolicyProtocolGuid
, &mPlatformPolicyData
,
89 ASSERT_EFI_ERROR(Status
);
91 S3BootScriptSaveInformationAsciiString (