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:
Ye.Li
2014-11-20 21:14:13 +08:00
committed by Stefano Babic
parent cf202d268b
commit e3568d2eca
7 changed files with 277 additions and 0 deletions

View File

@@ -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
View 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
View 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_ */