1 /*
2  * Copyright (c) 2019 Centaur Analytics, Inc
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ZEPHYR_DRIVERS_SENSOR_TMP116_TMP116_H_
8 #define ZEPHYR_DRIVERS_SENSOR_TMP116_TMP116_H_
9 
10 #define TMP116_REG_TEMP		0x0
11 #define TMP116_REG_CFGR		0x1
12 #define TMP116_REG_HIGH_LIM		0x2
13 #define TMP116_REG_LOW_LIM		0x3
14 #define TMP116_REG_EEPROM_UL		0x4
15 #define TMP116_REG_EEPROM1		0x5
16 #define TMP116_REG_EEPROM2		0x6
17 #define TMP116_REG_EEPROM3		0x7
18 #define TMP117_REG_TEMP_OFFSET		0x7
19 #define TMP116_REG_EEPROM4		0x8
20 #define TMP116_REG_DEVICE_ID		0xF
21 
22 #define TMP116_RESOLUTION		78125       /* in tens of uCelsius*/
23 #define TMP116_RESOLUTION_DIV		10000000
24 
25 #define TMP116_DEVICE_ID		0x1116
26 #define TMP117_DEVICE_ID		0x0117
27 
28 #define TMP116_CFGR_DATA_READY  BIT(13)
29 #define TMP116_EEPROM_UL_UNLOCK BIT(15)
30 #define TMP116_EEPROM_UL_BUSY   BIT(14)
31 
32 struct tmp116_data {
33 	uint16_t sample;
34 	uint16_t id;
35 };
36 
37 struct tmp116_dev_config {
38 	struct i2c_dt_spec bus;
39 };
40 
41 #endif /*  ZEPHYR_DRIVERS_SENSOR_TMP116_TMP116_H_ */
42