From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=david.wei@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 196B02034C5F4 for ; Thu, 23 Nov 2017 19:29:16 -0800 (PST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Nov 2017 19:33:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,444,1505804400"; d="scan'208";a="5195200" Received: from zwei4-mobl1.ccr.corp.intel.com ([10.239.193.136]) by FMSMGA003.fm.intel.com with ESMTP; 23 Nov 2017 19:33:34 -0800 From: zwei4 To: edk2-devel@lists.01.org Date: Fri, 24 Nov 2017 11:33:24 +0800 Message-Id: <20171124033327.7244-1-david.wei@intel.com> X-Mailer: git-send-email 2.14.1.windows.1 Subject: [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 1/4] Board Specific Code. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Nov 2017 03:29:17 -0000 Add BoardInitDxe lib for Minnowboard3 Next pre-product board. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: zwei4 --- .../MinnowBoard3Next/BoardInitDxe/BoardInitDxe.c | 68 ++++++++++++++++++++++ .../MinnowBoard3Next/BoardInitDxe/BoardInitDxe.h | 37 ++++++++++++ .../MinnowBoard3Next/BoardInitDxe/BoardInitDxe.inf | 52 +++++++++++++++++ 3 files changed, 157 insertions(+) create mode 100644 Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.c create mode 100644 Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.h create mode 100644 Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.inf diff --git a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.c b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.c new file mode 100644 index 000000000..a1c2c3952 --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.c @@ -0,0 +1,68 @@ +/** @file + Board specific functions in DXE phase to be set as dynamic PCD and consumed by + commmon platform code. + + Copyright (c) 2009 - 2017, 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 mMb3NGetBoardNamePtr = Mb3NGetBoardName; + +CHAR16* +EFIAPI +Mb3NGetBoardName ( + IN UINT8 BoardId + ) +{ + STATIC CHAR16 BoardName[40]; + + DEBUG ((EFI_D_INFO, "BoardInitDxe: GetBoardName - Minnow Board v3 Next\n")); + + UnicodeSPrint (BoardName, sizeof (BoardName), L"Minnow Board v3 Next (0x%02X)", BoardId); + + if (BoardId != (UINT8) BOARD_ID_MINNOW_NEXT) { + 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 +Mb3NBoardInitDxeConstructor ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + UINT8 BoardId; + + BoardId = PcdGet8 (PcdBoardId); + if (BoardId != (UINT8) BOARD_ID_MINNOW_NEXT) { + return EFI_SUCCESS; + } + + PcdSet64 (PcdGetBoardNameFunc, (UINT64) mMb3NGetBoardNamePtr); + + return EFI_SUCCESS; +} + diff --git a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.h b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.h new file mode 100644 index 000000000..74407aca8 --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/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 - 2017, 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 __MINNOW3_NEXT_BOARD_INIT_DXE_H__ +#define __MINNOW3_NEXT_BOARD_INIT_DXE_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +CHAR16* +EFIAPI +Mb3NGetBoardName ( + IN UINT8 BoardId + ); + +#endif diff --git a/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.inf b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/BoardInitDxe/BoardInitDxe.inf new file mode 100644 index 000000000..0b385e9e7 --- /dev/null +++ b/Platform/BroxtonPlatformPkg/Board/MinnowBoard3Next/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 - 2017, 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 = Mb3NBoardInitDxe + FILE_GUID = 82919D30-DA6E-4177-8358-D490B45EFF3B + 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 = Mb3NBoardInitDxeConstructor + +[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 + -- 2.14.1.windows.1