/** @file Copyright (c) 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include #include #include #include #include #include #include #include #include "TigerlakeURvpInit.h" #include "GpioTableTigerlakeUDdr4Rvp.h" #include /** GPIO init function for PEI post memory phase. @param[in] BoardId An unsigned integrer represent the board id. @retval EFI_SUCCESS The function completed successfully. **/ EFI_STATUS BoardGpioInit( IN UINT16 BoardId ) { // // GPIO Table Init. // switch (BoardId) { case BoardIdTglUDdr4: PcdSet32S (PcdBoardGpioTable, (UINTN) mGpioTableTglUDdr4); PcdSet16S (PcdBoardGpioTableSize, mGpioTableTglUDdr4Size); break; default: break; } return EFI_SUCCESS; } /** Touch panel GPIO init function for PEI post memory phase. @param[in] BoardId An unsigned integrer represent the board id. @retval EFI_SUCCESS The function completed successfully. **/ EFI_STATUS TouchPanelGpioInit ( IN UINT16 BoardId ) { return EFI_SUCCESS; } /** Misc. init function for PEI post memory phase. @param[in] BoardId An unsigned integrer represent the board id. @retval EFI_SUCCESS The function completed successfully. **/ EFI_STATUS BoardMiscInit ( IN UINT16 BoardId ) { return EFI_SUCCESS; } /** Security GPIO init function for PEI post memory phase. @param[in] BoardId An unsigned integrer represent the board id. @retval EFI_SUCCESS The function completed successfully. **/ EFI_STATUS BoardSecurityInit ( IN UINT16 BoardId ) { return EFI_SUCCESS; } /** Board configuration initialization in the post-memory boot phase. **/ VOID BoardConfigInit ( VOID ) { EFI_STATUS Status; UINT16 BoardId; BoardId = BoardIdTglUDdr4; Status = BoardGpioInit (BoardId); ASSERT_EFI_ERROR (Status); Status = TouchPanelGpioInit (BoardId); ASSERT_EFI_ERROR (Status); Status = BoardMiscInit (BoardId); ASSERT_EFI_ERROR (Status); Status = BoardSecurityInit (BoardId); ASSERT_EFI_ERROR (Status); } /** Configure GPIO and SIO @retval EFI_SUCCESS Operation success. **/ EFI_STATUS EFIAPI TigerlakeURvpBoardInitBeforeSiliconInit( VOID ) { EFI_STATUS Status; DEBUG ((DEBUG_INFO, "Board Init before Silicon Init\n")); BoardConfigInit (); // // Configure GPIO and SIO // Status = BoardInit (); ASSERT_EFI_ERROR (Status); // // Initializing Platform Specific Programming // Status = PlatformSpecificInit (); ASSERT_EFI_ERROR(Status); return EFI_SUCCESS; }