summaryrefslogtreecommitdiff
path: root/include/thermal.h
blob: 29d8073ca0d683d41d3e13bcd37749cf3542ceb0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/* Copyright 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.
 */

/* Thermal engine module for Chrome EC */

#ifndef __CROS_EC_THERMAL_H
#define __CROS_EC_THERMAL_H

/* The thermal configuration for a single temp sensor is defined here. */
#include "ec_commands.h"

/* We need to to hold a config for each board's sensors. Not const, so we can
 * tweak it at run-time if we have to.
 */
extern struct ec_thermal_config thermal_params[];

/* Helper function to compute percent cooling */
int thermal_fan_percent(int low, int high, int cur);

/* Allow board custom fan control. Called after reading temperature sensors.
 *
 * @param fan Fan ID to control (0 to CONFIG_FANS)
 * @param tmp Array of temperatures (C) for each temperature sensor (size
 *            TEMP_SENSOR_COUNT)
 */
void board_override_fan_control(int fan, int *tmp);

#endif  /* __CROS_EC_THERMAL_H */