summaryrefslogtreecommitdiff
path: root/common/thermal.c
diff options
context:
space:
mode:
authorDawid Niedzwiecki <dn@semihalf.com>2021-02-17 12:15:21 +0100
committerCommit Bot <commit-bot@chromium.org>2021-02-23 19:29:13 +0000
commita5a81dca4579961b9d78c7c85442d76b3c87dbbb (patch)
treec702e09f5137ecab4b8b69b5982543bf9a9f3e63 /common/thermal.c
parent25fa055c3ecd98c5d339cc4002054c584f99cb1b (diff)
downloadchrome-ec-a5a81dca4579961b9d78c7c85442d76b3c87dbbb.tar.gz
zephyr: add shim thermal support
Add thermal support to Zephyr which includes handling temperature threshold for certain events. The thresholds are defined in the dts file as temperature sensor parameters - there are limits per temperature sensor. The struct ec_thermal_config thermal_params[] array with all parameters is generated automatically based on named_temp_sensors node. Enable "thermalget" and "thermalset" console commands along with EC_CMD_THERMAL_GET_THRESHOLD and EC_CMD_THERMAL_SET_THRESHOLD host commands. Also, add a few functions to utils needed to verify if an event occurred (falling/rising edge). BUG=b:179886912 BRANCH=none TEST=build Zephyr TEST=Run "thermalget" command to check current thresholds. Change the thresholds with "thermalset" to verify if AP throttling is requested. Signed-off-by: Dawid Niedzwiecki <dn@semihalf.com> Change-Id: I5f527ceecab2427b3034fd8baa62bb8482f99ff3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2698845 Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/thermal.c')
-rw-r--r--common/thermal.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/thermal.c b/common/thermal.c
index 821430482a..40577c0d43 100644
--- a/common/thermal.c
+++ b/common/thermal.c
@@ -19,6 +19,10 @@
#include "timer.h"
#include "util.h"
+#ifdef CONFIG_ZEPHYR
+#include "temp_sensor/temp_sensor.h"
+#endif
+
/* Console output macros */
#define CPUTS(outstr) cputs(CC_THERMAL, outstr)
#define CPRINTS(format, args...) cprints(CC_THERMAL, format, ## args)