diff options
author | Potin Lai <potin.lai@quantatw.com> | 2022-08-09 13:06:38 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2022-09-06 20:59:26 +0300 |
commit | 09fec31614174282f018c603c095b03b1a574fb8 (patch) | |
tree | ddf3a93dfb2ec6ee5994588b1c4f9cc987c346f5 /meta-facebook | |
parent | 4df84f2dfe586e7b058deb63b5f958dc7616cb89 (diff) | |
download | openbmc-09fec31614174282f018c603c095b03b1a574fb8.tar.xz |
meta-bletchley: phosphor-virtual-sensor: add config for each FPB type
Add virtual sensor configuration for each front panel board type, and
the phosphor-virtual-sensor require board-type-checker-fpb to setup the
softlink of configuration.
This patch relies on the patch below:
https://gerrit.openbmc.org/c/openbmc/openbmc/+/56384
Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Change-Id: I8537985682228aa651d6286aaac3aa5dac285795
Diffstat (limited to 'meta-facebook')
-rw-r--r-- | meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config_hdc1080.json (renamed from meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json) | 0 | ||||
-rw-r--r-- | meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config_si7021.json | 143 | ||||
-rw-r--r-- | meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend | 6 |
3 files changed, 147 insertions, 2 deletions
diff --git a/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config_hdc1080.json index 8a180928e8..8a180928e8 100644 --- a/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config.json +++ b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config_hdc1080.json diff --git a/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config_si7021.json b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config_si7021.json new file mode 100644 index 0000000000..c67bb2907f --- /dev/null +++ b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor/virtual_sensor_config_si7021.json @@ -0,0 +1,143 @@ +[ + { + "Desc": { + "Name": "Virtual_CFM_Sensor", + "SensorType": "airflow" + }, + "Params": { + "DbusParam": [ + { + "ParamName": "fan0", + "Desc": { + "Name": "FAN0_TACH_IL", + "SensorType": "fan_tach" + } + }, + { + "ParamName": "fan1", + "Desc": { + "Name": "FAN1_TACH_IL", + "SensorType": "fan_tach" + } + }, + { + "ParamName": "fan2", + "Desc": { + "Name": "FAN2_TACH_IL", + "SensorType": "fan_tach" + } + }, + { + "ParamName": "fan3", + "Desc": { + "Name": "FAN3_TACH_IL", + "SensorType": "fan_tach" + } + } + ] + }, + "Expression": "max(0, (avg(fan0, fan1, fan2, fan3) * 0.0448) - 9.5042)" + }, + { + "Desc": { + "Name": "Virtual_Inlet_Temp", + "SensorType": "temperature" + }, + "Threshold": { + "CriticalHigh": 40, + "CriticalLow": 0 + }, + "Params": { + "DbusParam": [ + { + "ParamName": "inlet_temp", + "Desc": { + "Name": "FRONT_PANEL_TEMP", + "SensorType": "temperature" + } + }, + { + "ParamName": "fan0", + "Desc": { + "Name": "FAN0_TACH_IL", + "SensorType": "fan_tach" + } + }, + { + "ParamName": "fan1", + "Desc": { + "Name": "FAN1_TACH_IL", + "SensorType": "fan_tach" + } + }, + { + "ParamName": "fan2", + "Desc": { + "Name": "FAN2_TACH_IL", + "SensorType": "fan_tach" + } + }, + { + "ParamName": "fan3", + "Desc": { + "Name": "FAN3_TACH_IL", + "SensorType": "fan_tach" + } + } + ] + }, + "Expression": [ + "if(", + " avg(fan0, fan1, fan2, fan3) > 0,", + " inlet_temp - (((avg(fan0, fan1, fan2, fan3)^2) * (9e-8)) -", + " (avg(fan0, fan1, fan2, fan3) * (8e-4)) + 2.37),", + " inlet_temp)" + ] + }, + { + "Desc": { + "Name": "Virtual_P12V_AUX_HSC_Input_Power", + "SensorType": "power" + }, + "Params": { + "DbusParam": [ + { + "ParamName": "HSC_PWR", + "Desc": { + "Name": "P12V_AUX_HSC_Input_Power", + "SensorType": "power" + } + } + ] + }, + "Expression": [ + "var PWR[9]:={", + " 68.082, 131.899, 194.753, 256.391, 316.721, 376.108, 433.569,", + " 490.850, 546.187 };", + "var ERR[9]:={", + " 0.0425, 0.0497, 0.0537, 0.0555, 0.0565, 0.0577, 0.0587, 0.0597,", + " 0.0603 };", + "switch {", + " case HSC_PWR<PWR[0]:", + " HSC_PWR/(1+ERR[0]);", + " case inrange(PWR[0],HSC_PWR,PWR[1]):", + " HSC_PWR/(1+ERR[0]+(HSC_PWR-PWR[0])*(ERR[1]-ERR[0])/(PWR[1]-PWR[0]));", + " case inrange(PWR[1],HSC_PWR,PWR[2]):", + " HSC_PWR/(1+ERR[1]+(HSC_PWR-PWR[1])*(ERR[2]-ERR[1])/(PWR[2]-PWR[1]));", + " case inrange(PWR[2],HSC_PWR,PWR[3]):", + " HSC_PWR/(1+ERR[2]+(HSC_PWR-PWR[2])*(ERR[3]-ERR[2])/(PWR[3]-PWR[2]));", + " case inrange(PWR[3],HSC_PWR,PWR[4]):", + " HSC_PWR/(1+ERR[3]+(HSC_PWR-PWR[3])*(ERR[4]-ERR[3])/(PWR[4]-PWR[3]));", + " case inrange(PWR[4],HSC_PWR,PWR[5]):", + " HSC_PWR/(1+ERR[4]+(HSC_PWR-PWR[4])*(ERR[5]-ERR[4])/(PWR[5]-PWR[4]));", + " case inrange(PWR[5],HSC_PWR,PWR[6]):", + " HSC_PWR/(1+ERR[5]+(HSC_PWR-PWR[5])*(ERR[6]-ERR[5])/(PWR[6]-PWR[5]));", + " case inrange(PWR[6],HSC_PWR,PWR[7]):", + " HSC_PWR/(1+ERR[6]+(HSC_PWR-PWR[6])*(ERR[7]-ERR[6])/(PWR[7]-PWR[6]));", + " case inrange(PWR[7],HSC_PWR,PWR[8]):", + " HSC_PWR/(1+ERR[7]+(HSC_PWR-PWR[7])*(ERR[8]-ERR[7])/(PWR[8]-PWR[7]));", + " default : HSC_PWR/(1+ERR[8]);", + "}" + ] + } +] diff --git a/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend index 9c853669f2..dbf7e0d2fc 100644 --- a/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend +++ b/meta-facebook/meta-bletchley/recipes-phosphor/sensors/phosphor-virtual-sensor_%.bbappend @@ -1,8 +1,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += " \ - file://virtual_sensor_config.json \ + file://virtual_sensor_config_hdc1080.json \ + file://virtual_sensor_config_si7021.json \ " do_install:append() { - install -m 0644 -D ${WORKDIR}/virtual_sensor_config.json ${D}${datadir}/phosphor-virtual-sensor/ + install -m 0644 -D ${WORKDIR}/virtual_sensor_config_hdc1080.json ${D}${datadir}/phosphor-virtual-sensor/ + install -m 0644 -D ${WORKDIR}/virtual_sensor_config_si7021.json ${D}${datadir}/phosphor-virtual-sensor/ } |