28#define LM75_PARAM_I2C I2C_DEV(0)
34#ifndef CONFIG_LM75_I2C_ADDR
35#define CONFIG_LM75_I2C_ADDR (0x48)
39#if IS_ACTIVE(CONFIG_NORMAL_MODE)
40#define CONFIG_OPERATION_MODE NORMAL_MODE
41#elif IS_ACTIVE(CONFIG_SHUTDOWN_MODE)
42#define CONFIG_OPERATION_MODE SHUTDOWN_MODE
45#ifndef CONFIG_OPERATION_MODE
46#define CONFIG_OPERATION_MODE NORMAL_MODE
51#if IS_ACTIVE(CONFIG_COMPARATOR_MODE)
52#define CONFIG_THERMOSTAT_MODE COMPARATOR_MODE
53#elif IS_ACTIVE(CONFIG_INTERRUPT_MODE)
54#define CONFIG_THERMOSTAT_MODE INTERRUPT_MODE
57#ifndef CONFIG_THERMOSTAT_MODE
58#define CONFIG_THERMOSTAT_MODE COMPARATOR_MODE
63#if IS_ACTIVE(CONFIG_OS_ACTIVE_LOW)
64#define CONFIG_OS_POLARITY OS_ACTIVE_LOW
65#elif IS_ACTIVE(CONFIG_OS_ACTIVE_HIGH)
66#define CONFIG_OS_POLARITY OS_ACTIVE_HIGH
69#ifndef CONFIG_OS_POLARITY
70#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
90#ifndef CONFIG_FAULT_QUEUE
91#define CONFIG_FAULT_QUEUE FAULT_1
96#define LM75_PARAM_INT GPIO_UNDEF
99#define LM75A_CONV_RATE (100)
101#define LM75A_OS_RES (5)
102#define LM75A_OS_MULT (10)
103#define LM75A_OS_SHIFT (7)
104#define LM75A_TEMP_RES (125)
105#define LM75A_TEMP_MULT (1000)
106#define LM75A_TEMP_SHIFT (5)
108#define TMP1075_OS_RES (625)
109#define TMP1075_OS_MULT (10000)
110#define TMP1075_OS_SHIFT (4)
111#define TMP1075_TEMP_RES (625)
112#define TMP1075_TEMP_MULT (10000)
113#define TMP1075_TEMP_SHIFT (4)
116#if IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_27H)
117#define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_27H
118#define TMP1075_CONV_RATE (28)
119#elif IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_55)
120#define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_55
121#define TMP1075_CONV_RATE (55)
122#elif IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_110)
123#define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_110
124#define TMP1075_CONV_RATE (110)
125#elif IS_ACTIVE(CONFIG_TMP1075_CONV_RATE_REG_220)
126#define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_220
127#define TMP1075_CONV_RATE (220)
130#ifndef CONFIG_TMP1075_CONV_RATE_REG
131#define CONFIG_TMP1075_CONV_RATE_REG TMP1075_CONV_RATE_REG_27H
132#define TMP1075_CONV_RATE (28)
137#if IS_USED(MODULE_LM75A)
138#define LM75_PARAMS { .res = &lm75a_properties, \
139 .gpio_alarm = LM75_PARAM_INT, \
140 .conv_rate = LM75A_CONV_RATE, \
141 .i2c_bus = LM75_PARAM_I2C, \
142 .i2c_addr = CONFIG_LM75_I2C_ADDR, \
143 .shutdown_mode = CONFIG_OPERATION_MODE, \
144 .tm_mode = CONFIG_THERMOSTAT_MODE, \
145 .polarity = CONFIG_OS_POLARITY, \
146 .fault_q = CONFIG_FAULT_QUEUE }
150#if IS_USED(MODULE_TMP1075)
151#define LM75_PARAMS { .res = &tmp1075_properties, \
152 .gpio_alarm = LM75_PARAM_INT, \
153 .conv_rate = TMP1075_CONV_RATE, \
154 .i2c_bus = LM75_PARAM_I2C, \
155 .i2c_addr = CONFIG_LM75_I2C_ADDR, \
156 .shutdown_mode = CONFIG_OPERATION_MODE, \
157 .tm_mode = CONFIG_THERMOSTAT_MODE, \
158 .polarity = CONFIG_OS_POLARITY, \
159 .fault_q = CONFIG_FAULT_QUEUE, \
160 .conv_rate_reg = CONFIG_TMP1075_CONV_RATE_REG }
Common macros and compiler attributes/pragmas configuration.
Driver for the LM75 temperature sensor.
struct lm75_params lm75_params_t
params required for initialization
Registers for the lm75 and derived (lm75a and tmp1075) temperature sensors.
params required for initialization