Files
OpenCellular/include/pwm.h
Aaron Durbin d7efe5cdda lm4: break out board-specific fan/tach pin config
The current lm4 pwm module was using board-specific
pins during this configuration. Move the implementation
of configure_fan_gpios() to the board-specific files
so that the pin configuration policy isn't a part of the
common infrastructure.

BUG=chrome-os-partner:19504
BRANCH=none
TEST=successfully booted slippy with backlight turning on in OS.

Change-Id: I325f1ac4639b4a78d8b860df7a8b688ca385b71b
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/51471
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
2013-05-16 12:16:31 -07:00

76 lines
1.6 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);
/**
* Configure the GPIOs for the pwm module -- board-specific.
*/
void configure_fan_gpios(void);
#endif /* __CROS_EC_PWM_H */