Files
OpenCellular/include/pwm.h
Bill Richardson df06f61ccc Split pwm.c into pwm_fan.c and pwm_kblight.c
Sadly, the existence of fans may not always imply the existence of keyboard
backlights.

BUG=chrome-os-partner:18825
BRANCH=slippy
TEST=manual

Use the Link EC console to make sure that both functions still behave.

  faninfo
  fanset 4400
  faninfo
  fanset 9999
  faninfo
  autofan
  faninfo
  fanduty 50
  faninfo
  fanduty 100
  faninfo
  autofan

  kblight 0
  kblight 100
  kblight 50
  kbligth 100

Change-Id: I2e07cd46c21bce2d0d4162275a8ea6ae40135e96
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/49355
2013-04-26 16:07:21 -07:00

71 lines
1.5 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.
*
* Should be called by whatever function enables the power supply to the fan.
*/
void 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_fan_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.
*
* @param rpm Target RPM; pass -1 to set fan to maximum.
*/
void pwm_set_fan_target_rpm(int rpm);
/**
* Set the fan PWM duty cycle (0-100), disabling the automatic control.
*/
void pwm_set_fan_duty(int percent);
/**
* Enable/disable the keyboard backlight.
*/
void 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).
*/
void pwm_set_keyboard_backlight(int percent);
#endif /* __CROS_EC_PWM_H */