12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /** @file
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
- Module Name:
- SioPlatformPolicy.c
- Abstract:
- Sio Platform Policy Setting.
- --*/
- #include "PlatformDxe.h"
- #include <Protocol/LpcWpc83627Policy.h>
- 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);
- }
|