aos/devices/xeon_phi/xeon_phi_sensors.dev
Daniel Schwyn 6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00

471 lines
16 KiB
Plaintext

/*
* Copyright (c) 2014 ETH Zurich. All rights reserved.
*
* This file is distributed under the terms in the attached LICENSE file.
* If you do not find this file, copies can be found by writing to:
* ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
*/
/*
* xeon_phi_sensors.dev
*
* description: register definitions for the Xeon Phi onboard sensors
*/
device xeon_phi_sensors lsbfirst ( addr base ) "Intel Xeon Phi Sensors" {
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRAP_PWRDG, HOT_RESET
* Register Access: TRM
*/
register thermal_status rw addr(base, 0x1018) "Status and Log info for all the thermal interrupts" {
thermal_monitor_status 1 "Set whenever the current die temp exceeds the thermal monitor control temperature";
thermal_monitor_log 1 "Sticky version of Thermal_Monitor_Status, cleared by s/w or by reset";
out_of_spec_status 1 "Set whenever the current die temp exceeds the Out of Spec temperature; is sticky";
out_of_spec_log 1 "Sticky version of Out_Of_Spec_Status ";
thermal_threshold1_status 1 "Set whenever the current die temp exceeds the software programmed thermal threshold";
thermal_threshold1_log 1 "Sticky version of Thermal_Threshold1_Status, cleared by s/w or by reset";
thermal_threshold2_status 1 "Set whenever the current die temp exceeds the software programmed thermal threshold2";
thermal_threshold2_log 1 "Sticky version of Thermal_Threshold2_Status, cleared by s/w or by reset";
fan_monitor_status 1 "Indication if there was an error/fail condition with the Off-chip Fan";
fan_monitor_log 1 "Sticky version of Fan_Monitor_Status, cleared by s/w or by reset";
system_hot_status 1 "Indication if any other device on the MIC Card is hot";
system_hot_log 1 "Sticky version of System_Hot_Status, cleared by s/w or by reset";
_ 20 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register thermal_irq_enable rw addr(base, 0x101C) "Register that controls the interrupt response to thermal events" {
high_temp 1 "enables/disables the s/w programmed HIGH temp interrupt";
low_temp 1 "enables/disables the s/w programmed LOW temp interrupt";
out_of_spec 1 "enables/disables the Out of Spec Temp interrupt";
fan_monitor 1 "enables/disables the interrupt from Fan Control Unit";
system_monitor 1 "enables/disables the system hot interrupts";
mclk_ratio 1 "enables/disables the mclk ratio interrupts";
alert 1 "enables/disables the ALERT# interrupts";
gpuhot 1 "enables/disables the GPUHOT# interrupts";
pwralert 1 "enables/disables the PWRALERT# interrupt";
_ 1 "Reserved";
sw_threshold1_temp 10 "Software Programmable Thermal Threshold #1";
sw_threshold1_enable 1 "enables/disables the sw threshold #1 interrupts";
sw_threshold2_temp 10 "Software Programmable Thermal Threshold #2";
sw_threshold2_enable 1 "enables/disables the sw threshold #2 interrupts";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register micro_controller_fan_status rw addr(base, 0x1020) "Upto data Status information from the Fan microcontroller" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register status_fan1 rw addr(base, 0x1024) "32 bit Status of Fan #1" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register status_fan2 rw addr(base, 0x1028) "32 bit Status of Fan #2" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG, HOT_RESET
* Register Access: TRM
*/
register speed_override_fan rw addr(base, 0x102C) "Override of fan speed" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register board_temp1 rw addr(base, 0x1030) "Temperature from Sensors 1 and 2 on LRB Card" {
value 32 "Value";
}
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register board_temp2 rw addr(base, 0x1034) "Temperature from Sensors 3 and 4 on LRB Card" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register board_voltage rw addr(base, 0x1038) "Digitized value of Voltage sense input to LRB" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register current_die_temp0 rw addr(base, 0x103C) "Consists of Current Die Temperatures of sensors 0 thru 2" {
sensor0 10 "current temperature of sensor 0";
sensor1 10 "current temperature of sensor 1";
sensor2 10 "current temperature of sensor 2";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register current_die_temp1 rw addr(base, 0x1040) "Consists of Current Die Temperatures of sensors 3 thru 5" {
sensor3 10 "current temperature of sensor 3";
sensor4 10 "current temperature of sensor 4";
sensor5 10 "current temperature of sensor 5";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register current_die_temp2 rw addr(base, 0x1044) "Consists of Current Die Temperatures of sensors 6 thru 8" {
sensor6 10 "current temperature of sensor 6";
sensor7 10 "current temperature of sensor 7";
sensor8 10 "current temperature of sensor 8";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG
* Register Access: TRM
*/
register max_die_temp0 rw addr(base, 0x1048) "Consists of Maximum Die Temperatures of sensors 0 thru 2" {
sensor0 10 "maximum temperature of sensor 0";
sensor1 10 "maximum temperature of sensor 1";
sensor2 10 "maximum temperature of sensor 2";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG
* Register Access: TRM
*/
register max_die_temp1 rw addr(base, 0x104C) "Consists of Maximum Die Temperatures of sensors 3 thru 5" {
sensor3 10 "maximum temperature of sensor 3";
sensor4 10 "maximum temperature of sensor 4";
sensor5 10 "maximum temperature of sensor 5";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG
* Register Access: TRM
*/
register max_die_temp2 rw addr(base, 0x1050) "Consists of Maximum Die Temperatures of sensors 6 thru 8" {
sensor6 10 "maximum temperature of sensor 6";
sensor7 10 "maximum temperature of sensor 7";
sensor8 10 "maximum temperature of sensor 8";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG
* Register Access: TRM
*/
register min_die_temp0 rw addr(base, 0x1054) "Consists of Minimum Die Temperatures of sensors 0 thru 2" {
sensor0 10 "minimum temperature of sensor 0";
sensor1 10 "minimum temperature of sensor 1";
sensor2 10 "minimum temperature of sensor 2";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG
* Register Access: TRM
*/
register min_die_temp1 rw addr(base, 0x1058) "Consists of Minimum Die Temperatures of sensors 3 thru 5" {
sensor3 10 "minimum temperature of sensor 3";
sensor4 10 "minimum temperature of sensor 4";
sensor5 10 "minimum temperature of sensor 5";
_ 2 "Reserved";;
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG
* Register Access: TRM
*/
register min_die_temp2 rw addr(base, 0x105C) "Consists of Minimum Die Temperatures of sensors 6 thru 8" {
sensor6 10 "minimum temperature of sensor 6";
sensor7 10 "minimum temperature of sensor 7";
sensor8 10 "minimum temperature of sensor 8";
_ 2 "Reserved";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: GRPA_PWRDG
* Register Access: TRM
*/
register min_die_temp2 rw addr(base, 0x105C) "Consists of Minimum Die Temperatures of sensors 6 thru 8" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register thermal_status2 rw addr(base, 0x1080) "Thermal Status for LRB2" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET, HOT_RESET
* Register Access: TRM
*/
register thermal_status_irq rw addr(base, 0x107C) "Status and Log info for lrb2 new thermal interrupts" {
mclk_ratio_status 1 "Set whenever MCLK Ratio Changes. Cleared by SW writing.";
mclk_ratio_log 1 "A sticky version of MCLK_Ratio_Status";
alert_status 1 "Set whenever ALERT# pin is asserted. Cleared by SW writing.";
alert_log 1 "A sticky version of Alert_Status, cleared by s/w or by reset";
gpuhot_status 1 "Reflects the real-time value of the GPUHOT# pin (synchronized to SCLK domain).";
gpuhot_log 1 "Set on the assertion edge of GPUHOT# and remains set until software clears it by doing a write.";
pwralert_status 1 "Reflects the real-time value of the PWRALERT# pin (synchronized to SCLK domain).;
pwralert_log 1 "Set on the assertion edge of PWRALERT# and remains set until software clears it by doing a write."
_ 23 "Reserved";
etc_freeze 1 "freeze the increment of elapsed-time counter";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_settings0 rw addr(base, 0x1090) "External Thermal Sensor Setting - Sensor #0" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_settings1 rw addr(base, 0x1094) "External Thermal Sensor Setting - Sensor #1" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_settings2 rw addr(base, 0x1098) "External Thermal Sensor Setting - Sensor #2" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_settings3 rw addr(base, 0x109C) "External Thermal Sensor Setting - Sensor #3" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_settings4 rw addr(base, 0x10A0) "External Thermal Sensor Setting - Sensor #4" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_settings5 rw addr(base, 0x10A4) "External Thermal Sensor Setting - Sensor #5" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_controlparams0 rw addr(base, 0x10A8) "External Thermal Sensor Parameters - Sensor #0" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_controlparams1 rw addr(base, 0x10AC) "External Thermal Sensor Parameters - Sensor #1" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_controlparams2 rw addr(base, 0x10B0) "External Thermal Sensor Parameters - Sensor #2" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_controlparams3 rw addr(base, 0x10B4) "External Thermal Sensor Parameters - Sensor #3" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_controlparams4 rw addr(base, 0x10B8) "External Thermal Sensor Parameters - Sensor #4" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_controlparams5 rw addr(base, 0x10BC) "External Thermal Sensor Parameters - Sensor #5" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_status0 rw addr(base, 0x10C0) "External Thermal Sensor Status - Sensor #0 ~ #2" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register ext_temp_status1 rw addr(base, 0x10C4) "External Thermal Sensor Status - Sensor #3 ~ #5" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register int_fan_status rw addr(base, 0x10C8) "Internal Thermal Sensor Status" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register int_fan_control0 rw addr(base, 0x10CC) "Internal Thermal Sensor Setting/Parameters and FCU Configuration - 0" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register int_fan_control1 rw addr(base, 0x10D0) "Internal Thermal Sensor Setting/Parameters and FCU Configuration - 1" {
value 32 "Value";
};
/*
* Protection Level: Ring 0
* Visibility: Host / Coprocessor
* Reset Domain: CSR_RESET
* Register Access: TRM
*/
register int_fan_control2 rw addr(base, 0x10D4) "Internal Thermal Sensor Setting/Parameters and FCU Configuration - 2" {
value 32 "Value";
};
};