summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSue Chen <sue.chen@quanta.corp-partner.google.com>2021-05-12 16:02:37 +0800
committerCommit Bot <commit-bot@chromium.org>2021-05-21 06:33:36 +0000
commit0b39ad253f3e7a8ef8b55a2759a62c453e204102 (patch)
treef7beb78c5ce6404c286321e9769d0e914acc4d77
parent7173c40fc78aea6797a8bcc402e28b4453ca2f1a (diff)
downloadchrome-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.c10
-rw-r--r--baseboard/cherry/baseboard.h6
-rw-r--r--board/cherry/board.h5
-rw-r--r--board/cherry/gpio.inc2
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 */