xref: /rk3399_rockchip-uboot/include/thermal.h (revision 7a1af7a79bd79ded6a78d0c1afdbc3353669e313)
1e3568d2eSYe.Li /*
2e3568d2eSYe.Li  *
3e3568d2eSYe.Li  * (C) Copyright 2014 Freescale Semiconductor, Inc
4e3568d2eSYe.Li  *
5e3568d2eSYe.Li  * SPDX-License-Identifier:	GPL-2.0+
6e3568d2eSYe.Li  */
7e3568d2eSYe.Li 
8e3568d2eSYe.Li #ifndef _THERMAL_H_
9e3568d2eSYe.Li #define _THERMAL_H_
10e3568d2eSYe.Li 
11e3568d2eSYe.Li #include <dm.h>
12e3568d2eSYe.Li 
13e3568d2eSYe.Li int thermal_get_temp(struct udevice *dev, int *temp);
14e3568d2eSYe.Li 
15e3568d2eSYe.Li /**
16*6918f974SFabio Estevam  * struct dm_thermal_ops - Driver model Thermal operations
17e3568d2eSYe.Li  *
18e3568d2eSYe.Li  * The uclass interface is implemented by all Thermal devices which use
19e3568d2eSYe.Li  * driver model.
20e3568d2eSYe.Li  */
21e3568d2eSYe.Li struct dm_thermal_ops {
22e3568d2eSYe.Li 	/**
23e3568d2eSYe.Li 	 * Get the current temperature
24e3568d2eSYe.Li 	 *
25*6918f974SFabio Estevam 	 * This must be called before doing any transfers with a Thermal device.
26*6918f974SFabio Estevam 	 * It will enable and initialize any Thermal hardware as necessary.
27e3568d2eSYe.Li 	 *
28e3568d2eSYe.Li 	 * @dev:	The Thermal device
29*6918f974SFabio Estevam 	 * @temp:	pointer that returns the measured temperature
30e3568d2eSYe.Li 	 */
31e3568d2eSYe.Li 	int (*get_temp)(struct udevice *dev, int *temp);
32e3568d2eSYe.Li };
33e3568d2eSYe.Li 
34e3568d2eSYe.Li #endif	/* _THERMAL_H_ */
35