public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 1/4] Board Specific Code.
@ 2017-11-24  3:33 zwei4
  2017-11-24  3:33 ` [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 2/4] " zwei4
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: zwei4 @ 2017-11-24  3:33 UTC (permalink / raw)
  To: edk2-devel

Add BoardInitDxe lib for Minnowboard3 Next pre-product board.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: zwei4 <david.wei@intel.com>
---
 .../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.<BR>
+
+  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.<BR>
+
+  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 <BoardFunctionsDxe.h>
+#include <Library/UefiDriverEntryPoint.h>
+#include <Library/DebugLib.h>
+#include <Library/UefiBootServicesTableLib.h>
+#include <Library/UefiRuntimeServicesTableLib.h>
+#include <Library/UefiLib.h>
+#include <Library/BaseLib.h>
+#include <Library/PcdLib.h>
+#include <Library/PrintLib.h>
+#include <Guid/PlatformInfo.h>
+
+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.<BR>
+#
+#  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



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-11-24  3:29 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-24  3:33 [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 1/4] Board Specific Code zwei4
2017-11-24  3:33 ` [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 2/4] " zwei4
2017-11-24  3:33 ` [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 3/4] " zwei4
2017-11-24  3:33 ` [Patch][edk2-platforms/devel-MinnowBoard3-UDK2017 4/4] " zwei4

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox