diff options
author | Sue Chen <sue.chen@quanta.corp-partner.google.com> | 2021-05-12 16:02:37 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-05-21 06:33:36 +0000 |
commit | 0b39ad253f3e7a8ef8b55a2759a62c453e204102 (patch) | |
tree | f7beb78c5ce6404c286321e9769d0e914acc4d77 | |
parent | 7173c40fc78aea6797a8bcc402e28b4453ca2f1a (diff) | |
download | chrome-ec-0b39ad253f3e7a8ef8b55a2759a62c453e204102.tar.gz |
cherry: Add temp sensor for charger
Using ADC channel 7 to read charger temperature.
BUG=b:187463588
BRANCH=none
TEST=Console commad "temps" and ectool can read the temperature.
Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com>
Change-Id: I031523859c0ff91f0041263ecf6a4a48048da819
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2891283
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
-rw-r--r-- | baseboard/cherry/baseboard.c | 10 | ||||
-rw-r--r-- | baseboard/cherry/baseboard.h | 6 | ||||
-rw-r--r-- | board/cherry/board.h | 5 | ||||
-rw-r--r-- | board/cherry/gpio.inc | 2 |
4 files changed, 22 insertions, 1 deletions
diff --git a/baseboard/cherry/baseboard.c b/baseboard/cherry/baseboard.c index 55131ebce5..6fe3c359ef 100644 --- a/baseboard/cherry/baseboard.c +++ b/baseboard/cherry/baseboard.c @@ -107,9 +107,19 @@ const struct adc_t adc_channels[] = { {"CHARGER_AMON_R", ADC_MAX_MVOLT * 1000 / 17.97, ADC_READ_MAX + 1, 0, CHIP_ADC_CH3}, {"CHARGER_PMON", ADC_MAX_MVOLT, ADC_READ_MAX + 1, 0, CHIP_ADC_CH6}, + {"TEMP_SENSOR_CHG", ADC_MAX_MVOLT, ADC_READ_MAX + 1, 0, CHIP_ADC_CH7}, }; 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 = get_temp_3v3_30k9_47k_4050b, + .idx = ADC_TEMP_SENSOR_CHARGER, + }, +}; + /* PPC */ struct ppc_config_t ppc_chips[CONFIG_USB_PD_PORT_MAX_COUNT] = { { diff --git a/baseboard/cherry/baseboard.h b/baseboard/cherry/baseboard.h index 2510dac5ec..5f7ae7e4f7 100644 --- a/baseboard/cherry/baseboard.h +++ b/baseboard/cherry/baseboard.h @@ -191,11 +191,17 @@ enum adc_channel { ADC_SKU_ID, /* ADC 2 */ ADC_CHARGER_AMON_R, /* ADC 3 */ ADC_CHARGER_PMON, /* ADC 6 */ + ADC_TEMP_SENSOR_CHARGER, /* ADC 7 */ /* Number of ADC channels */ ADC_CH_COUNT, }; +enum temp_sensor_id { + TEMP_SENSOR_CHARGER, + TEMP_SENSOR_COUNT, +}; + enum pwm_channel { PWM_CH_LED1, PWM_CH_LED2, diff --git a/board/cherry/board.h b/board/cherry/board.h index adf049a864..866fd4c823 100644 --- a/board/cherry/board.h +++ b/board/cherry/board.h @@ -66,6 +66,11 @@ /* USB-A */ #define USBA_PORT_COUNT 1 +/* Temperature */ +#define CONFIG_TEMP_SENSOR +#define CONFIG_THERMISTOR +#define CONFIG_STEINHART_HART_3V3_30K9_47K_4050B + #ifndef __ASSEMBLER__ #include "gpio_signal.h" diff --git a/board/cherry/gpio.inc b/board/cherry/gpio.inc index 05f9928e30..111cacd271 100644 --- a/board/cherry/gpio.inc +++ b/board/cherry/gpio.inc @@ -118,7 +118,7 @@ ALTERNATE(PIN_MASK(B, 0x03), 1, MODULE_UART, 0) /* EC to Servo */ ALTERNATE(PIN_MASK(A, 0b11011111), 1, MODULE_PWM, 0) /* PWM 0~4,6,7 */ /* ADC */ -ALTERNATE(PIN_MASK(I, 0x4F), 0, MODULE_ADC, 0) /* ADC 0,1,2,3,6 */ +ALTERNATE(PIN_MASK(I, 0xCF), 0, MODULE_ADC, 0) /* ADC 0,1,2,3,6,7 */ /* SPI */ ALTERNATE(PIN_MASK(M, 0x33), 0, MODULE_SPI, 0) /* SPI */ |