root / hw / misc / tmp105.h @ 47b43a1f
History | View | Annotate | Download (1 kB)
1 |
/*
|
---|---|
2 |
* Texas Instruments TMP105 Temperature Sensor
|
3 |
*
|
4 |
* Browse the data sheet:
|
5 |
*
|
6 |
* http://www.ti.com/lit/gpn/tmp105
|
7 |
*
|
8 |
* Copyright (C) 2012 Alex Horn <alex.horn@cs.ox.ac.uk>
|
9 |
* Copyright (C) 2008-2012 Andrzej Zaborowski <balrogg@gmail.com>
|
10 |
*
|
11 |
* This work is licensed under the terms of the GNU GPL, version 2 or
|
12 |
* later. See the COPYING file in the top-level directory.
|
13 |
*/
|
14 |
#ifndef QEMU_TMP105_H
|
15 |
#define QEMU_TMP105_H
|
16 |
|
17 |
#include "hw/i2c/i2c.h" |
18 |
#include "hw/misc/tmp105_regs.h" |
19 |
|
20 |
#define TYPE_TMP105 "tmp105" |
21 |
#define TMP105(obj) OBJECT_CHECK(TMP105State, (obj), TYPE_TMP105)
|
22 |
|
23 |
/**
|
24 |
* TMP105State:
|
25 |
* @config: Bits 5 and 6 (value 32 and 64) determine the precision of the
|
26 |
* temperature. See Table 8 in the data sheet.
|
27 |
*
|
28 |
* @see_also: http://www.ti.com/lit/gpn/tmp105
|
29 |
*/
|
30 |
typedef struct TMP105State { |
31 |
/*< private >*/
|
32 |
I2CSlave i2c; |
33 |
/*< public >*/
|
34 |
|
35 |
uint8_t len; |
36 |
uint8_t buf[2];
|
37 |
qemu_irq pin; |
38 |
|
39 |
uint8_t pointer; |
40 |
uint8_t config; |
41 |
int16_t temperature; |
42 |
int16_t limit[2];
|
43 |
int faults;
|
44 |
uint8_t alarm; |
45 |
} TMP105State; |
46 |
|
47 |
#endif
|