diff options
author | George Hung <george.hung@quantatw.com> | 2021-06-11 08:23:25 +0300 |
---|---|---|
committer | George Hung <george.hung@quantatw.com> | 2021-06-18 03:10:25 +0300 |
commit | bf078825d137b0e1a1ec02ddd4e6d08670a6783c (patch) | |
tree | 00fb1b07851b8ea0e18f9c915c1a80bba6f7ffc8 | |
parent | 1d28a2c8c1feb3e776d7c2ced3d4dc92652754ca (diff) | |
download | openbmc-bf078825d137b0e1a1ec02ddd4e6d08670a6783c.tar.xz |
meta-quanta: gbs: Modified pid sensor type from margin to temp
- Remove read-margin-temp files and codes
- Modified sensor type in pid json to temp
setpoint set to target temp
Kp set to Kp * scalar
Ki set to Ki * scalar
- Pre-detect nvme present status in fan-table-init.sh,
and delete settings if nvme present is false.
Signed-off-by: George Hung <george.hung@quantatw.com>
Change-Id: Iba4ac164a7a39ca1be109301402911d432294997
5 files changed, 646 insertions, 530 deletions
diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in index 21ba368df..2c921a7f8 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in @@ -73,8 +73,8 @@ }, { "name": "cputemp", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/cputemp", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/cputemp", "writePath": "", "min": 0, "max": 0, @@ -82,9 +82,9 @@ "timeout": 0 }, { - "name": "zone0_vr", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/zone0_vr", + "name": "vddcr_cpu", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu", "writePath": "", "min": 0, "max": 0, @@ -92,9 +92,49 @@ "timeout": 0 }, { - "name": "nvme", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/nvme", + "name": "vddcr_soc", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddcr_soc", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "vddio_abcd", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddio_abcd", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "vddio_efgh", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/vddio_efgh", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "p12v_mobo", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/p12v_mobo", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "powerseq_temp", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/powerseq_temp", "writePath": "", "min": 0, "max": 0, @@ -103,8 +143,168 @@ }, { "name": "p12v_fan", - "type": "margin", - "readPath": "/xyz/openbmc_project/extsensors/margin/p12v_fan", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/p12v_fan", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme0", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme0", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme1", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme1", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme2", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme2", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme3", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme3", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme4", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme4", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme5", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme5", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme6", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme6", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme7", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme7", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme8", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme8", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme9", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme9", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme10", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme10", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme11", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme11", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme12", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme12", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme13", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme13", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme14", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme14", + "writePath": "", + "min": 0, + "max": 0, + "ignoreDbusMinMax": true, + "timeout": 0 + }, + { + "name": "nvme15", + "type": "temp", + "readPath": "/xyz/openbmc_project/sensors/temperature/nvme15", "writePath": "", "min": 0, "max": 0, @@ -162,15 +362,15 @@ }, { "name": "cputemp", - "type": "margin", + "type": "temp", "inputs": [ "cputemp" ], - "setpoint": 10.0, + "setpoint": 80.0, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 714.0, - "integralCoeff": 9.0, + "proportionalCoeff": -714.0, + "integralCoeff": -9.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, @@ -185,15 +385,20 @@ }, { "name": "zone0_vr", - "type": "margin", + "type": "temp", "inputs": [ - "zone0_vr" + "vddcr_cpu", + "vddcr_soc", + "vddio_abcd", + "vddio_efgh", + "p12v_mobo", + "powerseq_temp" ], - "setpoint": 10.0, + "setpoint": 90.0, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 536.0, - "integralCoeff": 9.0, + "proportionalCoeff": -536.0, + "integralCoeff": -9.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, @@ -346,16 +551,16 @@ } }, { - "name": "nvme", - "type": "margin", + "name": "p12v_fan", + "type": "temp", "inputs": [ - "nvme" + "p12v_fan" ], - "setpoint": 10.0, + "setpoint": 90.0, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 1250.0, - "integralCoeff": 12.0, + "proportionalCoeff": -268.0, + "integralCoeff": -4.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, @@ -369,16 +574,361 @@ } }, { - "name": "p12v_fan", - "type": "margin", + "name": "nvme0", + "type": "temp", "inputs": [ - "p12v_fan" + "nvme0" ], - "setpoint": 10.0, + "setpoint": @WCTemp00@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme1", + "type": "temp", + "inputs": [ + "nvme1" + ], + "setpoint": @WCTemp01@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme2", + "type": "temp", + "inputs": [ + "nvme2" + ], + "setpoint": @WCTemp02@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme3", + "type": "temp", + "inputs": [ + "nvme3" + ], + "setpoint": @WCTemp03@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme4", + "type": "temp", + "inputs": [ + "nvme4" + ], + "setpoint": @WCTemp04@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme5", + "type": "temp", + "inputs": [ + "nvme5" + ], + "setpoint": @WCTemp05@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme6", + "type": "temp", + "inputs": [ + "nvme6" + ], + "setpoint": @WCTemp06@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme7", + "type": "temp", + "inputs": [ + "nvme7" + ], + "setpoint": @WCTemp07@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme8", + "type": "temp", + "inputs": [ + "nvme8" + ], + "setpoint": @WCTemp08@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme9", + "type": "temp", + "inputs": [ + "nvme9" + ], + "setpoint": @WCTemp09@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme10", + "type": "temp", + "inputs": [ + "nvme10" + ], + "setpoint": @WCTemp10@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme11", + "type": "temp", + "inputs": [ + "nvme11" + ], + "setpoint": @WCTemp11@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme12", + "type": "temp", + "inputs": [ + "nvme12" + ], + "setpoint": @WCTemp12@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme13", + "type": "temp", + "inputs": [ + "nvme13" + ], + "setpoint": @WCTemp13@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme14", + "type": "temp", + "inputs": [ + "nvme14" + ], + "setpoint": @WCTemp14@, + "pid": { + "samplePeriod": 1.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, + "feedFwdOffsetCoeff": 0.0, + "feedFwdGainCoeff": 0.0, + "integralLimit_min": 2679.0, + "integralLimit_max": 18000.0, + "outLim_min": 2679.0, + "outLim_max": 18000.0, + "slewNeg": 0.0, + "slewPos": 0.0, + "positiveHysteresis": 0.0, + "negativeHysteresis": 0.0 + } + }, + { + "name": "nvme15", + "type": "temp", + "inputs": [ + "nvme15" + ], + "setpoint": @WCTemp15@, "pid": { "samplePeriod": 1.0, - "proportionalCoeff": 268.0, - "integralCoeff": 4.0, + "proportionalCoeff": -1250.0, + "integralCoeff": -12.0, "feedFwdOffsetCoeff": 0.0, "feedFwdGainCoeff": 0.0, "integralLimit_min": 2679.0, diff --git a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh index 9617d0da4..5ceac7ea5 100644 --- a/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh +++ b/meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh @@ -15,13 +15,74 @@ mapper wait /xyz/openbmc_project/sensors/fan_tach/fb_fan2 Fan_0_To_4_Hwmon="$(ls /sys/devices/platform/ahb/ahb\:*/*pwm-fan-controller/hwmon/)" if [[ "$Fan_0_To_4_Hwmon" != "" ]]; then - sed -i "s/@Fan_0_To_4_Hwmon@/$Fan_0_To_4_Hwmon/g" $TEMP_FILE + sed -i "s/@Fan_0_To_4_Hwmon@/$Fan_0_To_4_Hwmon/g" $TEMP_FILE fi +presentGpio=() +presentState=() +gpioPath="/sys/class/gpio/gpio" +if [[ -f "/etc/nvme/nvme_config.json" ]]; then + presentGpio=($(cat /etc/nvme/nvme_config.json | grep NVMeDrivePresentPin \ + | awk '{print $2}' | cut -d "," -f 0)) +fi + +nvmePath="/xyz/openbmc_project/sensors/temperature/nvme" +nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme" +# Get and Set WCTEMP +for ((i = 0; i < 16; i++)); do + name="@WCTemp$(printf "%02d" $i)@" + wcTemp=72000 + + if [[ -d "${gpioPath}${presentGpio[i]}" ]] && + [[ "$(cat ${gpioPath}${presentGpio[i]}/value)" == "0" ]]; then + presentState[i]="true" + else + presentState[i]="false" + fi + + if [[ "${presentState[i]}" == "true" ]]; then + actualWCTemp=0 + for ((j = 0; j < 3; j++)); do + actualWCTemp="$( + busctl get-property xyz.openbmc_project.nvme.manager \ + ${nvmePath}${i} \ + xyz.openbmc_project.Sensor.Threshold.Critical \ + CriticalHigh | awk '{print $2}' + )" + if [[ "${actualWCTemp}" -ne 0 ]]; then + break + fi + + echo "${nvmePath}${i} WCTemp was read to be 0, retrying after 1 sec sleep" + sleep 1 + done + + if [[ "${actualWCTemp}" -ne 0 ]]; then + wcTemp="$(echo "${actualWCTemp} -7" | awk '{printf $1 + $2}')" + else + echo "${nvmePath}${i} WCTemp was read to be 0, using default WCTemp: ${wcTemp}" + fi + fi + + sed -i "s/$name/${wcTemp}/g" "$TEMP_FILE" + + if [[ "${presentState[i]}" == "false" ]]; then + sensorPath="${nvmePath}${i}" + pathLine=$(grep -nw "$sensorPath" "$TEMP_FILE" | awk -F ':' '{print $1}') + sed -i "$TEMP_FILE" -re "$((pathLine - 3)),$((pathLine + 6))d" + if [ $i -eq 15 ]; then + sed -i "$((pathLine - 4))s/,//" "$TEMP_FILE" + fi + + listLine=$(grep -n "\"name\": \"nvme${i}\"" "$TEMP_FILE" | awk -F ':' '{print $1}') + sed -i "$TEMP_FILE" -re "$((listLine - 1)),$((listLine + 21))d" + if [ $i -eq 15 ]; then + sed -i "$((listLine - 2))s/,//" "$TEMP_FILE" + fi + fi +done + # Use shell parameter expansion to trim the ".in" suffix mv "$TEMP_FILE" "${FAN_TABLE_FILE_IN%".in"}" -# start read margin temp wait -/usr/bin/read-margin-temp-wait.sh & - exit 0 diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in deleted file mode 100644 index a5ff4979b..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in +++ /dev/null @@ -1,408 +0,0 @@ -{ - "sensors" : [ - { - "name": "cputemp", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/cputemp", - "parameters": { - "type": "", - "maxTemp": 95000, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -15000, - "scalar": 1.0 - } - }, - { - "name": "nvme0", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme0", - "parameters": { - "type": "", - "maxTemp": @WCTemp00@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme1", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme1", - "parameters": { - "type": "", - "maxTemp": @WCTemp01@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme2", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme2", - "parameters": { - "type": "", - "maxTemp": @WCTemp02@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme3", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme3", - "parameters": { - "type": "", - "maxTemp": @WCTemp03@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme4", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme4", - "parameters": { - "type": "", - "maxTemp": @WCTemp04@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme5", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme5", - "parameters": { - "type": "", - "maxTemp": @WCTemp05@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme6", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme6", - "parameters": { - "type": "", - "maxTemp": @WCTemp06@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme7", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme7", - "parameters": { - "type": "", - "maxTemp": @WCTemp07@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme8", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme8", - "parameters": { - "type": "", - "maxTemp": @WCTemp08@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme9", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme9", - "parameters": { - "type": "", - "maxTemp": @WCTemp09@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme10", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme10", - "parameters": { - "type": "", - "maxTemp": @WCTemp10@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme11", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme11", - "parameters": { - "type": "", - "maxTemp": @WCTemp11@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme12", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme12", - "parameters": { - "type": "", - "maxTemp": @WCTemp12@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme13", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme13", - "parameters": { - "type": "", - "maxTemp": @WCTemp13@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme14", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme14", - "parameters": { - "type": "", - "maxTemp": @WCTemp14@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "nvme15", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/nvme15", - "parameters": { - "type": "", - "maxTemp": @WCTemp15@, - "path": "", - "sysLabel": "", - "targetTemp": -1, - "targetTempOffset": -7000, - "scalar": 1.0 - } - }, - { - "name": "vddcr_cpu", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddcr_cpu", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddcr_soc", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddcr_soc", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddio_abcd", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddio_abcd", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "vddio_efgh", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/vddio_efgh", - "parameters": { - "type": "", - "maxTemp": 100000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "p12v_mobo", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/p12v_mobo", - "parameters": { - "type": "", - "maxTemp": 114000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "powerseq_temp", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/powerseq_temp", - "parameters": { - "type": "", - "maxTemp": 99000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - }, - { - "name": "p12v_fan", - "unit": "degree", - "type": "dbus", - "path": "/xyz/openbmc_project/sensors/temperature/p12v_fan", - "parameters": { - "type": "", - "maxTemp": 114000, - "path": "", - "sysLabel": "", - "targetTemp": 90000, - "targetTempOffset": 0, - "scalar": 1.0 - } - } - ], - "skus" : [ - { - "num": 1, - "zones": [ - { - "id": 0, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/cputemp", - "components": [ - "cputemp" - ] - }, - { - "id": 1, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/zone0_vr", - "components": [ - "vddcr_cpu", - "vddcr_soc", - "vddio_abcd", - "vddio_efgh", - "p12v_mobo", - "powerseq_temp" - ] - }, - { - "id": 2, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/nvme", - "components": [ - @nvmeList@ - ] - }, - { - "id": 3, - "zoneSetpoint": 10000, - "target": "/xyz/openbmc_project/extsensors/margin/p12v_fan", - "components": [ - "p12v_fan" - ] - } - ] - } - ] -} diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh deleted file mode 100644 index 0937a9fb8..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash - -MARGIN_TABLE_FILE_IN="/usr/share/read-margin-temp/config-margin.json.in" -TEMP_FILE="$(mktemp)" -cp "$MARGIN_TABLE_FILE_IN" "$TEMP_FILE" - -target_num="$(cat $TEMP_FILE | grep '"target"' | wc -l)" - -# wait target dbus -for ((i = 0; i < ${target_num}; i++)); do - line_num=$((i+1)) - path="$(cat $TEMP_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)" - mapper wait $path -done - -nvmePath="/xyz/openbmc_project/sensors/temperature/nvme" -nvmeInventoryPath="/xyz/openbmc_project/inventory/system/chassis/motherboard/nvme" -nvmeList="" -# Get and Set WCTEMP -for ((i = 0; i < 16; i++)); do - name="@WCTemp$(printf "%02d" $i)@" - wcTemp=72000 - presentState="$(busctl get-property \ - xyz.openbmc_project.Inventory.Manager \ - ${nvmeInventoryPath}${i} \ - xyz.openbmc_project.Inventory.Item \ - Present | awk '{print $2}')" - - if [[ "$presentState" == "true" ]]; then - actualWCTemp=0 - for ((j = 0; j < 3; j++)); do - actualWCTemp="$( - busctl get-property xyz.openbmc_project.nvme.manager \ - ${nvmePath}${i} \ - xyz.openbmc_project.Sensor.Threshold.Critical \ - CriticalHigh | awk '{print $2}' - )" - if [[ "${actualWCTemp}" -ne 0 ]]; then - break - fi - - echo "${nvmePath}${i} WCTemp was read to be 0, retrying after 1 sec sleep" - sleep 1 - done - - if [[ "${actualWCTemp}" -ne 0 ]]; then - wcTemp="$((actualWCTemp * 1000))" - else - echo "${nvmePath}${i} WCTemp was read to be 0, using default WCTemp: ${wcTemp}" - fi - - if [[ -z "$nvmeList" ]]; then - nvmeList="\"nvme"${i}"\"" - else - nvmeList="${nvmeList}"", \"nvme"${i}"\"" - fi - fi - - sed -i "s/$name/${wcTemp}/g" "$TEMP_FILE" -done - -sed -i "s/@nvmeList@/${nvmeList}/g" "$TEMP_FILE" - -# Use shell parameter expansion to trim the ".in" suffix -mv "$TEMP_FILE" "${MARGIN_TABLE_FILE_IN%".in"}" - -# start read margin temp -/usr/bin/read-margin-temp & - -exit 0 diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend deleted file mode 100644 index 981c0d2ca..000000000 --- a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend +++ /dev/null @@ -1,17 +0,0 @@ -FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" - -SRC_URI_append_gbs = " file://config-margin.json.in \ - file://read-margin-temp-wait.sh \ - " - -FILES_${PN}_append_gbs = " ${bindir}/read-margin-temp-wait.sh" -FILES_${PN}_append_gbs = " ${datadir}/read-margin-temp/config-margin.json.in" - -do_install_append_gbs() { - install -d ${D}${bindir} - install -m 0755 ${WORKDIR}/read-margin-temp-wait.sh ${D}${bindir} - - install -d ${D}${datadir}/read-margin-temp - install -m 0644 -D ${WORKDIR}/config-margin.json.in \ - ${D}${datadir}/${PN}/ -} |