Lines Matching refs:dev
22 int tmp108_reg_read(const struct device *dev, uint8_t reg, uint16_t *val) in tmp108_reg_read() argument
24 const struct tmp108_config *cfg = dev->config; in tmp108_reg_read()
38 int tmp108_reg_write(const struct device *dev, uint8_t reg, uint16_t val) in tmp108_reg_write() argument
40 const struct tmp108_config *cfg = dev->config; in tmp108_reg_write()
56 int tmp108_write_config(const struct device *dev, uint16_t mask, uint16_t conf) in tmp108_write_config() argument
61 result = tmp108_reg_read(dev, TI_TMP108_REG_CONF, &config); in tmp108_write_config()
70 result = tmp108_reg_write(dev, TI_TMP108_REG_CONF, config); in tmp108_write_config()
79 int ti_tmp108_read_temp(const struct device *dev) in ti_tmp108_read_temp() argument
81 struct tmp108_data *drv_data = dev->data; in ti_tmp108_read_temp()
90 result = tmp108_reg_read(dev, TI_TMP108_REG_TEMP, &drv_data->sample); in ti_tmp108_read_temp()
99 static int tmp108_sample_fetch(const struct device *dev, in tmp108_sample_fetch() argument
102 struct tmp108_data *drv_data = dev->data; in tmp108_sample_fetch()
112 return ti_tmp108_read_temp(dev); in tmp108_sample_fetch()
116 result = tmp108_write_config(dev, in tmp108_sample_fetch()
117 TI_TMP108_MODE_MASK(dev), in tmp108_sample_fetch()
118 TI_TMP108_MODE_ONE_SHOT(dev)); in tmp108_sample_fetch()
135 converting_mask = TI_TMP108_CONF_M1(dev) | TI_TMP108_CONF_M0(dev); in tmp108_sample_fetch()
139 result = tmp108_reg_read(dev, TI_TMP108_REG_CONF, &config); in tmp108_sample_fetch()
146 return ti_tmp108_read_temp(dev); in tmp108_sample_fetch()
156 static int tmp108_channel_get(const struct device *dev, in tmp108_channel_get() argument
160 struct tmp108_data *drv_data = dev->data; in tmp108_channel_get()
167 uval = ((int32_t)drv_data->sample * TMP108_TEMP_MULTIPLIER(dev)) / TMP108_TEMP_DIVISOR(dev); in tmp108_channel_get()
171 static int tmp108_attr_get(const struct device *dev, in tmp108_attr_get() argument
185 result = tmp108_reg_read(dev, in tmp108_attr_get()
198 static int tmp108_attr_set(const struct device *dev, in tmp108_attr_set() argument
203 struct tmp108_data *drv_data = dev->data; in tmp108_attr_set()
204 const struct tmp108_config *config = dev->config; in tmp108_attr_set()
217 if (TI_TMP108_HYSTER_0_C(dev) == TI_TMP108_CONF_NA) { in tmp108_attr_set()
222 mode = TI_TMP108_HYSTER_0_C(dev); in tmp108_attr_set()
224 mode = TI_TMP108_HYSTER_1_C(dev); in tmp108_attr_set()
226 mode = TI_TMP108_HYSTER_2_C(dev); in tmp108_attr_set()
228 mode = TI_TMP108_HYSTER_4_C(dev); in tmp108_attr_set()
231 result = tmp108_write_config(dev, in tmp108_attr_set()
232 TI_TMP108_HYSTER_MASK(dev), in tmp108_attr_set()
239 mode = TI_TMP108_CONF_TM_INT(dev); in tmp108_attr_set()
241 mode = TI_TMP108_CONF_TM_CMP(dev); in tmp108_attr_set()
244 result = tmp108_write_config(dev, in tmp108_attr_set()
245 TI_TMP108_CONF_TM_MASK(dev), in tmp108_attr_set()
251 reg_value = (uval * TMP108_TEMP_DIVISOR(dev)) / TMP108_TEMP_MULTIPLIER(dev); in tmp108_attr_set()
252 result = tmp108_reg_write(dev, in tmp108_attr_set()
259 reg_value = (uval * TMP108_TEMP_DIVISOR(dev)) / TMP108_TEMP_MULTIPLIER(dev); in tmp108_attr_set()
260 result = tmp108_reg_write(dev, in tmp108_attr_set()
267 mode = TI_TMP108_CONF_POL_HIGH(dev); in tmp108_attr_set()
269 mode = TI_TMP108_CONF_POL_LOW(dev); in tmp108_attr_set()
271 result = tmp108_write_config(dev, in tmp108_attr_set()
272 TI_TMP108_CONF_POL_MASK(dev), in tmp108_attr_set()
283 mode = TI_TMP108_FREQ_4_SECS(dev); in tmp108_attr_set()
285 mode = TI_TMP108_FREQ_1_HZ(dev); in tmp108_attr_set()
287 mode = TI_TMP108_FREQ_4_HZ(dev); in tmp108_attr_set()
289 mode = AMS_AS6212_FREQ_8_HZ(dev); in tmp108_attr_set()
293 mode = TI_TMP108_FREQ_4_SECS(dev); in tmp108_attr_set()
295 mode = TI_TMP108_FREQ_1_HZ(dev); in tmp108_attr_set()
297 mode = TI_TMP108_FREQ_4_HZ(dev); in tmp108_attr_set()
299 mode = TI_TMP108_FREQ_16_HZ(dev); in tmp108_attr_set()
302 result = tmp108_write_config(dev, in tmp108_attr_set()
303 TI_TMP108_FREQ_MASK(dev), in tmp108_attr_set()
309 result = tmp108_write_config(dev, in tmp108_attr_set()
310 TI_TMP108_MODE_MASK(dev), in tmp108_attr_set()
311 TI_TMP108_MODE_SHUTDOWN(dev)); in tmp108_attr_set()
316 result = tmp108_write_config(dev, in tmp108_attr_set()
317 TI_TMP108_MODE_MASK(dev), in tmp108_attr_set()
318 TI_TMP108_MODE_CONTINUOUS(dev)); in tmp108_attr_set()
323 result = tmp108_write_config(dev, in tmp108_attr_set()
324 TI_TMP108_MODE_MASK(dev), in tmp108_attr_set()
325 TI_TMP108_MODE_ONE_SHOT(dev)); in tmp108_attr_set()
351 static int setup_interrupts(const struct device *dev) in setup_interrupts() argument
353 struct tmp108_data *drv_data = dev->data; in setup_interrupts()
354 const struct tmp108_config *config = dev->config; in setup_interrupts()
392 static int tmp108_init(const struct device *dev) in tmp108_init() argument
394 const struct tmp108_config *cfg = dev->config; in tmp108_init()
403 struct tmp108_data *drv_data = dev->data; in tmp108_init()
406 drv_data->tmp108_dev = dev; in tmp108_init()
408 result = setup_interrupts(dev); in tmp108_init()
415 result = tmp108_write_config(dev, in tmp108_init()
417 TMP108_CONF_RST(dev)); in tmp108_init()