blob: 6797806e182f3dec73e55983e0b5e80637c70af8 [file] [log] [blame]
/* Copyright (c) 2013 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.
*/
/* Functions used to provide the Intel DPTF interface over ACPI */
#ifndef __CROS_EC_DPTF_H
#define __CROS_EC_DPTF_H
/**
* Set fan duty target.
*
* 0-100% sets fixed duty cycle, out of range means let the EC drive.
*/
void dptf_set_fan_duty_target(int pct);
/**
* Return 0-100% if in duty mode. -1 if not.
*/
int dptf_get_fan_duty_target(void);
/* Thermal thresholds may be set for each temp sensor. */
#define DPTF_THRESHOLDS_PER_SENSOR 2
#define DPTF_THRESHOLD_HYSTERESIS 2
/**
* Set/enable the thresholds.
*/
void dptf_set_temp_threshold(int sensor_id, /* zero-based sensor index */
int temp, /* in degrees K */
int idx, /* which threshold (0 or 1) */
int enable); /* true = on, false = off */
/**
* Return the ID of a temp sensor that has crossed its threshold since the last
* time we asked. -1 means none.
*/
int dptf_query_next_sensor_event(void);
/**
* Set charging current limit, in mA. -1 means no limit.
*/
void dptf_set_charging_current_limit(int ma);
/**
* Get charging current limit, in mA, or -1 if not DPTF-limiting.
*/
int dptf_get_charging_current_limit(void);
#endif /* __CROS_EC_DPTF_H */