From e2a86fa31cda43b76ddfec4df6a1a9cf91f90e6c Mon Sep 17 00:00:00 2001 From: Devin Lu Date: Thu, 4 Jun 2020 08:58:12 +0800 Subject: zork/baseboard: move temperature sensors definition to board variant There are some differences with temperature sensors for each zork variant. This patch move temperature sensors definition to board variant. BUG=b:157711232 BRANCH=none TEST=Verified console "temps" can read temperature. Build all zork board variant. Signed-off-by: Devin Lu Change-Id: Ib109ea5adc98e6b6825f8c91db19911dc682a52e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2227787 Reviewed-by: Edward Hill Commit-Queue: Edward Hill Tested-by: Edward Hill --- board/trembyle/board.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ board/trembyle/board.h | 13 +++++++++++++ 2 files changed, 57 insertions(+) (limited to 'board/trembyle') diff --git a/board/trembyle/board.c b/board/trembyle/board.c index 73dcf89f72..2a5abb448c 100644 --- a/board/trembyle/board.c +++ b/board/trembyle/board.c @@ -5,6 +5,8 @@ /* Trembyle board configuration */ +#include "adc.h" +#include "adc_chip.h" #include "button.h" #include "cbi_ec_fw_config.h" #include "driver/accelgyro_bmi_common.h" @@ -12,6 +14,7 @@ #include "driver/accel_kx022.h" #include "driver/retimer/pi3dpx1207.h" #include "driver/retimer/ps8811.h" +#include "driver/temp_sensor/sb_tsi.h" #include "driver/usb_mux/amd_fp5.h" #include "extpower.h" #include "fan.h" @@ -26,6 +29,7 @@ #include "switch.h" #include "system.h" #include "task.h" +#include "temp_sensor.h" #include "usb_charge.h" #include "usb_mux.h" @@ -341,6 +345,46 @@ const struct fan_t fans[] = { }; BUILD_ASSERT(ARRAY_SIZE(fans) == FAN_CH_COUNT); +const struct adc_t adc_channels[] = { + [ADC_TEMP_SENSOR_CHARGER] = { + .name = "CHARGER", + .input_ch = NPCX_ADC_CH2, + .factor_mul = ADC_MAX_VOLT, + .factor_div = ADC_READ_MAX + 1, + .shift = 0, + }, + [ADC_TEMP_SENSOR_SOC] = { + .name = "SOC", + .input_ch = NPCX_ADC_CH3, + .factor_mul = ADC_MAX_VOLT, + .factor_div = ADC_READ_MAX + 1, + .shift = 0, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT); + +const struct temp_sensor_t temp_sensors[] = { + [TEMP_SENSOR_CHARGER] = { + .name = "Charger", + .type = TEMP_SENSOR_TYPE_BOARD, + .read = board_get_temp, + .idx = TEMP_SENSOR_CHARGER, + }, + [TEMP_SENSOR_SOC] = { + .name = "SOC", + .type = TEMP_SENSOR_TYPE_BOARD, + .read = board_get_temp, + .idx = TEMP_SENSOR_SOC, + }, + [TEMP_SENSOR_CPU] = { + .name = "CPU", + .type = TEMP_SENSOR_TYPE_CPU, + .read = sb_tsi_get_val, + .idx = 0, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT); + const static struct ec_thermal_config thermal_thermistor = { .temp_host = { [EC_TEMP_THRESH_HIGH] = C_TO_K(90), diff --git a/board/trembyle/board.h b/board/trembyle/board.h index a520b1279a..5be32fff01 100644 --- a/board/trembyle/board.h +++ b/board/trembyle/board.h @@ -63,6 +63,12 @@ #ifndef __ASSEMBLER__ +enum adc_channel { + ADC_TEMP_SENSOR_CHARGER, + ADC_TEMP_SENSOR_SOC, + ADC_CH_COUNT +}; + enum battery_type { BATTERY_AP18F4M, BATTERY_TYPE_COUNT, @@ -80,6 +86,13 @@ enum pwm_channel { PWM_CH_COUNT }; +enum temp_sensor_id { + TEMP_SENSOR_CHARGER = 0, + TEMP_SENSOR_SOC, + TEMP_SENSOR_CPU, + TEMP_SENSOR_COUNT +}; + /***************************************************************************** * CBI EC FW Configuration -- cgit v1.2.1