diff options
| author | Akshay Saraswat <akshay.s@samsung.com> | 2013-02-25 01:13:04 +0000 | 
|---|---|---|
| committer | Minkyu Kang <mk7.kang@samsung.com> | 2013-03-12 17:06:22 +0900 | 
| commit | bc5478b2757c9ee0068056206ea52f93ada544c8 (patch) | |
| tree | 20bfe352ec141fdc75bed35d6012c0e27df66f98 /common/cmd_dtt.c | |
| parent | f7f85f7dc32143593d8e2ed85f3ab844c9c9c0ff (diff) | |
| download | olio-uboot-2014.01-bc5478b2757c9ee0068056206ea52f93ada544c8.tar.xz olio-uboot-2014.01-bc5478b2757c9ee0068056206ea52f93ada544c8.zip | |
TMU: Add TMU support in dtt command
Add generic TMU support alongwith i2c sensors in dtt command
to enable temperature reading in cases where TMU is present
along-with/instead-of i2c sensors.
Signed-off-by: Akshay Saraswat <akshay.s@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'common/cmd_dtt.c')
| -rw-r--r-- | common/cmd_dtt.c | 32 | 
1 files changed, 31 insertions, 1 deletions
| diff --git a/common/cmd_dtt.c b/common/cmd_dtt.c index cd94423d2..edbd4a83c 100644 --- a/common/cmd_dtt.c +++ b/common/cmd_dtt.c @@ -27,7 +27,9 @@  #include <dtt.h>  #include <i2c.h> +#include <tmu.h> +#if defined CONFIG_DTT_SENSORS  static unsigned long sensor_initialized;  static void _initialize_dtt(void) @@ -59,9 +61,11 @@ void dtt_init(void)  	/* switch back to original I2C bus */  	I2C_SET_BUS(old_bus);  } +#endif -int do_dtt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) +int dtt_i2c(void)  { +#if defined CONFIG_DTT_SENSORS  	int i;  	unsigned char sensors[] = CONFIG_DTT_SENSORS;  	int old_bus; @@ -83,8 +87,34 @@ int do_dtt (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])  	/* switch back to original I2C bus */  	I2C_SET_BUS(old_bus); +#endif  	return 0; +} + +int dtt_tmu(void) +{ +#if defined CONFIG_TMU_CMD_DTT +	int cur_temp; + +	/* Sense and return latest thermal info */ +	if (tmu_monitor(&cur_temp) == TMU_STATUS_INIT) { +		puts("TMU is in unknown state, temperature is invalid\n"); +		return -1; +	} +	printf("Current temperature: %u degrees Celsius\n", cur_temp); +#endif +	return 0; +} + +int do_dtt(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) +{ +	int err = 0; + +	err |= dtt_i2c(); +	err |= dtt_tmu(); + +	return err;  }	/* do_dtt() */  /***************************************************/ |