+++ /dev/null
-/*++\r
-\r
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
- \r\r
-\r
-\r
-\r
-Module Name:\r
-\r
- SensorInfoVariable.h\r
-\r
-Abstract:\r
-\r
- GUID used for Sensor Info variable.\r
-\r
---*/\r
-\r
-\r
-//\r
-// Module: SensorInfoVariable.h\r
-//\r
-// Description: Provides structure and literal definitions for the\r
-// Sensor Information Variable. The BIOS will provide\r
-// this variable to runtime applications via the EFI\r
-// GetVariable function.\r
-//\r
-// Notes: 1. When defining and initializing the variable within the\r
-// BIOS, the module will define the structure using the\r
-// typedef macros in a block. For an ATX board using a\r
-// single Heceta 6P, which has 4 temperature sensors, 6\r
-// voltage sensors, 4 fan speed sensors and 3 fan speed\r
-// controllers, this block would be declared as follows:\r
-//\r
-// TYPEDEF_TEMP_SENSOR_SECTION(4);\r
-// TYPEDEF_VOLT_SENSOR_SECTION(6);\r
-// TYPEDEF_FAN_SENSOR_SECTION(4);\r
-// TYPEDEF_FAN_CONTROLLER_SENSOR(3);\r
-// TYPEDEF_SENSOR_INFO_VAR;\r
-//\r
-// 2. When crafting code to access the variable, the module\r
-// will also need to invoke the typedef macros in a\r
-// block but, since it cannot declare a structure for the\r
-// overall variable (because array lengths will vary), it\r
-// cannot use TYPEDEF_SENSOR_INFO_VAR. The block will\r
-// typically be used as follows:\r
-//\r
-// TYPEDEF_TEMP_SENSOR_SECTION(1);\r
-// TYPEDEF_VOLT_SENSOR_SECTION(1);\r
-// TYPEDEF_FAN_SENSOR_SECTION(1);\r
-// TYPEDEF_FAN_CONTROLLER_SENSOR(1);\r
-//\r
-// The structure buffer should instead be declared as a\r
-// BYTE array. Pointers to the various sections can then\r
-// be built using the XXXX_SECTION_LEN macros...\r
-//\r
-\r
-\r
-#ifndef _SENSOR_INFO_VAR_GUID_H_\r
-#define _SENSOR_INFO_VAR_GUID_H_\r
-\r
-#define SENSOR_INFO_VAR_GUID \\r
- { \\r
- 0xE59E7B4D, 0x06DC, 0x44AB, 0xB3, 0x6D, 0x5E, 0xD7, 0x78, 0x9C, 0x53, 0x0A \\r
- }\r
-\r
-extern EFI_GUID gEfiSensorInfoVarGuid;\r
-extern CHAR16 gEfiSensorInfoVarName[];\r
-extern CHAR16 gEfiSensorInfoVarNameWithPassword[];\r
-\r
-#define SENSOR_INFO_VAR_NAME L"SensorInfoVar"\r
-#define SENSOR_INFO_VAR_NAME_WITH_PASSWORD SENSOR_INFO_VAR_NAME L"S4k?A^7!"\r
-\r
-//\r
-// Sensor/Controller usage definitions\r
-//\r
-\r
-#define UNKNOWN_OTHER 0\r
-\r
-//\r
-// Temperature Sensors\r
-//\r
-#define CPU_CORE_TEMPERATURE 1\r
-#define CPU_DIE_TEMPERATURE 2\r
-#define ICH_TEMPERATURE 3\r
-#define MCH_TEMPERATURE 4\r
-#define VR_TEMPERATURE 5\r
-#define MEMORY_TEMPERATURE 6\r
-#define MOTHERBOARD_AMBIENT_TEMPERATURE 7\r
-#define SYSTEM_AMBIENT_AIR_TEMPERATURE 8\r
-#define CPU_INLET_AIR_TEMPERATURE 9\r
-#define SYSTEM_INLET_AIR_TEMPERATURE 10\r
-#define SYSTEM_OUTLET_AIR_TEMPERATURE 11\r
-#define PSU_HOTSPOT_TEMPERATURE 12\r
-#define PSU_INLET_AIR_TEMPERATURE 13\r
-#define PSU_OUTLET_AIR_TEMPERATURE 14\r
-#define DRIVE_TEMPERATURE 15\r
-#define GPU_TEMPERATURE 16\r
-#define IOH_TEMPERATURE 17\r
-\r
-#define LAST_TEMPERATURE 17\r
-\r
-//\r
-// Voltage Sensors\r
-//\r
-#define PLUS_12_VOLTS 1\r
-#define NEG_12_VOLTS 2\r
-#define PLUS_5_VOLTS 3\r
-#define PLUS_5_VOLT_BACKUP 4\r
-#define NEG_5_VOLTS 5\r
-#define PLUS_3P3_VOLTS 6\r
-#define PLUS_2P5_VOLTS 7\r
-#define PLUS_1P5_VOLTS 8\r
-#define CPU_1_VCCP_VOLTAGE 9\r
-#define CPU_2_VCCP_VOLTAGE 10\r
-#define CPU_3_VCCP_VOLTAGE 11\r
-#define CPU_4_VCCP_VOLTAGE 12\r
-#define PSU_INPUT_VOLTAGE 13\r
-#define MCH_VCC_VOLTAGE 14\r
-#define PLUS_3P3_VOLT_STANDBY 15\r
-#define CPU_VTT_VOLTAGE 16\r
-#define PLUS_1P8_VOLTS 17\r
-\r
-#define LAST_VOLTAGE 17\r
-\r
-//\r
-// Fan Speed Sensors and Controllers.\r
-//\r
-#define CPU_COOLING_FAN 1\r
-#define SYSTEM_COOLING_FAN 2\r
-#define MCH_COOLING_FAN 3\r
-#define VR_COOLING_FAN 4\r
-#define CHASSIS_COOLING_FAN 5\r
-#define CHASSIS_INLET_FAN 6\r
-#define CHASSIS_OUTLET_FAN 7\r
-#define PSU_COOLING_FAN 8\r
-#define PSU_INLET_FAN 9\r
-#define PSU_OUTLET_FAN 10\r
-#define DRIVE_COOLING_FAN 11\r
-#define GPU_COOLING_FAN 12\r
-#define AUX_COOLING_FAN 13\r
-#define IOH_COOLING_FAN 14\r
-\r
-#define LAST_FAN 14\r
-\r
-//\r
-// Fan Type Definitions\r
-//\r
-#define FAN_TYPE_UNKNOWN 0\r
-#define FAN_3WIRE_PULSE 1\r
-#define FAN_3WIRE_VOLTAGE 2\r
-#define FAN_4WIRE 3\r
-\r
-#pragma pack(1)\r
-\r
-//\r
-// TEMP_SENSOR_INFO - Structure providing info for a temperature sensor.\r
-//\r
-typedef struct _TEMP_SENSOR_INFO\r
-{\r
- UINT8 byDevice; // Device index\r
- UINT8 byIndex; // Physical sensor index\r
- UINT8 byUsage; // Usage indicator\r
- UINT8 bRelative; // Relative vs. Absolute readings\r
-\r
-} TEMP_SENSOR_INFO, *P_TEMP_SENSOR_INFO;\r
-\r
-//\r
-// TYPEDEF_TEMP_SENSOR_SECTION - Macro that can be used to typedef the\r
-// TEMP_SENSOR_SECTION structure, which provides information about all\r
-// temperature sensors.\r
-//\r
-#define TYPEDEF_TEMP_SENSOR_SECTION(count) \\r
-typedef struct _TEMP_SENSOR_SECTION \\r
-{ \\r
- UINT8 byCount; \\r
- TEMP_SENSOR_INFO stSensor[count]; \\r
- \\r
-} TEMP_SENSOR_SECTION, *P_TEMP_SENSOR_SECTION\r
-\r
-//\r
-// VOLT_SENSOR_INFO - Structure providing info for a voltage sensor.\r
-//\r
-typedef struct _VOLT_SENSOR_INFO\r
-{\r
- UINT8 byDevice; // Device index\r
- UINT8 byIndex; // Physical sensor index\r
- UINT8 byUsage; // Usage indicator\r
-\r
-} VOLT_SENSOR_INFO, *P_VOLT_SENSOR_INFO;\r
-\r
-//\r
-// TYPEDEF_VOLT_SENSOR_SECTION - Macro that can be used to typedef the\r
-// VOLT_SENSOR_SECTION structure, which provides information about all\r
-// voltage sensors.\r
-//\r
-#define TYPEDEF_VOLT_SENSOR_SECTION(count) \\r
-typedef struct _VOLT_SENSOR_SECTION \\r
-{ \\r
- UINT8 byCount; \\r
- VOLT_SENSOR_INFO stSensor[count]; \\r
- \\r
-} VOLT_SENSOR_SECTION, *P_VOLT_SENSOR_SECTION\r
-\r
-//\r
-// FAN_SENSOR_INFO - Structure providing info for a fan speed sensor.\r
-//\r
-typedef struct _FAN_SENSOR_INFO\r
-{\r
- UINT8 byDevice; // Device index\r
- UINT8 byIndex; // Physical sensor index\r
- UINT8 byUsage; // Usage indicator\r
- UINT8 byType; // Fan type\r
- UINT8 byController; // Associated Fan Controller\r
-\r
-} FAN_SENSOR_INFO, *P_FAN_SENSOR_INFO;\r
-\r
-//\r
-// TYPEDEF_FAN_SENSOR_SECTION - Macro that can be used to typedef the\r
-// FAN_SENSOR_SECTION structure, which provides information about all fan\r
-// speed sensors.\r
-//\r
-#define TYPEDEF_FAN_SENSOR_SECTION(count) \\r
-typedef struct _FAN_SENSOR_SECTION \\r
-{ \\r
- UINT8 byCount; \\r
- FAN_SENSOR_INFO stSensor[count]; \\r
- \\r
-} FAN_SENSOR_SECTION, *P_FAN_SENSOR_SECTION\r
-\r
-//\r
-// FAN_CONTROLLER_INFO - Structure providing info for a fan speed controller.\r
-//\r
-#define MAX_ASSOC_FANS 4\r
-#define ASSOC_UNUSED 0xFF\r
-\r
-typedef struct _FAN_CONTROLLER_INFO\r
-{\r
- UINT8 byDevice; // Device index\r
- UINT8 byIndex; // Physical Controller Index\r
- UINT8 byUsage; // Usage Indicator\r
- UINT8 byFan[MAX_ASSOC_FANS]; // Associated Fan Sensors\r
-\r
-} FAN_CONTROLLER_INFO, *P_FAN_CONTROLLER_INFO;\r
-\r
-//\r
-// TYPEDEF_FAN_CONTROLLER_SECTION - Macro that can be used to typedef the\r
-// FAN_CONTROLLER_SECTION structure, which provides information about all\r
-// fan speed controllers.\r
-//\r
-#define TYPEDEF_FAN_CONTROLLER_SECTION(count) \\r
-typedef struct _FAN_CONTROLLER_SECTION \\r
-{ \\r
- UINT8 byCount; \\r
- FAN_CONTROLLER_INFO stController[count]; \\r
- \\r
-} FAN_CONTROLLER_SECTION, *P_FAN_CONTROLLER_SECTION\r
-\r
-//\r
-// TYPEDEF_SENSOR_INFO_VAR - Macro that can be used to typedef the\r
-// SENSOR_INFO_VAR structure, which provides information about all sensors\r
-// and fan speed controllers. The other TYPEDEF macros must be invoked\r
-// before using this one...\r
-//\r
-#define TYPEDEF_SENSOR_INFO_VAR \\r
-typedef struct _SENSOR_INFO_VAR \\r
-{ \\r
- TEMP_SENSOR_SECTION stTemps; \\r
- VOLT_SENSOR_SECTION stVolts; \\r
- FAN_SENSOR_SECTION stFans; \\r
- FAN_CONTROLLER_SECTION stCtrls; \\r
- \\r
-} SENSOR_INFO_VAR, *P_SENSOR_INFO_VAR\r
-\r
-#pragma pack()\r
-\r
-#endif\r