/*
 * Copyright (c) 2020 Innoseis BV
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#ifndef ZEPHYR_DRIVERS_SENSOR_TMP112_TMP112_H_
#define ZEPHYR_DRIVERS_SENSOR_TMP112_TMP112_H_

#include <device.h>
#include <sys/util.h>

#define TMP112_REG_TEMPERATURE          0x00
#define TMP112_DATA_INVALID_BIT         (BIT(1) | BIT(2))
#define TMP112_DATA_EXTENDED            (BIT(0))
#define TMP112_DATA_EXTENDED_SHIFT      3
#define TMP112_DATA_NORMAL_SHIFT        4


#define TMP112_REG_CONFIG   0x01
#define TMP112_CONFIG_EM    BIT(4)

#define TMP112_ALERT_EN_BIT     BIT(5)
#define TMP112_CONV_RATE_SHIFT  6
#define TMP112_CONV_RATE_MASK   (BIT_MASK(2) <<  TMP112_CONV_RATE_SHIFT)
#define TMP112_CONV_RATE_025    0
#define TMP112_CONV_RATE_1000   1
#define TMP112_CONV_RATE_4      2
#define TMP112_CONV_RATE_8      3

#define TMP112_CONV_RATE(cr)    ((cr) << TMP112_CONV_RATE_SHIFT)

#define TMP112_CONV_RES_SHIFT   13
#define TMP112_CONV_RES_MASK    (BIT_MASK(2) << TMP112_CONV_RES_SHIFT)

#define TMP112_ONE_SHOT         BIT(15)

#define TMP112_REG_TLOW         0x02
#define TMP112_REG_THIGH        0x03

/* scale in micro degrees Celsius */
#define TMP112_TEMP_SCALE       62500

struct tmp112_data {
	int16_t sample;
	uint16_t config_reg;
};

struct tmp112_config {
	const struct i2c_dt_spec bus;
	uint8_t cr;
	bool extended_mode : 1;
};

#endif
