mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-07 16:11:43 +00:00
Previously, any command which set the fan duty manually would leave
the PWM RPM controller disabled. Setting the fan back to auto mode
via 'ectool autofanctrl' or 'autofan' or 'ectool pwmsetfanrpm'
wouldn't turn the controller back on. Now it does.
BUG=chrome-os-partner:14307
BRANCH=link
TEST=manual
- Reboot in recovery mode and wait for INSERT screen
- From EC console
fanduty 100 -> fan turns on all the way
faninfo -> mode is duty
fanset 6000 -> fan turns down to a lower level
faninfo -> mode is rpm
fanduty 0 -> fan turns off all the way
faninfo -> mode is duty
(wait a min or so for the system to heat up)
autofan -> fan turns on
faninfo -> mode is rpm
- Reboot normally
- From root shell
ectool fanduty 100 -> fan turns on all the way
ectool pwmsetfanrpm 6000 -> fan turns down to a lower level
Change-Id: I3b07e8b49500f5f8a42f20909d2869cf63987d6d
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/35335
Reviewed-by: Sameer Nanda <snanda@chromium.org>
50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* PWM module for Chrome EC */
|
|
|
|
#ifndef __CROS_EC_PWM_H
|
|
#define __CROS_EC_PWM_H
|
|
|
|
#include "common.h"
|
|
|
|
/* Enable/disable the fan. This should be called by whatever function
|
|
* enables the power supply to the fan. */
|
|
int pwm_enable_fan(int enable);
|
|
|
|
/**
|
|
* Enable/disable fan RPM control logic.
|
|
*
|
|
* @param rpm_mode Enable (1) or disable (0) RPM control loop; when
|
|
* disabled, fan duty cycle will be used.
|
|
*/
|
|
void pwm_set_rpm_mode(int enable);
|
|
|
|
/* Get the current fan RPM. */
|
|
int pwm_get_fan_rpm(void);
|
|
|
|
/* Get the target fan RPM. */
|
|
int pwm_get_fan_target_rpm(void);
|
|
|
|
/* Set the target fan RPM. Pass -1 to set fan to maximum. */
|
|
int pwm_set_fan_target_rpm(int rpm);
|
|
|
|
/* Set the fan PWM duty cycle (0-100), disabling the automatic control. */
|
|
int pwm_set_fan_duty(int percent);
|
|
|
|
/* Enable/disable the keyboard backlight. */
|
|
int pwm_enable_keyboard_backlight(int enable);
|
|
|
|
/* Get the keyboard backlight enable/disable status (1=enabled, 0=disabled). */
|
|
int pwm_get_keyboard_backlight_enabled(void);
|
|
|
|
/* Get the keyboard backlight percentage (0=off, 100=max). */
|
|
int pwm_get_keyboard_backlight(void);
|
|
|
|
/* Set the keyboard backlight percentage (0=off, 100=max). */
|
|
int pwm_set_keyboard_backlight(int percent);
|
|
|
|
#endif /* __CROS_EC_PWM_H */
|