mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
DM: thermal: Add imx thermal DM driver
Add a new thermal uclass for thermal sensor and implement the imx thermal driver basing on this uclass. Signed-off-by: Ye.Li <B37916@freescale.com> Acked-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
@@ -28,6 +28,7 @@ enum uclass_id {
|
||||
UCLASS_SPI_GENERIC, /* Generic SPI flash target */
|
||||
UCLASS_SPI_FLASH, /* SPI flash */
|
||||
UCLASS_CROS_EC, /* Chrome OS EC */
|
||||
UCLASS_THERMAL, /* Thermal sensor */
|
||||
|
||||
UCLASS_COUNT,
|
||||
UCLASS_INVALID = -1,
|
||||
|
||||
17
include/imx_thermal.h
Normal file
17
include/imx_thermal.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
*
|
||||
* (C) Copyright 2014 Freescale Semiconductor, Inc
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef _IMX_THERMAL_H_
|
||||
#define _IMX_THERMAL_H_
|
||||
|
||||
struct imx_thermal_plat {
|
||||
void *regs;
|
||||
int fuse_bank;
|
||||
int fuse_word;
|
||||
};
|
||||
|
||||
#endif /* _IMX_THERMAL_H_ */
|
||||
42
include/thermal.h
Normal file
42
include/thermal.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
*
|
||||
* (C) Copyright 2014 Freescale Semiconductor, Inc
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef _THERMAL_H_
|
||||
#define _THERMAL_H_
|
||||
|
||||
#include <dm.h>
|
||||
|
||||
int thermal_get_temp(struct udevice *dev, int *temp);
|
||||
|
||||
/**
|
||||
* struct struct dm_thermal_ops - Driver model Thermal operations
|
||||
*
|
||||
* The uclass interface is implemented by all Thermal devices which use
|
||||
* driver model.
|
||||
*/
|
||||
struct dm_thermal_ops {
|
||||
/**
|
||||
* Get the current temperature
|
||||
*
|
||||
* The device provided is the slave device. It's parent controller
|
||||
* will be used to provide the communication.
|
||||
*
|
||||
* This must be called before doing any transfers with a Thermal slave.
|
||||
* It will enable and initialize any Thermal hardware as necessary,
|
||||
* and make sure that the SCK line is in the correct idle state. It is
|
||||
* not allowed to claim the same bus for several slaves without
|
||||
* releasing the bus in between.
|
||||
*
|
||||
* @dev: The Thermal device
|
||||
*
|
||||
* Returns: 0 if the bus was claimed successfully, or a negative value
|
||||
* if it wasn't.
|
||||
*/
|
||||
int (*get_temp)(struct udevice *dev, int *temp);
|
||||
};
|
||||
|
||||
#endif /* _THERMAL_H_ */
|
||||
Reference in New Issue
Block a user