]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/PlatformDxe/SioPlatformPolicy.c
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformDxe / SioPlatformPolicy.c
1 /** @file
2
3 Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
4
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13
14 Module Name:
15
16
17 SioPlatformPolicy.c
18
19 Abstract:
20
21 Sio Platform Policy Setting.
22
23
24 --*/
25
26 #include "PlatformDxe.h"
27 #include <Protocol/LpcWpc83627Policy.h>
28
29
30 EFI_WPC83627_POLICY_PROTOCOL mSio83627PolicyData = {
31 { EFI_WPC83627_COM1_ENABLE, // Com1
32 EFI_WPC83627_LPT1_ENABLE, // Lpt1
33 EFI_WPC83627_FDD_DISABLE, // Floppy
34 EFI_WPC83627_FDD_WRITE_ENABLE, // FloppyWriteProtect
35 EFI_WPC83627_RESERVED_DEFAULT, // Port80
36 EFI_WPC83627_ECIR_DISABLE, // CIR
37 EFI_WPC83627_PS2_KBC_ENABLE, // Ps2Keyboard
38 EFI_WPC83627_RESERVED_DEFAULT, // Ps2Mouse
39 EFI_WPC83627_COM2_ENABLE, // Com2
40 EFI_WPC83627_COM3_ENABLE, // Com3
41 EFI_WPC83627_COM4_ENABLE, // Com4
42 EFI_WPC83627_RESERVED_DEFAULT, // Dac
43 0x00 // Rsvd
44 },
45 LptModeEcp, // LptMode
46 };
47
48 /**
49
50 Publish the platform SIO policy setting.
51
52 @retval EFI_SUCCESS
53
54 **/
55 VOID
56 InitSioPlatformPolicy(
57 )
58 {
59
60 EFI_HANDLE Handle;
61 EFI_STATUS Status;
62
63 Handle = NULL;
64
65 if((mSystemConfiguration.Serial) || (mBoardFeatures & B_BOARD_FEATURES_SIO_NO_COM1)) {
66 mSio83627PolicyData.DeviceEnables.Com1 = EFI_WPC83627_COM1_DISABLE;
67 }
68
69 if((mSystemConfiguration.Serial2) || ((mBoardFeatures & B_BOARD_FEATURES_SIO_COM2)==0)) {
70 mSio83627PolicyData.DeviceEnables.Com2 = EFI_WPC83627_COM2_DISABLE;
71 }
72
73 mSio83627PolicyData.LptMode = mSystemConfiguration.ParallelMode;
74 if((!mSystemConfiguration.Parallel) || (mBoardFeatures & B_BOARD_FEATURES_SIO_NO_PARALLEL)) {
75 mSio83627PolicyData.DeviceEnables.Lpt1 = EFI_WPC83627_LPT1_DISABLE;
76 }
77
78 Status = gBS->InstallProtocolInterface (
79 &Handle,
80 &gEfiLpcWpc83627PolicyProtocolGuid,
81 EFI_NATIVE_INTERFACE,
82 &mSio83627PolicyData
83 );
84 ASSERT_EFI_ERROR(Status);
85
86 }
87