]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/PlatformDxe/SensorVar.c
Upload BSD-licensed Vlv2TbltDevicePkg and Vlv2DeviceRefCodePkg to
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformDxe / SensorVar.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 SensorVar.c
18
19 Abstract:
20
21 Initialization for the Sensor Info variable.
22
23 Revision History
24
25 --*/
26
27 #include "PlatformDxe.h"
28 #include "Guid/SensorInfoVariable.h"
29
30 //
31 // Sensor Information (board specific)
32 //
33
34 #define TEMPERATURE_SENSORS_COUNT 4
35 #define VOLTAGE_SENSORS_COUNT 6
36 #define FAN_SENSORS_COUNT 4
37 #define FAN_CONTROLLERS_COUNT 3
38
39 TYPEDEF_TEMP_SENSOR_SECTION(TEMPERATURE_SENSORS_COUNT);
40 TYPEDEF_VOLT_SENSOR_SECTION(VOLTAGE_SENSORS_COUNT);
41 TYPEDEF_FAN_SENSOR_SECTION(FAN_SENSORS_COUNT);
42 TYPEDEF_FAN_CONTROLLER_SECTION(FAN_CONTROLLERS_COUNT);
43 TYPEDEF_SENSOR_INFO_VAR;
44
45 SENSOR_INFO_VAR mSensorInfoData =
46 {
47 //
48 // Temperature Sensors
49 //
50 TEMPERATURE_SENSORS_COUNT,
51 {
52 { 0, 3, CPU_CORE_TEMPERATURE, TRUE },
53 { 0, 1, MOTHERBOARD_AMBIENT_TEMPERATURE, FALSE },
54 { 0, 2, VR_TEMPERATURE, FALSE },
55 { 0, 0, IOH_TEMPERATURE, FALSE }
56 },
57
58 //
59 // Voltage Sensors
60 //
61 VOLTAGE_SENSORS_COUNT,
62 {
63 { 0, 0, PLUS_12_VOLTS },
64 { 0, 1, PLUS_5_VOLTS },
65 { 0, 2, PLUS_3P3_VOLTS },
66 { 0, 3, MCH_VCC_VOLTAGE },
67 { 0, 4, CPU_1_VCCP_VOLTAGE },
68 { 0, 5, CPU_VTT_VOLTAGE }
69 },
70
71 //
72 // Fan Speed Sensors
73 //
74 FAN_SENSORS_COUNT,
75 {
76 { 0, 0, CPU_COOLING_FAN, FAN_4WIRE, 0 },
77 { 0, 1, AUX_COOLING_FAN, FAN_4WIRE, 1 },
78 { 0, 2, CHASSIS_INLET_FAN, FAN_3WIRE_VOLTAGE, 1 },
79 { 0, 3, CHASSIS_OUTLET_FAN, FAN_3WIRE_VOLTAGE, 2 }
80 },
81
82 //
83 // Fan Speed Controllers
84 //
85 FAN_CONTROLLERS_COUNT,
86 {
87 { 0, 0, CPU_COOLING_FAN, { 0, 0xff, 0xff, 0xff } },
88 { 0, 1, CHASSIS_COOLING_FAN, { 1, 2, 0xff, 0xff } },
89 { 0, 2, CHASSIS_COOLING_FAN, { 3, 0xff, 0xff, 0xff } }
90 }
91 };
92
93 /**
94
95 Write the Sensor Info variable if it does not already exist.
96
97 **/
98 VOID
99 InitializeSensorInfoVariable (
100 )
101 {
102 //
103 // Set the Sensor Info variable. If it already exists and the data matches,
104 // the variable driver will simply return without writing; otherwise, the
105 // driver will write the variable.
106 //
107 gRT->SetVariable (
108 gEfiSensorInfoVarNameWithPassword,
109 &gEfiSensorInfoVarGuid,
110 EFI_VARIABLE_NON_VOLATILE |
111 EFI_VARIABLE_BOOTSERVICE_ACCESS |
112 EFI_VARIABLE_RUNTIME_ACCESS,
113 sizeof (SENSOR_INFO_VAR),
114 &mSensorInfoData
115 );
116 }
117