* 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
 |