summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans')
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed.bb20
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service10
-rw-r--r--meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py23
3 files changed, 53 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed.bb b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed.bb
new file mode 100644
index 000000000..9c10c5b3d
--- /dev/null
+++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Set Wolfpass fan default speeds"
+DESCRIPTION = "Sets all fans to a single speed"
+
+inherit allarch
+inherit obmc-phosphor-systemd
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${INTELBASE}/COPYING.apache-2.0;md5=34400b68072d710fecd0a2940a0d1658"
+
+RDEPENDS_${PN} += "python"
+
+S = "${WORKDIR}"
+SRC_URI += "file://set_fan_speeds.py"
+
+SYSTEMD_SERVICE_${PN} += "fan-default-speed.service"
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 0755 ${WORKDIR}/set_fan_speeds.py ${D}/${bindir}/set_fan_speeds.py
+}
diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service
new file mode 100644
index 000000000..267fdee43
--- /dev/null
+++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/fan-default-speed.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Set fans to a default speed
+ConditionFileNotEmpty={bindir}/set_fan_speeds.py
+
+[Service]
+ExecStart={bindir}/set_fan_speeds.py 150
+Type=oneshot
+
+[Install]
+WantedBy=default.target
diff --git a/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py
new file mode 100644
index 000000000..70ba64799
--- /dev/null
+++ b/meta-openbmc-mods/meta-wolfpass/recipes-phosphor/fans/fan-default-speed/set_fan_speeds.py
@@ -0,0 +1,23 @@
+#!/usr/bin/python
+import os
+import glob
+import time
+import sys
+
+HWMON_DIR = "/sys/class/hwmon/hwmon0"
+
+count = 0
+inputs = None
+while not inputs:
+ count += 1
+ if count > 20:
+ print("pwm missing!")
+ sys.exit(0)
+
+ inputs = glob.glob(os.path.join(HWMON_DIR, "pwm*"))
+ time.sleep(5)
+
+inputs = glob.glob(os.path.join(HWMON_DIR, "pwm*"))
+for pwm in inputs:
+ with open(pwm, 'w') as f:
+ f.write(sys.argv[1])