summaryrefslogtreecommitdiffstats
path: root/meta-rcs/meta-talos/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh
blob: 95b92e37a0a736986484bb8d844407f2b1adee14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!bin/bash

# set fan pwm by d-bus command
function set_fan_value() {
    # Failsafe
    echo 255 > /sys/class/hwmon/*/pwm1

    # DBUS interface
    set_property_path='xyz.openbmc_project.Control.FanPwm'
    busctl set-property $1 $2 $set_property_path Target t 255
}

# WARNING
# This makes a number of assumptions about the bus structure underlying the fan controllers...
hwmon_path="$(mapper get-service /xyz/openbmc_project/sensors/fan_tach/fan0)"
set_fan_value $hwmon_path "/xyz/openbmc_project/sensors/fan_tach/fan0" "/sys/class/hwmon/*/pwm1"
set_fan_value $hwmon_path "/xyz/openbmc_project/sensors/fan_tach/fan1" "/sys/class/hwmon/*/pwm2"
set_fan_value $hwmon_path "/xyz/openbmc_project/sensors/fan_tach/fan2" "/sys/class/hwmon/*/pwm3"
set_fan_value $hwmon_path "/xyz/openbmc_project/sensors/fan_tach/fan3" "/sys/class/hwmon/*/pwm4"
set_fan_value $hwmon_path "/xyz/openbmc_project/sensors/fan_tach/fan4" "/sys/class/hwmon/*/pwm5"
set_fan_value $hwmon_path "/xyz/openbmc_project/sensors/fan_tach/fan5" "/sys/class/hwmon/*/pwm6"
OpenPOWER on IntegriCloud