1b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney/** @file 2b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyHeader file for Platform Initialization Driver. 3b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 4b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyCopyright (c) 2013-2015 Intel Corporation. 5b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 6b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyThis program and the accompanying materials 7b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneyare licensed and made available under the terms and conditions of the BSD License 8b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneywhich accompanies this distribution. The full text of the license may be found at 9b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneyhttp://opensource.org/licenses/bsd-license.php 10b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 11b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 14b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney**/ 15b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 16b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#ifndef _SETUP_PLATFORM_H 17b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define _SETUP_PLATFORM_H 18b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 19b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// 20b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// Data 21b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// 22b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define PLATFORM_NUM_SMBUS_RSVD_ADDRESSES 4 23b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define VAR_OFFSET(Field) ((UINT16) ((UINTN) &(((SYSTEM_CONFIGURATION *) 0)->Field))) 24b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define QUESTION_ID(Field) (VAR_OFFSET (Field) + 1) 25b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 26b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define SMBUS_ADDR_CH_A_1 0xA0 27b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define SMBUS_ADDR_CK505 0xD2 28b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define SMBUS_ADDR_THERMAL_SENSOR1 0x4C 29b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#define SMBUS_ADDR_THERMAL_SENSOR2 0x4D 30b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 31b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney/// 32b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney/// HII specific Vendor Device Path Node definition. 33b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney/// 34b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#pragma pack(1) 35b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 36b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneytypedef struct { 37b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney VENDOR_DEVICE_PATH VendorDevicePath; 38b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney UINT16 UniqueId; 39b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney} HII_VENDOR_DEVICE_PATH_NODE; 40b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 41b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney/// 42b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney/// HII specific Vendor Device Path definition. 43b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney/// 44b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneytypedef struct { 45b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney HII_VENDOR_DEVICE_PATH_NODE Node; 46b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney EFI_DEVICE_PATH_PROTOCOL End; 47b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney} HII_VENDOR_DEVICE_PATH; 48b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 49b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#pragma pack() 50b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 51b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// 52b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// Prototypes 53b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// 54b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyVOID 55b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyProducePlatformCpuData ( 56b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney VOID 57b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney ); 58b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 59b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyVOID 60b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyPlatformInitQNCRegs ( 61b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney VOID 62b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney ); 63b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 64b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyEFI_STATUS 65b303605e1b7e113b4311daf161c6c3289350447bMichael KinneyInitKeyboardLayout ( 66b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney VOID 67b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney ); 68b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 69b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// 70b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// Global externs 71b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney// 72b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneyextern UINT8 UefiSetupDxeStrings[]; 73b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 74b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneyextern EFI_HII_DATABASE_PROTOCOL *mHiiDataBase; 75b303605e1b7e113b4311daf161c6c3289350447bMichael Kinneyextern EFI_HII_CONFIG_ROUTING_PROTOCOL *mHiiConfigRouting; 76b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney 77b303605e1b7e113b4311daf161c6c3289350447bMichael Kinney#endif 78