diff --git a/boards/bytesatwork/bytesensi_l/bytesensi_l.dts b/boards/bytesatwork/bytesensi_l/bytesensi_l.dts index 2054d6bd2e2..b3be00fc171 100644 --- a/boards/bytesatwork/bytesensi_l/bytesensi_l.dts +++ b/boards/bytesatwork/bytesensi_l/bytesensi_l.dts @@ -93,15 +93,15 @@ int-gpios = <&gpio0 25 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; }; - temperature_sensor: tmp116@4a { + temperature_sensor: tmp11x@4a { status = "okay"; - compatible = "ti,tmp116"; + compatible = "ti,tmp11x"; reg = <0x4a>; #address-cells = <1>; #size-cells = <0>; - eeprom: ti_tmp116_eeprom@0 { - compatible = "ti,tmp116-eeprom"; + eeprom: ti_tmp11x_eeprom@0 { + compatible = "ti,tmp11x-eeprom"; reg = <0x0>; read-only; }; diff --git a/drivers/eeprom/CMakeLists.txt b/drivers/eeprom/CMakeLists.txt index c7b5f65c21f..b22380fdde8 100644 --- a/drivers/eeprom/CMakeLists.txt +++ b/drivers/eeprom/CMakeLists.txt @@ -19,7 +19,7 @@ if(CONFIG_EEPROM_SIMULATOR) endif() endif() zephyr_library_sources_ifdef(CONFIG_EEPROM_EMULATOR eeprom_emulator.c) -zephyr_library_sources_ifdef(CONFIG_EEPROM_TMP116 eeprom_tmp116.c) +zephyr_library_sources_ifdef(CONFIG_EEPROM_TMP11X eeprom_tmp11x.c) zephyr_library_sources_ifdef(CONFIG_EEPROM_XEC eeprom_mchp_xec.c) zephyr_library_sources_ifdef(CONFIG_EEPROM_FAKE eeprom_fake.c) diff --git a/drivers/eeprom/Kconfig b/drivers/eeprom/Kconfig index cf1cefb5505..02e7fc9eba2 100644 --- a/drivers/eeprom/Kconfig +++ b/drivers/eeprom/Kconfig @@ -96,7 +96,7 @@ config EEPROM_AT2X_INIT_PRIORITY source "drivers/eeprom/Kconfig.lpc11u6x" source "drivers/eeprom/Kconfig.stm32" source "drivers/eeprom/Kconfig.eeprom_emu" -source "drivers/eeprom/Kconfig.tmp116" +source "drivers/eeprom/Kconfig.tmp11x" source "drivers/eeprom/Kconfig.xec" source "drivers/eeprom/Kconfig.mb85rcxx" source "drivers/eeprom/Kconfig.mb85rsxx" diff --git a/drivers/eeprom/Kconfig.tmp116 b/drivers/eeprom/Kconfig.tmp116 deleted file mode 100644 index 86db689f265..00000000000 --- a/drivers/eeprom/Kconfig.tmp116 +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (c) 2021 Innoseis B.V. -# SPDX-License-Identifier: Apache-2.0 - -config EEPROM_TMP116 - bool "TMP116 EEPROM driver" - default y - depends on DT_HAS_TI_TMP116_EEPROM_ENABLED - depends on TMP116 - help - Enable support for the on-chip EEPROM found on - Texas instrument TMP116 temperature sensor diff --git a/drivers/eeprom/Kconfig.tmp11x b/drivers/eeprom/Kconfig.tmp11x new file mode 100644 index 00000000000..6325523e492 --- /dev/null +++ b/drivers/eeprom/Kconfig.tmp11x @@ -0,0 +1,11 @@ +# Copyright (c) 2021 Innoseis B.V. +# SPDX-License-Identifier: Apache-2.0 + +config EEPROM_TMP11X + bool "TMP116, TMP117 and TMP119 EEPROM driver" + default y + depends on DT_HAS_TI_TMP11X_EEPROM_ENABLED + depends on TMP11X + help + Enable support for the on-chip EEPROM found on + Texas instrument TMP116, TMP117 and TMP119 temperature sensor diff --git a/drivers/eeprom/eeprom_tmp116.c b/drivers/eeprom/eeprom_tmp116.c deleted file mode 100644 index 5a959aa9b32..00000000000 --- a/drivers/eeprom/eeprom_tmp116.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2020 Innoseis B.V - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#include - -#include -#include -#include - -#define DT_DRV_COMPAT ti_tmp116_eeprom - -struct eeprom_tmp116_config { - const struct device *parent; -}; - -BUILD_ASSERT(CONFIG_EEPROM_INIT_PRIORITY > - CONFIG_SENSOR_INIT_PRIORITY, - "TMP116 eeprom driver must be initialized after TMP116 sensor " - "driver"); - -static size_t eeprom_tmp116_size(const struct device *dev) -{ - return EEPROM_TMP116_SIZE; -} - -static int eeprom_tmp116_write(const struct device *dev, off_t offset, - const void *data, size_t len) -{ - const struct eeprom_tmp116_config *config = dev->config; - - return tmp116_eeprom_write(config->parent, offset, data, len); -} - -static int eeprom_tmp116_read(const struct device *dev, off_t offset, void *data, - size_t len) -{ - const struct eeprom_tmp116_config *config = dev->config; - - return tmp116_eeprom_read(config->parent, offset, data, len); -} - -static int eeprom_tmp116_init(const struct device *dev) -{ - const struct eeprom_tmp116_config *config = dev->config; - - if (!device_is_ready(config->parent)) { - return -ENODEV; - } - - return 0; -} - -static DEVICE_API(eeprom, eeprom_tmp116_api) = { - .read = eeprom_tmp116_read, - .write = eeprom_tmp116_write, - .size = eeprom_tmp116_size, -}; - -#define DEFINE_TMP116(_num) \ - static const struct eeprom_tmp116_config eeprom_tmp116_config##_num = { \ - .parent = DEVICE_DT_GET(DT_INST_BUS(_num)) \ - }; \ - DEVICE_DT_INST_DEFINE(_num, eeprom_tmp116_init, NULL, \ - NULL, &eeprom_tmp116_config##_num, POST_KERNEL, \ - CONFIG_EEPROM_INIT_PRIORITY, &eeprom_tmp116_api); - -DT_INST_FOREACH_STATUS_OKAY(DEFINE_TMP116); diff --git a/drivers/eeprom/eeprom_tmp11x.c b/drivers/eeprom/eeprom_tmp11x.c new file mode 100644 index 00000000000..1966683ee6d --- /dev/null +++ b/drivers/eeprom/eeprom_tmp11x.c @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2020 Innoseis B.V + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include + +#include +#include +#include + +#define DT_DRV_COMPAT ti_tmp11x_eeprom + +struct eeprom_tmp11x_config { + const struct device *parent; +}; + +BUILD_ASSERT(CONFIG_EEPROM_INIT_PRIORITY > + CONFIG_SENSOR_INIT_PRIORITY, + "TMP11X eeprom driver must be initialized after TMP11X sensor " + "driver"); + +static size_t eeprom_tmp11x_size(const struct device *dev) +{ + return EEPROM_TMP11X_SIZE; +} + +static int eeprom_tmp11x_write(const struct device *dev, off_t offset, + const void *data, size_t len) +{ + const struct eeprom_tmp11x_config *config = dev->config; + + return tmp11x_eeprom_write(config->parent, offset, data, len); +} + +static int eeprom_tmp11x_read(const struct device *dev, off_t offset, void *data, + size_t len) +{ + const struct eeprom_tmp11x_config *config = dev->config; + + return tmp11x_eeprom_read(config->parent, offset, data, len); +} + +static int eeprom_tmp11x_init(const struct device *dev) +{ + const struct eeprom_tmp11x_config *config = dev->config; + + if (!device_is_ready(config->parent)) { + return -ENODEV; + } + + return 0; +} + +static DEVICE_API(eeprom, eeprom_tmp11x_api) = { + .read = eeprom_tmp11x_read, + .write = eeprom_tmp11x_write, + .size = eeprom_tmp11x_size, +}; + +#define DEFINE_TMP11X(_num) \ + static const struct eeprom_tmp11x_config eeprom_tmp11x_config##_num = { \ + .parent = DEVICE_DT_GET(DT_INST_BUS(_num)) \ + }; \ + DEVICE_DT_INST_DEFINE(_num, eeprom_tmp11x_init, NULL, \ + NULL, &eeprom_tmp11x_config##_num, POST_KERNEL, \ + CONFIG_EEPROM_INIT_PRIORITY, &eeprom_tmp11x_api); + +DT_INST_FOREACH_STATUS_OKAY(DEFINE_TMP11X); diff --git a/drivers/sensor/ti/CMakeLists.txt b/drivers/sensor/ti/CMakeLists.txt index 8a497df2948..9ad90eddfe9 100644 --- a/drivers/sensor/ti/CMakeLists.txt +++ b/drivers/sensor/ti/CMakeLists.txt @@ -19,6 +19,6 @@ add_subdirectory_ifdef(CONFIG_TMP1075 tmp1075) add_subdirectory_ifdef(CONFIG_TMP108 tmp108) add_subdirectory_ifdef(CONFIG_TMP112 tmp112) add_subdirectory_ifdef(CONFIG_TMP114 tmp114) -add_subdirectory_ifdef(CONFIG_TMP116 tmp116) +add_subdirectory_ifdef(CONFIG_TMP11X tmp11x) add_subdirectory_ifdef(CONFIG_TMP435 tmp435) # zephyr-keep-sorted-stop diff --git a/drivers/sensor/ti/Kconfig b/drivers/sensor/ti/Kconfig index 7e9f0e95f29..6c28e870da4 100644 --- a/drivers/sensor/ti/Kconfig +++ b/drivers/sensor/ti/Kconfig @@ -19,6 +19,6 @@ source "drivers/sensor/ti/tmp1075/Kconfig" source "drivers/sensor/ti/tmp108/Kconfig" source "drivers/sensor/ti/tmp112/Kconfig" source "drivers/sensor/ti/tmp114/Kconfig" -source "drivers/sensor/ti/tmp116/Kconfig" +source "drivers/sensor/ti/tmp11x/Kconfig" source "drivers/sensor/ti/tmp435/Kconfig" # zephyr-keep-sorted-stop diff --git a/drivers/sensor/ti/tmp116/tmp116.h b/drivers/sensor/ti/tmp116/tmp116.h deleted file mode 100644 index 2e509eba3fa..00000000000 --- a/drivers/sensor/ti/tmp116/tmp116.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2019 Centaur Analytics, Inc - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef ZEPHYR_DRIVERS_SENSOR_TMP116_TMP116_H_ -#define ZEPHYR_DRIVERS_SENSOR_TMP116_TMP116_H_ - -#include - -#define TMP116_REG_TEMP 0x0 -#define TMP116_REG_CFGR 0x1 -#define TMP116_REG_HIGH_LIM 0x2 -#define TMP116_REG_LOW_LIM 0x3 -#define TMP116_REG_EEPROM_UL 0x4 -#define TMP116_REG_EEPROM1 0x5 -#define TMP116_REG_EEPROM2 0x6 -#define TMP116_REG_EEPROM3 0x7 -#define TMP117_REG_TEMP_OFFSET 0x7 -#define TMP116_REG_EEPROM4 0x8 -#define TMP116_REG_DEVICE_ID 0xF - -#define TMP116_RESOLUTION 78125 /* in tens of uCelsius*/ -#define TMP116_RESOLUTION_DIV 10000000 - -#define TMP116_DEVICE_ID 0x1116 -#define TMP117_DEVICE_ID 0x0117 -#define TMP119_DEVICE_ID 0x2117 - -#define TMP116_CFGR_AVG (BIT(5) | BIT(6)) -#define TMP116_CFGR_CONV (BIT(7) | BIT(8) | BIT(9)) -#define TMP116_CFGR_MODE (BIT(10) | BIT(11)) -#define TMP116_CFGR_DATA_READY BIT(13) -#define TMP116_EEPROM_UL_UNLOCK BIT(15) -#define TMP116_EEPROM_UL_BUSY BIT(14) - -#define TMP116_AVG_1_SAMPLE 0 -#define TMP116_AVG_8_SAMPLES BIT(5) -#define TMP116_AVG_32_SAMPLES BIT(6) -#define TMP116_AVG_64_SAMPLES (BIT(5) | BIT(6)) -#define TMP116_MODE_CONTINUOUS 0 -#define TMP116_MODE_SHUTDOWN BIT(10) -#define TMP116_MODE_ONE_SHOT (BIT(10) | BIT(11)) - -struct tmp116_data { - uint16_t sample; - uint16_t id; -}; - -struct tmp116_dev_config { - struct i2c_dt_spec bus; - uint16_t odr; - uint16_t oversampling; -}; - -#endif /* ZEPHYR_DRIVERS_SENSOR_TMP116_TMP116_H_ */ diff --git a/drivers/sensor/ti/tmp116/CMakeLists.txt b/drivers/sensor/ti/tmp11x/CMakeLists.txt similarity index 63% rename from drivers/sensor/ti/tmp116/CMakeLists.txt rename to drivers/sensor/ti/tmp11x/CMakeLists.txt index ee8d2a64621..48d083d2b1b 100644 --- a/drivers/sensor/ti/tmp116/CMakeLists.txt +++ b/drivers/sensor/ti/tmp11x/CMakeLists.txt @@ -2,4 +2,4 @@ zephyr_library() -zephyr_library_sources(tmp116.c) +zephyr_library_sources(tmp11x.c) diff --git a/drivers/sensor/ti/tmp116/Kconfig b/drivers/sensor/ti/tmp11x/Kconfig similarity index 69% rename from drivers/sensor/ti/tmp116/Kconfig rename to drivers/sensor/ti/tmp11x/Kconfig index d44236bcc4d..e66ea0a7a54 100644 --- a/drivers/sensor/ti/tmp116/Kconfig +++ b/drivers/sensor/ti/tmp11x/Kconfig @@ -1,12 +1,12 @@ -# TMP116 temperature sensor configuration options +# TMP11X temperature sensor configuration options # Copyright (c) 2019 Centaur Analytics, Inc # SPDX-License-Identifier: Apache-2.0 -config TMP116 +config TMP11X bool "TMP116, TMP117 and TMP119 Temperature Sensors" default y - depends on DT_HAS_TI_TMP116_ENABLED + depends on DT_HAS_TI_TMP11X_ENABLED select I2C help Enable driver for TMP116, TMP117 and TMP119 temperature sensors. diff --git a/drivers/sensor/ti/tmp116/tmp116.c b/drivers/sensor/ti/tmp11x/tmp11x.c similarity index 60% rename from drivers/sensor/ti/tmp116/tmp116.c rename to drivers/sensor/ti/tmp11x/tmp11x.c index 79807500e96..cfb1abd6a07 100644 --- a/drivers/sensor/ti/tmp116/tmp116.c +++ b/drivers/sensor/ti/tmp11x/tmp11x.c @@ -4,31 +4,31 @@ * SPDX-License-Identifier: Apache-2.0 */ -#define DT_DRV_COMPAT ti_tmp116 +#define DT_DRV_COMPAT ti_tmp11x #include #include #include -#include -#include +#include +#include #include #include #include #include #include -#include "tmp116.h" +#include "tmp11x.h" #define EEPROM_SIZE_REG sizeof(uint16_t) #define EEPROM_TMP117_RESERVED (2 * sizeof(uint16_t)) #define EEPROM_MIN_BUSY_MS 7 -LOG_MODULE_REGISTER(TMP116, CONFIG_SENSOR_LOG_LEVEL); +LOG_MODULE_REGISTER(TMP11X, CONFIG_SENSOR_LOG_LEVEL); -static int tmp116_reg_read(const struct device *dev, uint8_t reg, +static int tmp11x_reg_read(const struct device *dev, uint8_t reg, uint16_t *val) { - const struct tmp116_dev_config *cfg = dev->config; + const struct tmp11x_dev_config *cfg = dev->config; if (i2c_burst_read_dt(&cfg->bus, reg, (uint8_t *)val, 2) < 0) { @@ -40,21 +40,21 @@ static int tmp116_reg_read(const struct device *dev, uint8_t reg, return 0; } -static int tmp116_reg_write(const struct device *dev, uint8_t reg, +static int tmp11x_reg_write(const struct device *dev, uint8_t reg, uint16_t val) { - const struct tmp116_dev_config *cfg = dev->config; + const struct tmp11x_dev_config *cfg = dev->config; uint8_t tx_buf[3] = {reg, val >> 8, val & 0xFF}; return i2c_write_dt(&cfg->bus, tx_buf, sizeof(tx_buf)); } -int tmp116_write_config(const struct device *dev, uint16_t mask, uint16_t conf) +int tmp11x_write_config(const struct device *dev, uint16_t mask, uint16_t conf) { uint16_t config = 0; int result; - result = tmp116_reg_read(dev, TMP116_REG_CFGR, &config); + result = tmp11x_reg_read(dev, TMP11X_REG_CFGR, &config); if (result < 0) { return result; @@ -63,15 +63,15 @@ int tmp116_write_config(const struct device *dev, uint16_t mask, uint16_t conf) config &= ~mask; config |= conf; - return tmp116_reg_write(dev, TMP116_REG_CFGR, config); + return tmp11x_reg_write(dev, TMP11X_REG_CFGR, config); } static bool check_eeprom_bounds(const struct device *dev, off_t offset, size_t len) { - struct tmp116_data *drv_data = dev->data; + struct tmp11x_data *drv_data = dev->data; - if ((offset + len) > EEPROM_TMP116_SIZE || + if ((offset + len) > EEPROM_TMP11X_SIZE || offset % EEPROM_SIZE_REG != 0 || len % EEPROM_SIZE_REG != 0) { return false; @@ -86,7 +86,7 @@ static bool check_eeprom_bounds(const struct device *dev, off_t offset, return true; } -int tmp116_eeprom_write(const struct device *dev, off_t offset, +int tmp11x_eeprom_write(const struct device *dev, off_t offset, const void *data, size_t len) { uint8_t reg; @@ -97,7 +97,7 @@ int tmp116_eeprom_write(const struct device *dev, off_t offset, return -EINVAL; } - res = tmp116_reg_write(dev, TMP116_REG_EEPROM_UL, TMP116_EEPROM_UL_UNLOCK); + res = tmp11x_reg_write(dev, TMP11X_REG_EEPROM_UL, TMP11X_EEPROM_UL_UNLOCK); if (res) { return res; } @@ -105,7 +105,7 @@ int tmp116_eeprom_write(const struct device *dev, off_t offset, for (reg = (offset / 2); reg < offset / 2 + len / 2; reg++) { uint16_t val = *src; - res = tmp116_reg_write(dev, reg + TMP116_REG_EEPROM1, val); + res = tmp11x_reg_write(dev, reg + TMP11X_REG_EEPROM1, val); if (res != 0) { break; } @@ -113,11 +113,11 @@ int tmp116_eeprom_write(const struct device *dev, off_t offset, k_sleep(K_MSEC(EEPROM_MIN_BUSY_MS)); do { - res = tmp116_reg_read(dev, TMP116_REG_EEPROM_UL, &val); + res = tmp11x_reg_read(dev, TMP11X_REG_EEPROM_UL, &val); if (res != 0) { break; } - } while (val & TMP116_EEPROM_UL_BUSY); + } while (val & TMP11X_EEPROM_UL_BUSY); src++; if (res != 0) { @@ -125,12 +125,12 @@ int tmp116_eeprom_write(const struct device *dev, off_t offset, } } - res = tmp116_reg_write(dev, TMP116_REG_EEPROM_UL, 0); + res = tmp11x_reg_write(dev, TMP11X_REG_EEPROM_UL, 0); return res; } -int tmp116_eeprom_read(const struct device *dev, off_t offset, void *data, +int tmp11x_eeprom_read(const struct device *dev, off_t offset, void *data, size_t len) { uint8_t reg; @@ -142,7 +142,7 @@ int tmp116_eeprom_read(const struct device *dev, off_t offset, void *data, } for (reg = (offset / 2); reg < offset / 2 + len / 2; reg++) { - res = tmp116_reg_read(dev, reg + TMP116_REG_EEPROM1, dst); + res = tmp11x_reg_read(dev, reg + TMP11X_REG_EEPROM1, dst); if (res != 0) { break; } @@ -162,9 +162,9 @@ int tmp116_eeprom_read(const struct device *dev, off_t offset, void *data, * @retval 0 on success * @retval -EIO Otherwise */ -static inline int tmp116_device_id_check(const struct device *dev, uint16_t *id) +static inline int tmp11x_device_id_check(const struct device *dev, uint16_t *id) { - if (tmp116_reg_read(dev, TMP116_REG_DEVICE_ID, id) != 0) { + if (tmp11x_reg_read(dev, TMP11X_REG_DEVICE_ID, id) != 0) { LOG_ERR("%s: Failed to get Device ID register!", dev->name); return -EIO; @@ -179,10 +179,10 @@ static inline int tmp116_device_id_check(const struct device *dev, uint16_t *id) return 0; } -static int tmp116_sample_fetch(const struct device *dev, +static int tmp11x_sample_fetch(const struct device *dev, enum sensor_channel chan) { - struct tmp116_data *drv_data = dev->data; + struct tmp11x_data *drv_data = dev->data; uint16_t value; uint16_t cfg_reg = 0; int rc; @@ -194,20 +194,20 @@ static int tmp116_sample_fetch(const struct device *dev, drv_data->sample = 0U; /* Make sure that a data is available */ - rc = tmp116_reg_read(dev, TMP116_REG_CFGR, &cfg_reg); + rc = tmp11x_reg_read(dev, TMP11X_REG_CFGR, &cfg_reg); if (rc < 0) { LOG_ERR("%s, Failed to read from CFGR register", dev->name); return rc; } - if ((cfg_reg & TMP116_CFGR_DATA_READY) == 0) { + if ((cfg_reg & TMP11X_CFGR_DATA_READY) == 0) { LOG_DBG("%s: no data ready", dev->name); return -EBUSY; } /* Get the most recent temperature measurement */ - rc = tmp116_reg_read(dev, TMP116_REG_TEMP, &value); + rc = tmp11x_reg_read(dev, TMP11X_REG_TEMP, &value); if (rc < 0) { LOG_ERR("%s: Failed to read from TEMP register!", dev->name); @@ -220,11 +220,11 @@ static int tmp116_sample_fetch(const struct device *dev, return 0; } -static int tmp116_channel_get(const struct device *dev, +static int tmp11x_channel_get(const struct device *dev, enum sensor_channel chan, struct sensor_value *val) { - struct tmp116_data *drv_data = dev->data; + struct tmp11x_data *drv_data = dev->data; int32_t tmp; if (chan != SENSOR_CHAN_AMBIENT_TEMP) { @@ -235,46 +235,46 @@ static int tmp116_channel_get(const struct device *dev, * See datasheet "Temperature Results and Limits" section for more * details on processing sample data. */ - tmp = ((int16_t)drv_data->sample * (int32_t)TMP116_RESOLUTION) / 10; + tmp = ((int16_t)drv_data->sample * (int32_t)TMP11X_RESOLUTION) / 10; val->val1 = tmp / 1000000; /* uCelsius */ val->val2 = tmp % 1000000; return 0; } -static int16_t tmp116_conv_value(const struct sensor_value *val) +static int16_t tmp11x_conv_value(const struct sensor_value *val) { uint32_t freq_micro = sensor_value_to_micro(val); switch (freq_micro) { case 64000000: /* 1 / 15.5 ms has been rounded down */ - return TMP116_DT_ODR_15_5_MS; + return TMP11X_DT_ODR_15_5_MS; case 8000000: - return TMP116_DT_ODR_125_MS; + return TMP11X_DT_ODR_125_MS; case 4000000: - return TMP116_DT_ODR_250_MS; + return TMP11X_DT_ODR_250_MS; case 2000000: - return TMP116_DT_ODR_500_MS; + return TMP11X_DT_ODR_500_MS; case 1000000: - return TMP116_DT_ODR_1000_MS; + return TMP11X_DT_ODR_1000_MS; case 250000: - return TMP116_DT_ODR_4000_MS; + return TMP11X_DT_ODR_4000_MS; case 125000: - return TMP116_DT_ODR_8000_MS; + return TMP11X_DT_ODR_8000_MS; case 62500: - return TMP116_DT_ODR_16000_MS; + return TMP11X_DT_ODR_16000_MS; default: LOG_ERR("%" PRIu32 " uHz not supported", freq_micro); return -EINVAL; } } -static int tmp116_attr_set(const struct device *dev, +static int tmp11x_attr_set(const struct device *dev, enum sensor_channel chan, enum sensor_attribute attr, const struct sensor_value *val) { - struct tmp116_data *drv_data = dev->data; + struct tmp11x_data *drv_data = dev->data; int16_t value; uint16_t avg; @@ -284,12 +284,12 @@ static int tmp116_attr_set(const struct device *dev, switch ((int)attr) { case SENSOR_ATTR_SAMPLING_FREQUENCY: - value = tmp116_conv_value(val); + value = tmp11x_conv_value(val); if (value < 0) { return value; } - return tmp116_write_config(dev, TMP116_CFGR_CONV, value); + return tmp11x_write_config(dev, TMP11X_CFGR_CONV, value); case SENSOR_ATTR_OFFSET: if (drv_data->id != TMP117_DEVICE_ID && drv_data->id != TMP119_DEVICE_ID) { @@ -301,48 +301,48 @@ static int tmp116_attr_set(const struct device *dev, * The offset is encoded into the temperature register format. */ value = (((val->val1) * 10000000) + ((val->val2) * 10)) - / (int32_t)TMP116_RESOLUTION; + / (int32_t)TMP11X_RESOLUTION; - return tmp116_reg_write(dev, TMP117_REG_TEMP_OFFSET, value); + return tmp11x_reg_write(dev, TMP117_REG_TEMP_OFFSET, value); case SENSOR_ATTR_OVERSAMPLING: /* sensor supports averaging 1, 8, 32 and 64 samples */ switch (val->val1) { case 1: - avg = TMP116_AVG_1_SAMPLE; + avg = TMP11X_AVG_1_SAMPLE; break; case 8: - avg = TMP116_AVG_8_SAMPLES; + avg = TMP11X_AVG_8_SAMPLES; break; case 32: - avg = TMP116_AVG_32_SAMPLES; + avg = TMP11X_AVG_32_SAMPLES; break; case 64: - avg = TMP116_AVG_64_SAMPLES; + avg = TMP11X_AVG_64_SAMPLES; break; default: return -EINVAL; } - return tmp116_write_config(dev, TMP116_CFGR_AVG, avg); - case SENSOR_ATTR_TMP116_SHUTDOWN_MODE: - return tmp116_write_config(dev, TMP116_CFGR_MODE, TMP116_MODE_SHUTDOWN); + return tmp11x_write_config(dev, TMP11X_CFGR_AVG, avg); + case SENSOR_ATTR_TMP11X_SHUTDOWN_MODE: + return tmp11x_write_config(dev, TMP11X_CFGR_MODE, TMP11X_MODE_SHUTDOWN); - case SENSOR_ATTR_TMP116_CONTINUOUS_CONVERSION_MODE: - return tmp116_write_config(dev, TMP116_CFGR_MODE, TMP116_MODE_CONTINUOUS); + case SENSOR_ATTR_TMP11X_CONTINUOUS_CONVERSION_MODE: + return tmp11x_write_config(dev, TMP11X_CFGR_MODE, TMP11X_MODE_CONTINUOUS); - case SENSOR_ATTR_TMP116_ONE_SHOT_MODE: - return tmp116_write_config(dev, TMP116_CFGR_MODE, TMP116_MODE_ONE_SHOT); + case SENSOR_ATTR_TMP11X_ONE_SHOT_MODE: + return tmp11x_write_config(dev, TMP11X_CFGR_MODE, TMP11X_MODE_ONE_SHOT); default: return -ENOTSUP; } } -static int tmp116_attr_get(const struct device *dev, enum sensor_channel chan, +static int tmp11x_attr_get(const struct device *dev, enum sensor_channel chan, enum sensor_attribute attr, struct sensor_value *val) { uint16_t data; @@ -354,7 +354,7 @@ static int tmp116_attr_get(const struct device *dev, enum sensor_channel chan, switch (attr) { case SENSOR_ATTR_CONFIGURATION: - rc = tmp116_reg_read(dev, TMP116_REG_CFGR, &data); + rc = tmp11x_reg_read(dev, TMP11X_REG_CFGR, &data); if (rc < 0) { return rc; } @@ -369,17 +369,17 @@ static int tmp116_attr_get(const struct device *dev, enum sensor_channel chan, return 0; } -static DEVICE_API(sensor, tmp116_driver_api) = { - .attr_set = tmp116_attr_set, - .attr_get = tmp116_attr_get, - .sample_fetch = tmp116_sample_fetch, - .channel_get = tmp116_channel_get +static DEVICE_API(sensor, tmp11x_driver_api) = { + .attr_set = tmp11x_attr_set, + .attr_get = tmp11x_attr_get, + .sample_fetch = tmp11x_sample_fetch, + .channel_get = tmp11x_channel_get }; -static int tmp116_init(const struct device *dev) +static int tmp11x_init(const struct device *dev) { - struct tmp116_data *drv_data = dev->data; - const struct tmp116_dev_config *cfg = dev->config; + struct tmp11x_data *drv_data = dev->data; + const struct tmp11x_dev_config *cfg = dev->config; int rc; uint16_t id; @@ -389,32 +389,32 @@ static int tmp116_init(const struct device *dev) } /* Check the Device ID */ - rc = tmp116_device_id_check(dev, &id); + rc = tmp11x_device_id_check(dev, &id); if (rc < 0) { return rc; } LOG_DBG("Got device ID: %x", id); drv_data->id = id; - rc = tmp116_write_config(dev, TMP116_CFGR_CONV, cfg->odr); + rc = tmp11x_write_config(dev, TMP11X_CFGR_CONV, cfg->odr); if (rc < 0) { return rc; } - rc = tmp116_write_config(dev, TMP116_CFGR_AVG, cfg->oversampling); + rc = tmp11x_write_config(dev, TMP11X_CFGR_AVG, cfg->oversampling); return rc; } -#define DEFINE_TMP116(_num) \ - static struct tmp116_data tmp116_data_##_num; \ - static const struct tmp116_dev_config tmp116_config_##_num = { \ +#define DEFINE_TMP11X(_num) \ + static struct tmp11x_data tmp11x_data_##_num; \ + static const struct tmp11x_dev_config tmp11x_config_##_num = { \ .bus = I2C_DT_SPEC_INST_GET(_num), \ .odr = DT_INST_PROP(_num, odr), \ .oversampling = DT_INST_PROP(_num, oversampling), \ }; \ - SENSOR_DEVICE_DT_INST_DEFINE(_num, tmp116_init, NULL, \ - &tmp116_data_##_num, &tmp116_config_##_num, POST_KERNEL, \ - CONFIG_SENSOR_INIT_PRIORITY, &tmp116_driver_api); + SENSOR_DEVICE_DT_INST_DEFINE(_num, tmp11x_init, NULL, \ + &tmp11x_data_##_num, &tmp11x_config_##_num, POST_KERNEL, \ + CONFIG_SENSOR_INIT_PRIORITY, &tmp11x_driver_api); -DT_INST_FOREACH_STATUS_OKAY(DEFINE_TMP116) +DT_INST_FOREACH_STATUS_OKAY(DEFINE_TMP11X) diff --git a/drivers/sensor/ti/tmp11x/tmp11x.h b/drivers/sensor/ti/tmp11x/tmp11x.h new file mode 100644 index 00000000000..c1e075955f2 --- /dev/null +++ b/drivers/sensor/ti/tmp11x/tmp11x.h @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2019 Centaur Analytics, Inc + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef ZEPHYR_DRIVERS_SENSOR_TMP11X_TMP11X_H_ +#define ZEPHYR_DRIVERS_SENSOR_TMP11X_TMP11X_H_ + +#include + +#define TMP11X_REG_TEMP 0x0 +#define TMP11X_REG_CFGR 0x1 +#define TMP11X_REG_HIGH_LIM 0x2 +#define TMP11X_REG_LOW_LIM 0x3 +#define TMP11X_REG_EEPROM_UL 0x4 +#define TMP11X_REG_EEPROM1 0x5 +#define TMP11X_REG_EEPROM2 0x6 +#define TMP11X_REG_EEPROM3 0x7 +#define TMP117_REG_TEMP_OFFSET 0x7 +#define TMP11X_REG_EEPROM4 0x8 +#define TMP11X_REG_DEVICE_ID 0xF + +#define TMP11X_RESOLUTION 78125 /* in tens of uCelsius*/ +#define TMP11X_RESOLUTION_DIV 10000000 + +#define TMP116_DEVICE_ID 0x1116 +#define TMP117_DEVICE_ID 0x0117 +#define TMP119_DEVICE_ID 0x2117 + +#define TMP11X_CFGR_AVG (BIT(5) | BIT(6)) +#define TMP11X_CFGR_CONV (BIT(7) | BIT(8) | BIT(9)) +#define TMP11X_CFGR_MODE (BIT(10) | BIT(11)) +#define TMP11X_CFGR_DATA_READY BIT(13) +#define TMP11X_EEPROM_UL_UNLOCK BIT(15) +#define TMP11X_EEPROM_UL_BUSY BIT(14) + +#define TMP11X_AVG_1_SAMPLE 0 +#define TMP11X_AVG_8_SAMPLES BIT(5) +#define TMP11X_AVG_32_SAMPLES BIT(6) +#define TMP11X_AVG_64_SAMPLES (BIT(5) | BIT(6)) +#define TMP11X_MODE_CONTINUOUS 0 +#define TMP11X_MODE_SHUTDOWN BIT(10) +#define TMP11X_MODE_ONE_SHOT (BIT(10) | BIT(11)) + +struct tmp11x_data { + uint16_t sample; + uint16_t id; +}; + +struct tmp11x_dev_config { + struct i2c_dt_spec bus; + uint16_t odr; + uint16_t oversampling; +}; + +#endif /* ZEPHYR_DRIVERS_SENSOR_TMP11X_TMP11X_H_ */ diff --git a/dts/bindings/i2c/ti,tca954x-base.yaml b/dts/bindings/i2c/ti,tca954x-base.yaml index 242e53bc801..3a13f50f79c 100644 --- a/dts/bindings/i2c/ti,tca954x-base.yaml +++ b/dts/bindings/i2c/ti,tca954x-base.yaml @@ -25,8 +25,8 @@ description: | #address-cells = <1>; #size-cells = <0>; - temp_sens_0: tmp116@49 { - compatible = "ti,tmp116"; + temp_sens_0: tmp11x@49 { + compatible = "ti,tmp11x"; reg = <0x49>; }; }; @@ -37,8 +37,8 @@ description: | #address-cells = <1>; #size-cells = <0>; - temp_sens_1: tmp116@49 { - compatible = "ti,tmp116"; + temp_sens_1: tmp11x@49 { + compatible = "ti,tmp11x"; reg = <0x49>; }; }; diff --git a/dts/bindings/mtd/ti,tmp116-eeprom.yaml b/dts/bindings/mtd/ti,tmp11x-eeprom.yaml similarity index 51% rename from dts/bindings/mtd/ti,tmp116-eeprom.yaml rename to dts/bindings/mtd/ti,tmp11x-eeprom.yaml index 4c4188b0c70..e4d5a24dd5d 100644 --- a/dts/bindings/mtd/ti,tmp116-eeprom.yaml +++ b/dts/bindings/mtd/ti,tmp11x-eeprom.yaml @@ -1,10 +1,10 @@ # Copyright (c) 2020 Innoseis B.V # SPDX-License-Identifier: Apache-2.0 -description: TI TMP116 EEPROM controller binding +description: TI TMP11X EEPROM controller -compatible: "ti,tmp116-eeprom" +compatible: "ti,tmp11x-eeprom" include: eeprom-base.yaml -on-bus: tmp116 +on-bus: tmp11x diff --git a/dts/bindings/sensor/ti,tmp116.yaml b/dts/bindings/sensor/ti,tmp11x.yaml similarity index 51% rename from dts/bindings/sensor/ti,tmp116.yaml rename to dts/bindings/sensor/ti,tmp11x.yaml index a688829da41..a6207360db7 100644 --- a/dts/bindings/sensor/ti,tmp116.yaml +++ b/dts/bindings/sensor/ti,tmp11x.yaml @@ -1,11 +1,11 @@ # Copyright (c) 2019 Centaur Analytics, Inc # SPDX-License-Identifier: Apache-2.0 -description: Texas Instruments TMP116 temperature sensor +description: Texas Instruments TMP11X temperature sensor -compatible: "ti,tmp116" +compatible: "ti,tmp11x" -bus: tmp116 +bus: tmp11x include: [sensor-device.yaml, i2c-device.yaml] @@ -18,14 +18,14 @@ properties: Specify the default temperature output data rate in milliseconds (ms). Default is power-up configuration. - - 0 # TMP116_DT_ODR_15_5_MS - - 0x80 # TMP116_DT_ODR_125_MS - - 0x100 # TMP116_DT_ODR_250_MS - - 0x180 # TMP116_DT_ODR_500_MS - - 0x200 # TMP116_DT_ODR_1000_MS - - 0x280 # TMP116_DT_ODR_4000_MS - - 0x300 # TMP116_DT_ODR_8000_MS - - 0x380 # TMP116_DT_ODR_16000_MS + - 0 # TMP11X_DT_ODR_15_5_MS + - 0x80 # TMP11X_DT_ODR_125_MS + - 0x100 # TMP11X_DT_ODR_250_MS + - 0x180 # TMP11X_DT_ODR_500_MS + - 0x200 # TMP11X_DT_ODR_1000_MS + - 0x280 # TMP11X_DT_ODR_4000_MS + - 0x300 # TMP11X_DT_ODR_8000_MS + - 0x380 # TMP11X_DT_ODR_16000_MS oversampling: type: int default: 0x20 @@ -34,7 +34,7 @@ properties: Set number of sample to averaging in one readout. Default is power-up configuration (8 samples). - - 0 # TMP116_DT_OVERSAMPLING_1 - - 0x20 # TMP116_DT_OVERSAMPLING_8 - - 0x40 # TMP116_DT_OVERSAMPLING_32 - - 0x60 # TMP116_DT_OVERSAMPLING_64 + - 0 # TMP11X_DT_OVERSAMPLING_1 + - 0x20 # TMP11X_DT_OVERSAMPLING_8 + - 0x40 # TMP11X_DT_OVERSAMPLING_32 + - 0x60 # TMP11X_DT_OVERSAMPLING_64 diff --git a/include/zephyr/drivers/sensor/tmp116.h b/include/zephyr/drivers/sensor/tmp116.h deleted file mode 100644 index 5efb4ad252a..00000000000 --- a/include/zephyr/drivers/sensor/tmp116.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2021 Innoseis B.V - * - * SPDX-License-Identifier: Apache-2.0 - */ - -#ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMP116_H_ -#define ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMP116_H_ - -#include -#include -#include - -enum sensor_attribute_tmp_116 { - /** Turn on power saving/one shot mode */ - SENSOR_ATTR_TMP116_ONE_SHOT_MODE = SENSOR_ATTR_PRIV_START, - /** Shutdown the sensor */ - SENSOR_ATTR_TMP116_SHUTDOWN_MODE, - /** Turn on continuous conversion */ - SENSOR_ATTR_TMP116_CONTINUOUS_CONVERSION_MODE, -}; - -#define EEPROM_TMP116_SIZE (4 * sizeof(uint16_t)) - -int tmp116_eeprom_read(const struct device *dev, off_t offset, void *data, - size_t len); - -int tmp116_eeprom_write(const struct device *dev, off_t offset, - const void *data, size_t len); - -#endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMP116_H_ */ diff --git a/include/zephyr/drivers/sensor/tmp11x.h b/include/zephyr/drivers/sensor/tmp11x.h new file mode 100644 index 00000000000..10d0b24865d --- /dev/null +++ b/include/zephyr/drivers/sensor/tmp11x.h @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2021 Innoseis B.V + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#ifndef ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMP11X_H_ +#define ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMP11X_H_ + +#include +#include +#include + +enum sensor_attribute_tmp_11x { + /** Turn on power saving/one shot mode */ + SENSOR_ATTR_TMP11X_ONE_SHOT_MODE = SENSOR_ATTR_PRIV_START, + /** Shutdown the sensor */ + SENSOR_ATTR_TMP11X_SHUTDOWN_MODE, + /** Turn on continuous conversion */ + SENSOR_ATTR_TMP11X_CONTINUOUS_CONVERSION_MODE, +}; + +#define EEPROM_TMP11X_SIZE (4 * sizeof(uint16_t)) + +int tmp11x_eeprom_read(const struct device *dev, off_t offset, void *data, + size_t len); + +int tmp11x_eeprom_write(const struct device *dev, off_t offset, + const void *data, size_t len); + +#endif /* ZEPHYR_INCLUDE_DRIVERS_SENSOR_TMP11X_H_ */ diff --git a/include/zephyr/dt-bindings/sensor/tmp116.h b/include/zephyr/dt-bindings/sensor/tmp116.h deleted file mode 100644 index 0ec8a4db758..00000000000 --- a/include/zephyr/dt-bindings/sensor/tmp116.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2024 Vitrolife A/S - * - * SPDX-License-Identifier: Apache-2.0 - */ -#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_TI_TMP116_H_ -#define ZEPHYR_INCLUDE_DT_BINDINGS_TI_TMP116_H_ - -/** - * @defgroup TMP116 Texas Instruments (TI) TMP116 DT Options - * @ingroup sensor_interface - * @{ - */ - -/** - * @defgroup TMP116_ODR Temperature output data rate - * @{ - */ -#define TMP116_DT_ODR_15_5_MS 0 -#define TMP116_DT_ODR_125_MS 0x80 -#define TMP116_DT_ODR_250_MS 0x100 -#define TMP116_DT_ODR_500_MS 0x180 -#define TMP116_DT_ODR_1000_MS 0x200 -#define TMP116_DT_ODR_4000_MS 0x280 -#define TMP116_DT_ODR_8000_MS 0x300 -#define TMP116_DT_ODR_16000_MS 0x380 -/** @} */ - -/** - * @defgroup TMP116_OS Temperature average sample count - * @{ - */ -#define TMP116_DT_OVERSAMPLING_1 0 -#define TMP116_DT_OVERSAMPLING_8 0x20 -#define TMP116_DT_OVERSAMPLING_32 0x40 -#define TMP116_DT_OVERSAMPLING_64 0x60 -/** @} */ - -/** @} */ - -#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_TI_TMP116_H_ */ diff --git a/include/zephyr/dt-bindings/sensor/tmp11x.h b/include/zephyr/dt-bindings/sensor/tmp11x.h new file mode 100644 index 00000000000..b95774fd54d --- /dev/null +++ b/include/zephyr/dt-bindings/sensor/tmp11x.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2024 Vitrolife A/S + * + * SPDX-License-Identifier: Apache-2.0 + */ +#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_TI_TMP11X_H_ +#define ZEPHYR_INCLUDE_DT_BINDINGS_TI_TMP11X_H_ + +/** + * @defgroup TMP11X Texas Instruments (TI) TMP11X DT Options + * @ingroup sensor_interface + * @{ + */ + +/** + * @defgroup TMP11X_ODR Temperature output data rate + * @{ + */ +#define TMP11X_DT_ODR_15_5_MS 0 +#define TMP11X_DT_ODR_125_MS 0x80 +#define TMP11X_DT_ODR_250_MS 0x100 +#define TMP11X_DT_ODR_500_MS 0x180 +#define TMP11X_DT_ODR_1000_MS 0x200 +#define TMP11X_DT_ODR_4000_MS 0x280 +#define TMP11X_DT_ODR_8000_MS 0x300 +#define TMP11X_DT_ODR_16000_MS 0x380 +/** @} */ + +/** + * @defgroup TMP11X_OS Temperature average sample count + * @{ + */ +#define TMP11X_DT_OVERSAMPLING_1 0 +#define TMP11X_DT_OVERSAMPLING_8 0x20 +#define TMP11X_DT_OVERSAMPLING_32 0x40 +#define TMP11X_DT_OVERSAMPLING_64 0x60 +/** @} */ + +/** @} */ + +#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_TI_TMP11X_H_ */ diff --git a/samples/sensor/tmp116/CMakeLists.txt b/samples/sensor/tmp11x/CMakeLists.txt similarity index 92% rename from samples/sensor/tmp116/CMakeLists.txt rename to samples/sensor/tmp11x/CMakeLists.txt index ccbe7ff815a..9241a3e9b27 100644 --- a/samples/sensor/tmp116/CMakeLists.txt +++ b/samples/sensor/tmp11x/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.20.0) find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) -project(tmp116) +project(tmp11x) FILE(GLOB app_sources src/*.c) target_sources(app PRIVATE ${app_sources}) diff --git a/samples/sensor/tmp116/README.rst b/samples/sensor/tmp11x/README.rst similarity index 79% rename from samples/sensor/tmp116/README.rst rename to samples/sensor/tmp11x/README.rst index 87c91f83f3c..1cc257ec70d 100644 --- a/samples/sensor/tmp116/README.rst +++ b/samples/sensor/tmp11x/README.rst @@ -1,19 +1,19 @@ -.. _ti_tmp116_sample: +.. _ti_tmp11x_sample: -TI_TMP116 Sample +TI_TMP11X Sample ################ Description *********** -This sample application periodically takes temperature readings using the ti_tmp116 +This sample application periodically takes temperature readings using the ti_tmp11x sensor driver. The result is written to the console. This sample also included the code -to use the features provided by TMP117, which is a sensor similar to TMP116 +to use the features provided by TMP117 and TMP119, which are sensors similar to TMP116. Requirements ************ -This sample needs a TI TMP116 or TI TMP117 sensor connected to the target board's I2C +This sample needs a TI TMP116, TI TMP117 or TI TMP119 sensor connected to the target board's I2C connector. @@ -38,7 +38,7 @@ In order to build the sample, connect the board to the computer with a USB cable following commands: .. zephyr-app-commands:: - :zephyr-app: samples/sensor/tmp116 + :zephyr-app: samples/sensor/tmp11x :board: nucleo_f401re :goals: build flash :compact: @@ -57,7 +57,7 @@ The output should look like this: .. code-block:: console - Device TMP116 - 0x200010a8 is ready + Device TMP11X - 0x200010a8 is ready temp is 26.7031250 oC temp is 26.7109375 oC ... diff --git a/samples/sensor/tmp116/boards/nucleo_f401re.overlay b/samples/sensor/tmp11x/boards/nucleo_f401re.overlay similarity index 63% rename from samples/sensor/tmp116/boards/nucleo_f401re.overlay rename to samples/sensor/tmp11x/boards/nucleo_f401re.overlay index 0ab15f7bf64..ba29a788bef 100644 --- a/samples/sensor/tmp116/boards/nucleo_f401re.overlay +++ b/samples/sensor/tmp11x/boards/nucleo_f401re.overlay @@ -6,14 +6,14 @@ &i2c1 { - ti_tmp116: ti_tmp116@4b { - compatible = "ti,tmp116"; + ti_tmp11x: ti_tmp11x@4b { + compatible = "ti,tmp11x"; reg = <0x4B>; #address-cells = <1>; #size-cells = <0>; - eeprom: ti_tmp116_eeprom@0 { - compatible = "ti,tmp116-eeprom"; + eeprom: ti_tmp11x_eeprom@0 { + compatible = "ti,tmp11x-eeprom"; reg = <0x0>; read-only; }; diff --git a/samples/sensor/tmp116/prj.conf b/samples/sensor/tmp11x/prj.conf similarity index 85% rename from samples/sensor/tmp116/prj.conf rename to samples/sensor/tmp11x/prj.conf index 27651f09f3f..8bd0810adcc 100644 --- a/samples/sensor/tmp116/prj.conf +++ b/samples/sensor/tmp11x/prj.conf @@ -4,4 +4,4 @@ CONFIG_SENSOR=y CONFIG_SENSOR_INIT_PRIORITY=90 CONFIG_EEPROM=y CONFIG_EEPROM_INIT_PRIORITY=91 -CONFIG_EEPROM_TMP116=y +CONFIG_EEPROM_TMP11X=y diff --git a/samples/sensor/tmp116/sample.yaml b/samples/sensor/tmp11x/sample.yaml similarity index 72% rename from samples/sensor/tmp116/sample.yaml rename to samples/sensor/tmp11x/sample.yaml index 3527b16edca..3246dffedbb 100644 --- a/samples/sensor/tmp116/sample.yaml +++ b/samples/sensor/tmp11x/sample.yaml @@ -1,7 +1,7 @@ sample: - name: TI TMP116 Sensor Sample + name: TI TMP11X Sensor Sample tests: - sample.sensor.tmp116: + sample.sensor.tmp11x: harness: console platform_allow: nucleo_f401re integration_platforms: @@ -12,4 +12,4 @@ tests: type: one_line regex: - "temp is (.*) oC" - fixture: fixture_i2c_tmp116 + fixture: fixture_i2c_tmp11x diff --git a/samples/sensor/tmp116/src/main.c b/samples/sensor/tmp11x/src/main.c similarity index 74% rename from samples/sensor/tmp116/src/main.c rename to samples/sensor/tmp11x/src/main.c index d594a2664d7..1aaa8eb9da8 100644 --- a/samples/sensor/tmp116/src/main.c +++ b/samples/sensor/tmp11x/src/main.c @@ -8,29 +8,29 @@ #include #include #include -#include +#include #include #include -#define TMP116_NODE DT_COMPAT_GET_ANY_STATUS_OKAY(ti_tmp116) -#define TMP116_EEPROM_NODE DT_CHILD(TMP116_NODE, ti_tmp116_eeprom_0) +#define TMP11X_NODE DT_COMPAT_GET_ANY_STATUS_OKAY(ti_tmp11x) +#define TMP11X_EEPROM_NODE DT_CHILD(TMP11X_NODE, ti_tmp11x_eeprom_0) -static uint8_t eeprom_content[EEPROM_TMP116_SIZE]; +static uint8_t eeprom_content[EEPROM_TMP11X_SIZE]; int main(void) { - const struct device *const dev = DEVICE_DT_GET(TMP116_NODE); - const struct device *const eeprom = DEVICE_DT_GET(TMP116_EEPROM_NODE); + const struct device *const dev = DEVICE_DT_GET(TMP11X_NODE); + const struct device *const eeprom = DEVICE_DT_GET(TMP11X_EEPROM_NODE); struct sensor_value temp_value; /* offset to be added to the temperature - * only supported by TMP117 + * only supported by TMP117 and TMP119 */ struct sensor_value offset_value; int ret; - __ASSERT(device_is_ready(dev), "TMP116 device not ready"); - __ASSERT(device_is_ready(eeprom), "TMP116 eeprom device not ready"); + __ASSERT(device_is_ready(dev), "tmp11x device not ready"); + __ASSERT(device_is_ready(eeprom), "tmp11x eeprom device not ready"); printk("Device %s - %p is ready\n", dev->name, dev); @@ -56,7 +56,7 @@ int main(void) SENSOR_ATTR_OFFSET, &offset_value); if (ret) { printk("sensor_attr_set failed ret = %d\n", ret); - printk("SENSOR_ATTR_OFFSET is only supported by TMP117\n"); + printk("SENSOR_ATTR_OFFSET is only supported by TMP117 and TMP119\n"); } while (1) { ret = sensor_sample_fetch(dev); diff --git a/tests/drivers/build_all/eeprom/app.overlay b/tests/drivers/build_all/eeprom/app.overlay index d294de38e6a..999a0e859d8 100644 --- a/tests/drivers/build_all/eeprom/app.overlay +++ b/tests/drivers/build_all/eeprom/app.overlay @@ -55,15 +55,15 @@ /* read-only; */ }; - test_i2c_tmp116: tmp116@2 { + test_i2c_tmp11x: tmp11x@2 { status = "okay"; - compatible = "ti,tmp116"; + compatible = "ti,tmp11x"; reg = <0x2>; #address-cells = <1>; #size-cells = <0>; - test_tmp116_eeprom: ti_tmp116_eeprom@0 { - compatible = "ti,tmp116-eeprom"; + test_tmp11x_eeprom: ti_tmp11x_eeprom@0 { + compatible = "ti,tmp11x-eeprom"; reg = <0x0>; read-only; }; diff --git a/tests/drivers/build_all/sensor/i2c.dtsi b/tests/drivers/build_all/sensor/i2c.dtsi index c58954deeed..9203c24dda6 100644 --- a/tests/drivers/build_all/sensor/i2c.dtsi +++ b/tests/drivers/build_all/sensor/i2c.dtsi @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include /**************************************** @@ -478,11 +478,11 @@ test_i2c_tmp112: tmp112@46 { reg = <0x46>; }; -test_i2c_tmp116: tmp116@47 { - compatible = "ti,tmp116"; +test_i2c_tmp11x: tmp11x@47 { + compatible = "ti,tmp11x"; reg = <0x47>; - odr = ; - oversampling = ; + odr = ; + oversampling = ; }; test_i2c_bq274xx: bq27xx@48 {