diff options
author | Logan_Liao <Logan_Liao@compal.corp-partner.google.com> | 2023-02-24 11:19:23 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-03-15 02:55:30 +0000 |
commit | 141fa4916511ee3162c8067041f4ee21b00f194e (patch) | |
tree | b4de84b2689ac24f82e5075ad99b1ab5fd4fdb84 /zephyr/shim | |
parent | b68720a8a6492445555253308fbcae7ab53ecea1 (diff) | |
download | chrome-ec-141fa4916511ee3162c8067041f4ee21b00f194e.tar.gz |
Zephyr: Correct Temp sensor F75303 read methond.
This patch correct F75303 read fail on zephyr.
BUG=b:269786658
BRANCH=none
TEST=test markarth console that temps show right value.
Change-Id: I315d80e2166d0b5f4d69f4e671846abe52fccbba
Signed-off-by: Logan_Liao <Logan_Liao@compal.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4290094
Reviewed-by: Logan Liao <logan_liao@compal.corp-partner.google.com>
Tested-by: Logan Liao <logan_liao@compal.corp-partner.google.com>
Reviewed-by: Chao Gui <chaogui@google.com>
Commit-Queue: Logan Liao <logan_liao@compal.corp-partner.google.com>
Diffstat (limited to 'zephyr/shim')
-rw-r--r-- | zephyr/shim/include/temp_sensor/temp_sensor.h | 18 | ||||
-rw-r--r-- | zephyr/shim/src/temp_sensors.c | 25 |
2 files changed, 19 insertions, 24 deletions
diff --git a/zephyr/shim/include/temp_sensor/temp_sensor.h b/zephyr/shim/include/temp_sensor/temp_sensor.h index d35a283a41..5159c0b325 100644 --- a/zephyr/shim/include/temp_sensor/temp_sensor.h +++ b/zephyr/shim/include/temp_sensor/temp_sensor.h @@ -149,21 +149,15 @@ enum tmp112_sensor { /* F75303 access array */ /* - * Get the F75303 sensor ID from a hardware device node. + * Get the F75303 sensor ID. + * + * The F75303 driver only supports a single device instance on the board. Each + * device supports 3 temperature sensor types: local, remote1, and remote2. + * Use the temperature sensor type as the sensor ID. * * @param node_id: node id of a hardware F75303 sensor node */ -#define F75303_SENSOR_ID(node_id) DT_CAT(F75303_, node_id) -#define F75303_SENSOR_ID_WITH_COMMA(node_id) F75303_SENSOR_ID(node_id), - -/* clang-format off */ -enum f75303_sensor { - DT_FOREACH_STATUS_OKAY(F75303_COMPAT, F75303_SENSOR_ID_WITH_COMMA) - F75303_IDX_COUNT, -}; -/* clang-format on */ - -#undef F75303_SENSOR_ID_WITH_COMMA +#define F75303_SENSOR_ID(node_id) DT_STRING_TOKEN(node_id, temperature_type) struct zephyr_temp_sensor { /* Read sensor value in K into temp_ptr; return non-zero if error. */ diff --git a/zephyr/shim/src/temp_sensors.c b/zephyr/shim/src/temp_sensors.c index 439ea917f9..b0913a3835 100644 --- a/zephyr/shim/src/temp_sensors.c +++ b/zephyr/shim/src/temp_sensors.c @@ -6,9 +6,9 @@ #include "adc.h" #include "charger/chg_rt9490.h" #include "driver/charger/rt9490.h" -#include "driver/temp_sensor/f75303.h" #include "hooks.h" #include "temp_sensor.h" +#include "temp_sensor/f75303.h" #include "temp_sensor/pct2075.h" #include "temp_sensor/sb_tsi.h" #include "temp_sensor/temp_sensor.h" @@ -210,25 +210,26 @@ __maybe_unused static int f75303_get_temp(const struct temp_sensor_t *sensor, } #endif /* f75303_COMPAT */ -#define DEFINE_F75303_DATA(node_id) \ - [F75303_SENSOR_ID(node_id)] = { \ - .i2c_port = I2C_PORT_BY_DEV(node_id), \ - .i2c_addr_flags = DT_REG_ADDR(node_id), \ +#define DEFINE_F75303_DATA(sensor_id) \ + [F75303_SENSOR_ID(sensor_id)] = { \ + .i2c_port = I2C_PORT_BY_DEV(sensor_id), \ + .i2c_addr_flags = DT_REG_ADDR(sensor_id), \ }, -#define GET_ZEPHYR_TEMP_SENSOR_F75303(named_id) \ +#define GET_ZEPHYR_TEMP_SENSOR_F75303(named_id, sensor_id) \ (&(const struct zephyr_temp_sensor){ \ .read = &f75303_get_temp, \ .thermistor = NULL, \ .update_temperature = f75303_update_temperature, \ FILL_POWER_GOOD(named_id) }) -#define TEMP_F75303(named_id, sensor_id) \ - [TEMP_SENSOR_ID(named_id)] = { \ - .name = DT_NODE_FULL_NAME(sensor_id), \ - .idx = F75303_SENSOR_ID(sensor_id), \ - .type = TEMP_SENSOR_TYPE_BOARD, \ - .zephyr_info = GET_ZEPHYR_TEMP_SENSOR_F75303(named_id), \ +#define TEMP_F75303(named_id, sensor_id) \ + [TEMP_SENSOR_ID(named_id)] = { \ + .name = DT_NODE_FULL_NAME(sensor_id), \ + .idx = F75303_SENSOR_ID(sensor_id), \ + .type = TEMP_SENSOR_TYPE_BOARD, \ + .zephyr_info = \ + GET_ZEPHYR_TEMP_SENSOR_F75303(named_id, sensor_id), \ } const struct f75303_sensor_t f75303_sensors[F75303_IDX_COUNT] = { |