summaryrefslogtreecommitdiff
path: root/meta-quanta/meta-gbs/recipes-quanta/fans
diff options
context:
space:
mode:
Diffstat (limited to 'meta-quanta/meta-gbs/recipes-quanta/fans')
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json395
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/read-margin-temp-wait.sh26
-rw-r--r--meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp_%.bbappend16
3 files changed, 437 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 000000000..5ff103dc6
--- /dev/null
+++ b/meta-quanta/meta-gbs/recipes-quanta/fans/read-margin-temp/config-margin.json
@@ -0,0 +1,395 @@
+{
+ "sensors" : [
+ {
+ "name": "cputemp",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/cputemp",
+ "parameters": {
+ "type": "",
+ "maxTemp": 95000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": -1,
+ "targetTempOffset": -13000,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme0",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme0",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme1",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme1",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme2",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme2",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme3",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme3",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme4",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme4",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme5",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme5",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme6",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme6",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme7",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme7",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme8",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme8",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme9",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme9",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme10",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme10",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme11",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme11",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme12",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme12",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme13",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme13",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme14",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme14",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "nvme15",
+ "unit": "millidegree",
+ "type": "dbus",
+ "path": "/xyz/openbmc_project/sensors/temperature/nvme15",
+ "parameters": {
+ "type": "",
+ "maxTemp": 77000,
+ "path": "",
+ "sysLabel": "",
+ "targetTemp": 67000,
+ "targetTempOffset": 0,
+ "scalar": 1.0
+ }
+ },
+ {
+ "name": "vddcr_cpu",
+ "unit": "millidegree",
+ "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": "millidegree",
+ "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": "millidegree",
+ "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": "millidegree",
+ "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": "millidegree",
+ "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": "millidegree",
+ "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": "millidegree",
+ "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": ["nvme0", "nvme1", "nvme2", "nvme3", "nvme4", "nvme5", "nvme6", "nvme7", "nvme8", "nvme9", "nvme10", "nvme11", "nvme12", "nvme13", "nvme14", "nvme15"]
+ },
+ {
+ "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
new file mode 100644
index 000000000..2e44479f6
--- /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 000000000..b3fc4d221
--- /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
+}