diff options
Diffstat (limited to 'meta-quanta/meta-gbs/recipes-quanta')
3 files changed, 350 insertions, 0 deletions
diff --git a/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json new file mode 100644 index 0000000000..6b73e34b8a --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json @@ -0,0 +1,308 @@ +{ + "sensors" : [ + { + "name": "cputemp", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/cputemp", + "parameters": { + "type": "file", + "maxTemp": -1, + "path": "/sys/devices/platform/ahb/ahb:apb/f0082000.i2c/i2c-2/2-004c/hwmon/cpu_hwmon/temp1_max", + "sysLabel": "", + "targetTemp": -1, + "targetTempOffset": -10000, + "scalar": 1.0 + } + }, + { + "name": "nvme0", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme0", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme1", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme1", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme2", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme2", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme3", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme3", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme4", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme4", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme5", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme5", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme6", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme6", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme7", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme7", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme8", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme8", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme9", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme9", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme10", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme10", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme11", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme11", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme12", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme12", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme13", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme13", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme14", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme14", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "nvme15", + "unit": "millidegree", + "type": "dbus", + "path": "/xyz/openbmc_project/sensors/temperature/nvme15", + "parameters": { + "type": "", + "maxTemp": 70000, + "path": "", + "sysLabel": "", + "targetTemp": 60000, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "fleeting0", + "unit": "millimargin", + "type": "dbus", + "path": "/xyz/openbmc_project/extsensors/margin/fleeting0", + "parameters": { + "type": "", + "maxTemp": 0, + "path": "", + "sysLabel": "", + "targetTemp": 0, + "targetTempOffset": 0, + "scalar": 1.0 + } + }, + { + "name": "fleeting1", + "unit": "millimargin", + "type": "dbus", + "path": "/xyz/openbmc_project/extsensors/margin/fleeting1", + "parameters": { + "type": "", + "maxTemp": 0, + "path": "", + "sysLabel": "", + "targetTemp": 0, + "targetTempOffset": 0, + "scalar": 1.0 + } + } + ], + "skus" : [ + { + "num": 1, + "zones": [ + { + "id": 0, + "zoneSetpoint": 10000, + "target": "/xyz/openbmc_project/extsensors/margin/real_fleeting0", + "components": ["cputemp", "fleeting0"] + }, + { + "id": 1, + "zoneSetpoint": 10000, + "target": "/xyz/openbmc_project/extsensors/margin/real_fleeting1", + "components": ["nvme0", "nvme1", "nvme2", "nvme3", "nvme4", "nvme5", "nvme6", "nvme7", "nvme8", "nvme9", "nvme10", "nvme11", "nvme12", "nvme13", "nvme14", "nvme15"] + } + ] + } + ] +} 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 new file mode 100644 index 0000000000..2e44479f69 --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +MARGIN_TABLE_FILE="/usr/share/read-margin-temp/config-margin.json" + +target_num="$(cat $MARGIN_TABLE_FILE | grep '"target"' | wc -l)" + +cpu_hwmon="$(ls -la /sys/class/hwmon | grep f0082000 | head -n 1 | tail -n +1 | cut -d '/' -f 11)" + +# replace by the real cpu temperature hwmon path in runtime +if [[ "$cpu_hwmon" != "" ]] +then + sed -i "s/cpu_hwmon/$cpu_hwmon/g" $MARGIN_TABLE_FILE +fi + +# wait target dbus +for ((i=0; i<$target_num; i++)) +do + line_num=$((i+1)) + path="$(cat $MARGIN_TABLE_FILE | grep '"target"' | head -n ${line_num} | tail -n +${line_num} | cut -d '"' -f 4)" + mapper wait $path +done + +# 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 new file mode 100644 index 0000000000..b3fc4d221f --- /dev/null +++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend @@ -0,0 +1,16 @@ +FILESEXTRAPATHS_prepend_gbs := "${THISDIR}/${PN}:" +SRC_URI_append_gbs = " file://config-margin.json \ + 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" + +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 \ + ${D}${datadir}/read-margin-temp/config-margin.json +} |