28# define LM75_PARAM_I2C I2C_DEV(0)
37#ifndef CONFIG_LM75_I2C_ADDR
38# define CONFIG_LM75_I2C_ADDR (0x48)
42#if IS_ACTIVE(CONFIG_NORMAL_MODE)
43# define CONFIG_OPERATION_MODE NORMAL_MODE
44#elif IS_ACTIVE(CONFIG_SHUTDOWN_MODE)
45# define CONFIG_OPERATION_MODE SHUTDOWN_MODE
48#ifndef CONFIG_OPERATION_MODE
49# define CONFIG_OPERATION_MODE NORMAL_MODE
53#if IS_ACTIVE(CONFIG_COMPARATOR_MODE)
54# define CONFIG_THERMOSTAT_MODE COMPARATOR_MODE
55#elif IS_ACTIVE(CONFIG_INTERRUPT_MODE)
56# define CONFIG_THERMOSTAT_MODE INTERRUPT_MODE
59#ifndef CONFIG_THERMOSTAT_MODE
60# define CONFIG_THERMOSTAT_MODE COMPARATOR_MODE
65#if IS_ACTIVE(CONFIG_OS_ACTIVE_LOW)
66# define CONFIG_OS_POLARITY OS_ACTIVE_LOW
67#elif IS_ACTIVE(CONFIG_OS_ACTIVE_HIGH)
68# define CONFIG_OS_POLARITY OS_ACTIVE_HIGH
71#ifndef CONFIG_OS_POLARITY
72# define CONFIG_OS_POLARITY OS_ACTIVE_LOW
76#if IS_ACTIVE(CONFIG_FAULT_1)
77# define CONFIG_FAULT_QUEUE FAULT_1
78#elif IS_ACTIVE(CONFIG_FAULT_2)
79# define CONFIG_FAULT_QUEUE FAULT_2
80#elif (IS_ACTIVE(CONFIG_FAULT_3) && IS_USED(MODULE_TMP1075))
81# define CONFIG_FAULT_QUEUE FAULT_3
82#elif (IS_ACTIVE(CONFIG_FAULT_4) && IS_USED(MODULE_LM75A))
83# define CONFIG_FAULT_QUEUE FAULT_4
84#elif (IS_ACTIVE(CONFIG_FAULT_4) && IS_USED(MODULE_TMP1075))
85# define CONFIG_FAULT_QUEUE FAULT_4_TMP1075
86#elif (IS_ACTIVE(CONFIG_FAULT_6) && IS_USED(MODULE_LM75A))
87# define CONFIG_FAULT_QUEUE FAULT_6
97#ifndef CONFIG_FAULT_QUEUE
98# define CONFIG_FAULT_QUEUE FAULT_1
101#ifndef LM75_PARAM_INT
102# define LM75_PARAM_INT GPIO_UNDEF
105#define LM75A_CONV_RATE (100)
107#define LM75A_OS_RES (5)
108#define LM75A_OS_MULT (10)
109#define LM75A_OS_SHIFT (7)
110#define LM75A_TEMP_RES (125)
111#define LM75A_TEMP_MULT (1000)
112#define LM75A_TEMP_SHIFT (5)
114#define TMP1075_OS_RES (625)
115#define TMP1075_OS_MULT (10000)
116#define TMP1075_OS_SHIFT (4)
117#define TMP1075_TEMP_RES (625)
118#define TMP1075_TEMP_MULT (10000)
119#define TMP1075_TEMP_SHIFT (4)
121#if IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_27H)
122# define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_27H
123# define TMP1075_CONV_RATE (28)
124#elif IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_55)
125# define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_55
126# define TMP1075_CONV_RATE (55)
127#elif IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_110)
128# define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_110
129# define TMP1075_CONV_RATE (110)
130#elif IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_220)
131# define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_220
132# define TMP1075_CONV_RATE (220)
135#ifndef CONFIG_TMP1075_CONV_RATE_REG
143# define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_27H
150# define TMP1075_CONV_RATE (28)
154# if IS_USED(MODULE_LM75A)
155# define LM75_PARAMS { .res = &lm75a_properties, \
156 .gpio_alarm = LM75_PARAM_INT, \
157 .conv_rate = LM75A_CONV_RATE, \
158 .i2c_bus = LM75_PARAM_I2C, \
159 .i2c_addr = CONFIG_LM75_I2C_ADDR, \
160 .shutdown_mode = CONFIG_OPERATION_MODE, \
161 .tm_mode = CONFIG_THERMOSTAT_MODE, \
162 .polarity = CONFIG_OS_POLARITY, \
163 .fault_q = CONFIG_FAULT_QUEUE }
167# if IS_USED(MODULE_TMP1075)
168# define LM75_PARAMS { .res = &tmp1075_properties, \
169 .gpio_alarm = LM75_PARAM_INT, \
170 .conv_rate = TMP1075_CONV_RATE, \
171 .i2c_bus = LM75_PARAM_I2C, \
172 .i2c_addr = CONFIG_LM75_I2C_ADDR, \
173 .shutdown_mode = CONFIG_OPERATION_MODE, \
174 .tm_mode = CONFIG_THERMOSTAT_MODE, \
175 .polarity = CONFIG_OS_POLARITY, \
176 .fault_q = CONFIG_FAULT_QUEUE, \
177 .conv_rate_reg = CONFIG_TMP1075_CONV_RATE_REG }
Driver for the LM75 and TMP1075 temperature sensors.
struct lm75_params lm75_params_t
Parameters required for initialization.
Registers for the lm75 and derived (lm75a and tmp1075) temperature sensors.
Common macros and compiler attributes/pragmas configuration.
Parameters required for initialization.