diff options
author | mbroyles <mbroyles@us.ibm.com> | 2019-06-24 12:24:46 -0500 |
---|---|---|
committer | Christopher J Cain <cjcain@us.ibm.com> | 2019-08-05 12:17:40 -0500 |
commit | e3c65ee89e76e3de0548abc9df4c7f1768db9402 (patch) | |
tree | f1ab099d0c86a076312d14cfb10b91a279a10594 /src/occ_405/amec/amec_sys.h | |
parent | b2300761b7ea588e1792529ad27c435e978f3376 (diff) | |
download | talos-occ-e3c65ee89e76e3de0548abc9df4c7f1768db9402.tar.gz talos-occ-e3c65ee89e76e3de0548abc9df4c7f1768db9402.zip |
Explorer internal sensor workaround
Fixes for 16 OCMB support
Change-Id: Ide04de3c2b1bb09654890d3334530cb20e327e83
RTC: 211961
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80920
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Douglas R Gilbert <dgilbert@us.ibm.com>
Reviewed-by: Christopher J Cain <cjcain@us.ibm.com>
Diffstat (limited to 'src/occ_405/amec/amec_sys.h')
-rwxr-xr-x | src/occ_405/amec/amec_sys.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/occ_405/amec/amec_sys.h b/src/occ_405/amec/amec_sys.h index c19cd53..f17b42b 100755 --- a/src/occ_405/amec/amec_sys.h +++ b/src/occ_405/amec/amec_sys.h @@ -146,6 +146,7 @@ typedef struct amec_cent_mem_speed_t last_mem_speed_sent; } amec_portpair_t; +// bit masks for fru_temp_t flags #define FRU_SENSOR_STATUS_STALLED 0x01 #define FRU_SENSOR_STATUS_ERROR 0x02 #define FRU_SENSOR_STATUS_VALID_OLD 0x04 @@ -154,6 +155,12 @@ typedef struct #define FRU_TEMP_FAST_CHANGE 0x20 #define FRU_SENSOR_CENT_NEST_FIR6 0x40 //centaur only +// OpenCAPI memory only bit masks for fru_temp_t dts_type_mask +#define OCM_DTS_TYPE_DIMM_MASK 0x01 +#define OCM_DTS_TYPE_MEMCTRL_DRAM_MASK 0x02 +#define OCM_DTS_TYPE_PMIC_MASK 0x04 +#define OCM_DTS_TYPE_MEMCTRL_EXT_MASK 0x08 + typedef struct { uint8_t cur_temp; @@ -161,6 +168,10 @@ typedef struct uint8_t flags; // Sensor ID for reporting temperature to BMC and FSP uint32_t temp_sid; + // Indicates what eConfigDataFruType this temperature is for + uint8_t temp_fru_type; + // Indicates what this temperature is for + uint8_t dts_type_mask; }fru_temp_t; typedef struct @@ -191,7 +202,6 @@ typedef struct // Sensor ID for reporting temperature to BMC and FSP uint32_t temp_sid; - } amec_centaur_t; typedef struct @@ -469,8 +479,11 @@ typedef struct vectorSensor_t util_vector; // Memory Summary Sensors - sensor_t tempcent; - sensor_t tempdimmthrm; + sensor_t tempcent; // hottest of all DATA_FRU_CENTAUR monitored by this OCC + sensor_t tempdimmthrm; // hottest of all DATA_FRU_DIMM monitored by this OCC + sensor_t tempmcdimmthrm; // hottest of all DATA_FRU_MEMCTRL_DRAM monitored by this OCC + sensor_t temppmicthrm; // hottest of all DATA_FRU_PMIC monitored by this OCC + sensor_t tempmcextthrm; // hottest of all DATA_FRU_MEMCTRL_EXT monitored by this OCC sensor_t mempwrthrot; sensor_t memotthrot; @@ -628,10 +641,16 @@ typedef struct //--------------------------------------------------------- // Thermal Controller based on processor temperatures amec_controller_t thermalproc; - // Thermal Controller based on Centaur temperatures + // Thermal Controller based on Centaur (internal mc) temperatures amec_controller_t thermalcent; // Thermal Controller based on DIMM temperatures amec_controller_t thermaldimm; + // Thermal Controller based on temperature sensors covering both Memctrl+DIMM + amec_controller_t thermalmcdimm; + // Thermal Controller based on PMIC temperatures + amec_controller_t thermalpmic; + // Thermal Controller based on external mem controller temperatures + amec_controller_t thermalmcext; // Thermal Controller based on VRM Vdd temperatures amec_controller_t thermalvdd; |