summaryrefslogtreecommitdiff
path: root/meta-quanta
diff options
context:
space:
mode:
authorGeorge Hung <george.hung@quantatw.com>2021-06-11 08:23:25 +0300
committerGeorge Hung <george.hung@quantatw.com>2021-06-18 03:10:25 +0300
commitbf078825d137b0e1a1ec02ddd4e6d08670a6783c (patch)
tree00fb1b07851b8ea0e18f9c915c1a80bba6f7ffc8 /meta-quanta
parent1d28a2c8c1feb3e776d7c2ced3d4dc92652754ca (diff)
downloadopenbmc-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
Diffstat (limited to 'meta-quanta')
-rw-r--r--meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/config.json.in612
-rw-r--r--meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh69
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json.in408
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh70
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend17
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}/
-}