• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /** @file
2 Header file for 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 #ifndef _SETUP_PLATFORM_H
17 #define _SETUP_PLATFORM_H
18 
19 //
20 // Data
21 //
22 #define PLATFORM_NUM_SMBUS_RSVD_ADDRESSES 4
23 #define VAR_OFFSET(Field)     ((UINT16) ((UINTN) &(((SYSTEM_CONFIGURATION *) 0)->Field)))
24 #define QUESTION_ID(Field)    (VAR_OFFSET (Field) + 1)
25 
26 #define SMBUS_ADDR_CH_A_1     0xA0
27 #define SMBUS_ADDR_CK505      0xD2
28 #define SMBUS_ADDR_THERMAL_SENSOR1 0x4C
29 #define SMBUS_ADDR_THERMAL_SENSOR2 0x4D
30 
31 ///
32 /// HII specific Vendor Device Path Node definition.
33 ///
34 #pragma pack(1)
35 
36 typedef struct {
37   VENDOR_DEVICE_PATH             VendorDevicePath;
38   UINT16                         UniqueId;
39 } HII_VENDOR_DEVICE_PATH_NODE;
40 
41 ///
42 /// HII specific Vendor Device Path definition.
43 ///
44 typedef struct {
45   HII_VENDOR_DEVICE_PATH_NODE    Node;
46   EFI_DEVICE_PATH_PROTOCOL       End;
47 } HII_VENDOR_DEVICE_PATH;
48 
49 #pragma pack()
50 
51 //
52 // Prototypes
53 //
54 VOID
55 ProducePlatformCpuData (
56   VOID
57   );
58 
59 VOID
60 PlatformInitQNCRegs (
61   VOID
62   );
63 
64 EFI_STATUS
65 InitKeyboardLayout (
66   VOID
67   );
68 
69 //
70 // Global externs
71 //
72 extern UINT8 UefiSetupDxeStrings[];
73 
74 extern EFI_HII_DATABASE_PROTOCOL        *mHiiDataBase;
75 extern EFI_HII_CONFIG_ROUTING_PROTOCOL  *mHiiConfigRouting;
76 
77 #endif
78