From 8d5d4f3a8f69ae4801989b2c2bf68cb146a0dc9a Mon Sep 17 00:00:00 2001 From: Guo Mang Date: Fri, 23 Dec 2016 13:27:10 +0800 Subject: BroxtonPlatformPkg: Add LeafHill/BoardInitDxe Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Guo Mang --- .../Board/LeafHill/BoardInitDxe/BoardInitDxe.c | 67 ++++++++++++++++++++++ .../Board/LeafHill/BoardInitDxe/BoardInitDxe.h | 37 ++++++++++++ .../Board/LeafHill/BoardInitDxe/BoardInitDxe.inf | 52 +++++++++++++++++ 3 files changed, 156 insertions(+) create mode 100644 Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.c create mode 100644 Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.h create mode 100644 Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.inf (limited to 'Platform/BroxtonPlatformPkg/Board') diff --git a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.c b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.c new file mode 100644 index 0000000000..5ce6349790 --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.c @@ -0,0 +1,67 @@ +/** @file + Board specific functions in DXE phase to be set as dynamic PCD and consumed by + commmon platform code. + + Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+ + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php. + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include "BoardInitDxe.h" + +GET_BOARD_NAME mLhGetBoardNamePtr = LhGetBoardName; + +CHAR16* +EFIAPI +LhGetBoardName ( + IN UINT8 BoardId + ) +{ + STATIC CHAR16 BoardName[40]; + + DEBUG ((EFI_D_INFO, "BoardInitDxe: GetBoardName - Leaf Hill\n")); + UnicodeSPrint (BoardName, sizeof (BoardName), L"Leaf Hill CRB (%02x)", BoardId); + + if (BoardId != (UINT8) BOARD_ID_LFH_CRB) { + return NULL; + } else { + return BoardName; + } +} + + +/** + Set PCDs for board specific functions + + @param[in] ImageHandle ImageHandle of the loaded driver. + @param[in] SystemTable Pointer to the EFI System Table. + + @retval EFI_SUCCESS The handlers were registered successfully. + +**/ +EFI_STATUS +EFIAPI +LhBoardInitDxeConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + UINT8 BoardId; + + BoardId = PcdGet8 (PcdBoardId); + if (BoardId != (UINT8) BOARD_ID_LFH_CRB) { + return EFI_SUCCESS; + } + + PcdSet64 (PcdGetBoardNameFunc, (UINT64) mLhGetBoardNamePtr); + + return EFI_SUCCESS; +} + diff --git a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.h b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.h new file mode 100644 index 0000000000..275f7557b6 --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.h @@ -0,0 +1,37 @@ +/** @file + The internal header file includes the common header files, defines + internal structure and functions used by ImageVerificationLib. + + Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+ + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php. + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef __BOARD_INIT_DXE_H__ +#define __BOARD_INIT_DXE_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +CHAR16* +EFIAPI +LhGetBoardName ( + IN UINT8 BoardId + ); + +#endif diff --git a/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.inf b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.inf new file mode 100644 index 0000000000..fea51cc86f --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Board/LeafHill/BoardInitDxe/BoardInitDxe.inf @@ -0,0 +1,52 @@ +## @file +# Board specific functions in DXE phase to be set as dynamic PCD and consumed by +# commmon platform code. +# +# Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
+# +# This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php. +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = LhBoardInitDxe + FILE_GUID = 2158880C-4E7C-4817-8473-8B74AF2EAF6E + MODULE_TYPE = DXE_DRIVER + VERSION_STRING = 1.0 + LIBRARY_CLASS = NULL|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER + CONSTRUCTOR = LhBoardInitDxeConstructor + +[Sources] + BoardInitDxe.c + BoardInitDxe.h + +[Packages] + MdePkg/MdePkg.dec + MdeModulePkg/MdeModulePkg.dec + BroxtonPlatformPkg/PlatformPkg.dec + BroxtonSiPkg/BroxtonSiPkg.dec + +[LibraryClasses] + BaseLib + UefiLib + UefiBootServicesTableLib + UefiRuntimeServicesTableLib + DebugLib + PcdLib + PrintLib + +[Protocols] + +[Guids] + +[Pcd] + gPlatformModuleTokenSpaceGuid.PcdGetBoardNameFunc + gPlatformModuleTokenSpaceGuid.PcdBoardId + -- cgit v1.2.3