mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
sensor: Move hardware sensors from misc to a sensor directory
Lots of this are expected to be coming in, create a directory for them. Also move the tmp105.h file into the include directory where it should be. Cc: Cédric Le Goater <clg@kaod.org> Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Andrew Jeffery <andrew@aj.id.au> Cc: Joel Stanley <joel@jms.id.au> Cc: Andrzej Zaborowski <balrogg@gmail.com> Cc: qemu-arm@nongnu.org Signed-off-by: Corey Minyard <cminyard@mvista.com> Acked-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
58f3e3fe69
commit
5e9ae4b1a3
17 changed files with 24 additions and 23 deletions
37
include/hw/sensor/emc141x_regs.h
Normal file
37
include/hw/sensor/emc141x_regs.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
* SMSC EMC141X temperature sensor.
|
||||
*
|
||||
* Browse the data sheet:
|
||||
*
|
||||
* http://ww1.microchip.com/downloads/en/DeviceDoc/20005274A.pdf
|
||||
*
|
||||
* 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 TMP105_REGS_H
|
||||
#define TMP105_REGS_H
|
||||
|
||||
#define EMC1413_DEVICE_ID 0x21
|
||||
#define EMC1414_DEVICE_ID 0x25
|
||||
#define MANUFACTURER_ID 0x5d
|
||||
#define REVISION 0x04
|
||||
|
||||
/* the EMC141X registers */
|
||||
#define EMC141X_TEMP_HIGH0 0x00
|
||||
#define EMC141X_TEMP_HIGH1 0x01
|
||||
#define EMC141X_TEMP_HIGH2 0x23
|
||||
#define EMC141X_TEMP_HIGH3 0x2a
|
||||
#define EMC141X_TEMP_MAX_HIGH0 0x05
|
||||
#define EMC141X_TEMP_MIN_HIGH0 0x06
|
||||
#define EMC141X_TEMP_MAX_HIGH1 0x07
|
||||
#define EMC141X_TEMP_MIN_HIGH1 0x08
|
||||
#define EMC141X_TEMP_MAX_HIGH2 0x15
|
||||
#define EMC141X_TEMP_MIN_HIGH2 0x16
|
||||
#define EMC141X_TEMP_MAX_HIGH3 0x2c
|
||||
#define EMC141X_TEMP_MIN_HIGH3 0x2d
|
||||
#define EMC141X_DEVICE_ID 0xfd
|
||||
#define EMC141X_MANUFACTURER_ID 0xfe
|
||||
#define EMC141X_REVISION 0xff
|
||||
|
||||
#endif
|
55
include/hw/sensor/tmp105.h
Normal file
55
include/hw/sensor/tmp105.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* 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 "hw/i2c/i2c.h"
|
||||
#include "hw/sensor/tmp105_regs.h"
|
||||
#include "qom/object.h"
|
||||
|
||||
#define TYPE_TMP105 "tmp105"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(TMP105State, TMP105)
|
||||
|
||||
/**
|
||||
* TMP105State:
|
||||
* @config: Bits 5 and 6 (value 32 and 64) determine the precision of the
|
||||
* temperature. See Table 8 in the data sheet.
|
||||
*
|
||||
* @see_also: http://www.ti.com/lit/gpn/tmp105
|
||||
*/
|
||||
struct TMP105State {
|
||||
/*< private >*/
|
||||
I2CSlave i2c;
|
||||
/*< public >*/
|
||||
|
||||
uint8_t len;
|
||||
uint8_t buf[2];
|
||||
qemu_irq pin;
|
||||
|
||||
uint8_t pointer;
|
||||
uint8_t config;
|
||||
int16_t temperature;
|
||||
int16_t limit[2];
|
||||
int faults;
|
||||
uint8_t alarm;
|
||||
/*
|
||||
* The TMP105 initially looks for a temperature rising above T_high;
|
||||
* once this is detected, the condition it looks for next is the
|
||||
* temperature falling below T_low. This flag is false when initially
|
||||
* looking for T_high, true when looking for T_low.
|
||||
*/
|
||||
bool detect_falling;
|
||||
};
|
||||
|
||||
#endif
|
51
include/hw/sensor/tmp105_regs.h
Normal file
51
include/hw/sensor/tmp105_regs.h
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* Texas Instruments TMP105 Temperature Sensor I2C messages
|
||||
*
|
||||
* 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 TMP105_REGS_H
|
||||
#define TMP105_REGS_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;
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue