]> git.proxmox.com Git - mirror_edk2.git/blob - QuarkPlatformPkg/Platform/Dxe/Setup/SetupPlatform.c
QuarkPlatformPkg: Add new package for Galileo boards
[mirror_edk2.git] / QuarkPlatformPkg / Platform / Dxe / Setup / SetupPlatform.c
1 /** @file
2 Platform Initialization Driver.
3
4 Copyright (c) 2013-2015 Intel Corporation.
5
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
16 #include "CommonHeader.h"
17
18 #include "SetupPlatform.h"
19 #include <Library/HobLib.h>
20
21 EFI_HANDLE mImageHandle = NULL;
22
23 EFI_HII_DATABASE_PROTOCOL *mHiiDataBase = NULL;
24 EFI_HII_CONFIG_ROUTING_PROTOCOL *mHiiConfigRouting = NULL;
25
26 UINT8 mSmbusRsvdAddresses[PLATFORM_NUM_SMBUS_RSVD_ADDRESSES] = {
27 SMBUS_ADDR_CH_A_1,
28 SMBUS_ADDR_CK505,
29 SMBUS_ADDR_THERMAL_SENSOR1,
30 SMBUS_ADDR_THERMAL_SENSOR2
31 };
32
33 EFI_PLATFORM_POLICY_PROTOCOL mPlatformPolicyData = {
34 PLATFORM_NUM_SMBUS_RSVD_ADDRESSES,
35 mSmbusRsvdAddresses
36 };
37
38 EFI_STATUS
39 DxePlatformDriverEntry (
40 IN EFI_HANDLE ImageHandle,
41 IN EFI_SYSTEM_TABLE *SystemTable
42 )
43 /*++
44
45 Routine Description:
46 This is the standard EFI driver point for the D845GRgPlatform Driver. This
47 driver is responsible for setting up any platform specific policy or
48 initialization information.
49
50 Arguments:
51 ImageHandle - Handle for the image of this driver
52 SystemTable - Pointer to the EFI System Table
53
54 Returns:
55 EFI_SUCCESS - Policy decisions set
56
57 --*/
58 {
59 EFI_STATUS Status;
60 EFI_HANDLE Handle;
61
62 S3BootScriptSaveInformationAsciiString (
63 "SetupDxeEntryBegin"
64 );
65
66 mImageHandle = ImageHandle;
67
68 Status = gBS->LocateProtocol (&gEfiHiiDatabaseProtocolGuid, NULL, (VOID**)&mHiiDataBase);
69 ASSERT_EFI_ERROR (Status);
70
71 Status = gBS->LocateProtocol (&gEfiHiiConfigRoutingProtocolGuid, NULL, (VOID**)&mHiiConfigRouting);
72 ASSERT_EFI_ERROR (Status);
73
74 //
75 // Initialize keyboard layout
76 //
77 Status = InitKeyboardLayout ();
78
79 //
80 // Initialize ICH registers
81 //
82 PlatformInitQNCRegs();
83
84 ProducePlatformCpuData ();
85
86 //
87 // Install protocol to to allow access to this Policy.
88 //
89 Handle = NULL;
90 Status = gBS->InstallMultipleProtocolInterfaces (
91 &Handle,
92 &gEfiPlatformPolicyProtocolGuid, &mPlatformPolicyData,
93 NULL
94 );
95 ASSERT_EFI_ERROR(Status);
96
97 S3BootScriptSaveInformationAsciiString (
98 "SetupDxeEntryEnd"
99 );
100
101 return EFI_SUCCESS;
102 }
103