diff options
author | Sumeet Pawnikar <sumeet.r.pawnikar@intel.com> | 2018-06-23 23:44:13 +0530 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-06-28 00:58:04 -0700 |
commit | 750aa8819a330dc52b5df89a0e5e6e905c9f78fb (patch) | |
tree | 8f41268910a9b9ba14fe6d12d0777ffa9079ff61 | |
parent | f8d042c8212c8186f07ef913395d29871db68f38 (diff) | |
download | chrome-ec-750aa8819a330dc52b5df89a0e5e6e905c9f78fb.tar.gz |
nocturne: Add on-board temperature sensors
This patch adds on-board temeprature sensors.
BUG=None
BRANCH=master
TEST=`temps` on EC console shows temperature of sensors.
Change-Id: Ia61b695a6892b2aa042915a427b0d224d09e698e
Signed-off-by: Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/1112896
Commit-Ready: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@chromium.org>
-rw-r--r-- | board/nocturne/board.c | 17 | ||||
-rw-r--r-- | board/nocturne/board.h | 13 |
2 files changed, 30 insertions, 0 deletions
diff --git a/board/nocturne/board.c b/board/nocturne/board.c index 4d5ee9c2db..d140e58c6c 100644 --- a/board/nocturne/board.c +++ b/board/nocturne/board.c @@ -18,6 +18,7 @@ #include "driver/ppc/sn5s330.h" #include "driver/sync.h" #include "driver/tcpm/ps8xxx.h" +#include "driver/temp_sensor/bd99992gw.h" #include "ec_commands.h" #include "extpower.h" #include "gpio.h" @@ -35,6 +36,7 @@ #include "switch.h" #include "task.h" #include "tcpci.h" +#include "temp_sensor.h" #include "usb_mux.h" #include "usb_pd_tcpm.h" #include "usbc_ppc.h" @@ -435,6 +437,21 @@ void board_overcurrent_event(int port) CPRINTS("C%d: overcurrent!", port); } +const struct temp_sensor_t temp_sensors[] = { + {"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_get_battery_temp, 0, 4}, + + /* These BD99992GW temp sensors are only readable in S0 */ + {"Ambient", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, + BD99992GW_ADC_CHANNEL_SYSTHERM0, 4}, + {"Charger", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, + BD99992GW_ADC_CHANNEL_SYSTHERM1, 4}, + {"DRAM", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, + BD99992GW_ADC_CHANNEL_SYSTHERM2, 4}, + {"eMMC", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, + BD99992GW_ADC_CHANNEL_SYSTHERM3, 4}, +}; +BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT); + /* * Check if PMIC fault registers indicate VR fault. If yes, print out fault * register info to console. Additionally, set panic reason so that the OS can diff --git a/board/nocturne/board.h b/board/nocturne/board.h index 0852b4fbb1..2da6136d31 100644 --- a/board/nocturne/board.h +++ b/board/nocturne/board.h @@ -101,6 +101,9 @@ #define CONFIG_ACCELGYRO_BMI160_INT_EVENT TASK_EVENT_CUSTOM(4) #define CONFIG_SYNC #define CONFIG_SYNC_INT_EVENT TASK_EVENT_CUSTOM(8) +#define CONFIG_TEMP_SENSOR +#define CONFIG_TEMP_SENSOR_BD99992GW +#define CONFIG_THERMISTOR_NCP15WB /* SoC */ #define CONFIG_BOARD_HAS_RTC_RESET @@ -160,6 +163,7 @@ #define I2C_PORT_ACCEL I2C_PORT_ALS_GYRO #define I2C_PORT_USB_C0 NPCX_I2C_PORT1_0 #define I2C_PORT_USB_C1 NPCX_I2C_PORT2_0 +#define I2C_PORT_THERMAL I2C_PORT_PMIC #define GPIO_USB_C0_SCL GPIO_EC_I2C1_USB_C0_SCL #define GPIO_USB_C0_SDA GPIO_EC_I2C1_USB_C0_SDA @@ -215,6 +219,15 @@ enum power_signal { POWER_SIGNAL_COUNT }; +enum temp_sensor_id { + TEMP_SENSOR_BATTERY, /* BD99956GW TSENSE */ + TEMP_SENSOR_AMBIENT, /* BD99992GW SYSTHERM0 */ + TEMP_SENSOR_CHARGER, /* BD99992GW SYSTHERM1 */ + TEMP_SENSOR_DRAM, /* BD99992GW SYSTHERM2 */ + TEMP_SENSOR_EMMC, /* BD99992GW SYSTHERM3 */ + TEMP_SENSOR_COUNT +}; + enum pwm_channel { PWM_CH_DB0_LED_RED = 0, PWM_CH_DB0_LED_GREEN, |