mustafa | e67e228 | 2021-03-29 15:08:45 -0500 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # |
| 3 | # Set all fans to pwm mode. |
| 4 | |
Charles Boyer | af72171 | 2022-02-09 09:17:35 -0600 | [diff] [blame^] | 5 | # Provide source directive to shellcheck. |
| 6 | # shellcheck source=meta-fii/meta-kudo/recipes-kudo/kudo-fw-utility/kudo-fw/kudo-lib.sh |
| 7 | source /usr/libexec/kudo-fw/kudo-lib.sh |
| 8 | |
mustafa | e67e228 | 2021-03-29 15:08:45 -0500 | [diff] [blame] | 9 | # Set all pwm_enable to 1 |
Charles Boyer | 0dd8006 | 2022-03-17 14:57:50 -0500 | [diff] [blame] | 10 | find /sys/class/hwmon/hwmon*/ -name 'pwm*_enable' -exec bash -c 'echo "$1" && echo 1 > "$1" && cat "$1"' -- {} \; |
avenash.thambi | f2b509f | 2021-11-24 14:42:31 -0600 | [diff] [blame] | 11 | |
| 12 | for i in {0..5} |
| 13 | do |
| 14 | fan_pwm_rate_of_change=0x$(printf '%02x' $((8 + i)) | \ |
| 15 | awk '{print $1}') |
| 16 | # Set Fan PWM Rate-of-Change Bits(bits 4:2) to 000b |
| 17 | # Register 08h to 0Dh |
Charles Boyer | af72171 | 2022-02-09 09:17:35 -0600 | [diff] [blame^] | 18 | oriRegVal=$(i2cget -y -f "${I2C_FANCTRL[0]}" 0x"${I2C_FANCTRL[1]}" \ |
avenash.thambi | f2b509f | 2021-11-24 14:42:31 -0600 | [diff] [blame] | 19 | "${fan_pwm_rate_of_change}") |
| 20 | updateVal=$((oriRegVal & 0xe3)) |
| 21 | updateVal=0x$(printf "%x" ${updateVal}) |
Charles Boyer | af72171 | 2022-02-09 09:17:35 -0600 | [diff] [blame^] | 22 | i2cset -y -f "${I2C_FANCTRL[0]}" 0x"${I2C_FANCTRL[1]}" \ |
avenash.thambi | f2b509f | 2021-11-24 14:42:31 -0600 | [diff] [blame] | 23 | "${fan_pwm_rate_of_change}" "${updateVal}" |
| 24 | done |