 2915efbfa8
			
		
	
	
		2915efbfa8
		
	
	
	
	
		
			
			* Define enum for TMP105 registers * Move tmp105_set() from I2C to TMP105 header * Document units and range of temperature as preconditions Reviewed-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Alex Horn <alex.horn@cs.ox.ac.uk> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Texas Instruments TMP105 Temperature Sensor
 | |
|  *
 | |
|  * Browse the data sheet:
 | |
|  *
 | |
|  *    http://www.ti.com/lit/gpn/tmp105
 | |
|  *
 | |
|  * Copyright (C) 2012 Alex Horn <alex.horn@cs.ox.ac.uk>
 | |
|  * Copyright (C) 2008-2012 Andrzej Zaborowski <balrogg@gmail.com>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or
 | |
|  * later. See the COPYING file in the top-level directory.
 | |
|  */
 | |
| #ifndef QEMU_TMP105_H
 | |
| #define QEMU_TMP105_H
 | |
| 
 | |
| #include "i2c.h"
 | |
| 
 | |
| /**
 | |
|  * TMP105Reg:
 | |
|  * @TMP105_REG_TEMPERATURE: Temperature register
 | |
|  * @TMP105_REG_CONFIG: Configuration register
 | |
|  * @TMP105_REG_T_LOW: Low temperature register (also known as T_hyst)
 | |
|  * @TMP105_REG_T_HIGH: High temperature register (also known as T_OS)
 | |
|  *
 | |
|  * The following temperature sensors are
 | |
|  * compatible with the TMP105 registers:
 | |
|  * - adt75
 | |
|  * - ds1775
 | |
|  * - ds75
 | |
|  * - lm75
 | |
|  * - lm75a
 | |
|  * - max6625
 | |
|  * - max6626
 | |
|  * - mcp980x
 | |
|  * - stds75
 | |
|  * - tcn75
 | |
|  * - tmp100
 | |
|  * - tmp101
 | |
|  * - tmp105
 | |
|  * - tmp175
 | |
|  * - tmp275
 | |
|  * - tmp75
 | |
|  **/
 | |
| typedef enum TMP105Reg {
 | |
|     TMP105_REG_TEMPERATURE = 0,
 | |
|     TMP105_REG_CONFIG,
 | |
|     TMP105_REG_T_LOW,
 | |
|     TMP105_REG_T_HIGH,
 | |
| } TMP105Reg;
 | |
| 
 | |
| /**
 | |
|  * tmp105_set:
 | |
|  * @i2c: dispatcher to TMP105 hardware model
 | |
|  * @temp: temperature with 0.001 centigrades units in the range -40 C to +125 C
 | |
|  *
 | |
|  * Sets the temperature of the TMP105 hardware model.
 | |
|  *
 | |
|  * Bits 5 and 6 (value 32 and 64) in the register indexed by TMP105_REG_CONFIG
 | |
|  * determine the precision of the temperature. See Table 8 in the data sheet.
 | |
|  *
 | |
|  * @see_also: I2C_SLAVE macro
 | |
|  * @see_also: http://www.ti.com/lit/gpn/tmp105
 | |
|  */
 | |
| void tmp105_set(I2CSlave *i2c, int temp);
 | |
| 
 | |
| #endif
 |