/** @file Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent Module Name: SioPlatformPolicy.c Abstract: Sio Platform Policy Setting. --*/ #include "PlatformDxe.h" #include EFI_WPC83627_POLICY_PROTOCOL mSio83627PolicyData = { { EFI_WPC83627_COM1_ENABLE, // Com1 EFI_WPC83627_LPT1_ENABLE, // Lpt1 EFI_WPC83627_FDD_DISABLE, // Floppy EFI_WPC83627_FDD_WRITE_ENABLE, // FloppyWriteProtect EFI_WPC83627_RESERVED_DEFAULT, // Port80 EFI_WPC83627_ECIR_DISABLE, // CIR EFI_WPC83627_PS2_KBC_ENABLE, // Ps2Keyboard EFI_WPC83627_RESERVED_DEFAULT, // Ps2Mouse EFI_WPC83627_COM2_ENABLE, // Com2 EFI_WPC83627_COM3_ENABLE, // Com3 EFI_WPC83627_COM4_ENABLE, // Com4 EFI_WPC83627_RESERVED_DEFAULT, // Dac 0x00 // Rsvd }, LptModeEcp, // LptMode }; /** Publish the platform SIO policy setting. @retval EFI_SUCCESS **/ VOID InitSioPlatformPolicy( ) { EFI_HANDLE Handle; EFI_STATUS Status; Handle = NULL; if((mSystemConfiguration.Serial) || (mBoardFeatures & B_BOARD_FEATURES_SIO_NO_COM1)) { mSio83627PolicyData.DeviceEnables.Com1 = EFI_WPC83627_COM1_DISABLE; } if((mSystemConfiguration.Serial2) || ((mBoardFeatures & B_BOARD_FEATURES_SIO_COM2)==0)) { mSio83627PolicyData.DeviceEnables.Com2 = EFI_WPC83627_COM2_DISABLE; } mSio83627PolicyData.LptMode = mSystemConfiguration.ParallelMode; if((!mSystemConfiguration.Parallel) || (mBoardFeatures & B_BOARD_FEATURES_SIO_NO_PARALLEL)) { mSio83627PolicyData.DeviceEnables.Lpt1 = EFI_WPC83627_LPT1_DISABLE; } Status = gBS->InstallProtocolInterface ( &Handle, &gEfiLpcWpc83627PolicyProtocolGuid, EFI_NATIVE_INTERFACE, &mSio83627PolicyData ); ASSERT_EFI_ERROR(Status); }