From e67e2287b237f1e2275f3ce3793011827019d1b2 Mon Sep 17 00:00:00 2001 From: mustafa Date: Mon, 29 Mar 2021 15:08:45 -0500 Subject: meta-fii/meta-kudo: PID Fan Control 1- Using PID Fan Control 2- Switch Fan Control from Phosphor PID Control to Entity Manager PID Signed-off-by: mustafa Change-Id: I29305ba959dd2f4dd2fd0131af324f105d28a7bc --- .../phosphor-pid-control.service | 14 +++++++++++ .../fans/phosphor-pid-control_%.bbappend | 6 +++++ .../meta-kudo/recipes-phosphor/fans/pwm-init.bb | 29 ++++++++++++++++++++++ .../recipes-phosphor/fans/pwm-init/bin/pwm_init.sh | 6 +++++ .../fans/pwm-init/pwm_init.service | 11 ++++++++ 5 files changed, 66 insertions(+) create mode 100644 meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service create mode 100644 meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control_%.bbappend create mode 100644 meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init.bb create mode 100644 meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/bin/pwm_init.sh create mode 100644 meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/pwm_init.service diff --git a/meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service b/meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service new file mode 100644 index 000000000..8f16d6818 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control/phosphor-pid-control.service @@ -0,0 +1,14 @@ +[Unit] +Description=OpenBMC Fan Control Daemon +After=xyz.openbmc_project.EntityManager.service +After=xyz.openbmc_project.ObjectMapper.service + +[Service] +Type=simple +ExecStart=/usr/bin/swampd -t +Restart=always +RestartSec=5 +StartLimitInterval=0 + +[Install] +WantedBy=basic.target \ No newline at end of file diff --git a/meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control_%.bbappend new file mode 100644 index 000000000..03f391cc1 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-phosphor/fans/phosphor-pid-control_%.bbappend @@ -0,0 +1,6 @@ +FILESEXTRAPATHS_prepend_kudo := "${THISDIR}/${PN}:" +SRC_URI_append_kudo = " file://phosphor-pid-control.service" + +inherit systemd + +SYSTEMD_SERVICE_${PN}_append_kudo = " phosphor-pid-control.service" diff --git a/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init.bb b/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init.bb new file mode 100644 index 000000000..c380feba3 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init.bb @@ -0,0 +1,29 @@ +SUMMARY = "Initialize PWM sensors" +DESCRIPTION = "Initialize PWM sensors" +LICENSE = "CLOSED" +PR = "r1" + +inherit systemd + +DEPENDS = "systemd" +RDEPENDS_${PN} = "bash" + +S = "${WORKDIR}" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +SRC_URI += " \ + file://pwm_init.service \ + file://bin/pwm_init.sh \ + " + +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_AUTO_ENABLE = "enable" +SYSTEMD_SERVICE_${PN} += "pwm_init.service" + +FILES_${PN} += "${bindir}/* ${systemd_system_unitdir}/*" + +do_install_append() { + install -d ${D}${bindir} + install -m 0755 ${S}/bin/* ${D}${bindir}/ + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/*.service ${D}${systemd_system_unitdir} +} diff --git a/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/bin/pwm_init.sh b/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/bin/pwm_init.sh new file mode 100644 index 000000000..d559f6a31 --- /dev/null +++ b/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/bin/pwm_init.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# +# Set all fans to pwm mode. + +# Set all pwm_enable to 1 +find /sys/class/hwmon/hwmon*/ -name 'pwm*_enable' -exec bash -c 'echo "${1}" && echo 1 > "${1}" && cat "${1}"' -- {} \; \ No newline at end of file diff --git a/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/pwm_init.service b/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/pwm_init.service new file mode 100644 index 000000000..981b8773c --- /dev/null +++ b/meta-fii/meta-kudo/recipes-phosphor/fans/pwm-init/pwm_init.service @@ -0,0 +1,11 @@ +[Unit] +Description=Init PWM sensors +Before=xyz.openbmc_project.fansensor.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/pwm_init.sh + +[Install] +WantedBy=multi-user.target +WantedBy=xyz.openbmc_project.fansensor.service -- cgit v1.2.3