diff options
author | Sue Chen <sue.chen@quanta.corp-partner.google.com> | 2021-10-27 15:15:42 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-10-28 20:08:14 +0000 |
commit | a825aa2a66065de6049288de71dcc898cfb0fd27 (patch) | |
tree | b9cbcf6f537d46545057c58adadcf4055d645442 /board/quackingstick | |
parent | 1b1a883d7fcb2f5015e9e9cfd8892c7a3d508ba0 (diff) | |
download | chrome-ec-a825aa2a66065de6049288de71dcc898cfb0fd27.tar.gz |
quackingstick: Add temp sensor
ADC6 (GPIO34) is connected to temp sensor.
Enable ADC6 to read temperature.
BUG=none
BRANCH=trogdor
TEST=EC console "temps" can read temperature.
Signed-off-by: Sue Chen <sue.chen@quanta.corp-partner.google.com>
Change-Id: I9600ea0442a5643ca65a9a484117f2ed47cdc17d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3246876
Reviewed-by: Wai-Hong Tam <waihong@google.com>
Reviewed-by: Bob Moragues <moragues@chromium.org>
Commit-Queue: Bob Moragues <moragues@chromium.org>
Diffstat (limited to 'board/quackingstick')
-rw-r--r-- | board/quackingstick/board.c | 20 | ||||
-rw-r--r-- | board/quackingstick/board.h | 11 | ||||
-rw-r--r-- | board/quackingstick/gpio.inc | 3 |
3 files changed, 33 insertions, 1 deletions
diff --git a/board/quackingstick/board.c b/board/quackingstick/board.c index 77de13e85d..bd652e7dc0 100644 --- a/board/quackingstick/board.c +++ b/board/quackingstick/board.c @@ -34,6 +34,9 @@ #include "switch.h" #include "tablet_mode.h" #include "task.h" +#include "temp_sensor.h" +#include "temp_sensor/thermistor.h" +#include "thermal.h" #include "usbc_ppc.h" #define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args) @@ -152,9 +155,26 @@ const struct adc_t adc_channels[] = { ADC_READ_MAX + 1, 0 }, + [ADC_SYSTHERM2] = { + "SYSTHERM2", + NPCX_ADC_CH6, + ADC_MAX_VOLT, + ADC_READ_MAX + 1, + 0, + }, }; BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT); +const struct temp_sensor_t temp_sensors[] = { + [TEMP_SENSOR_SYS2] = { + .name = "SYSTEMP2", + .type = TEMP_SENSOR_TYPE_BOARD, + .read = get_temp_3v3_30k9_47k_4050b, + .idx = ADC_SYSTHERM2, + }, +}; +BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT); + const struct pwm_t pwm_channels[] = { /* TODO(waihong): Assign a proper frequency. */ [PWM_CH_DISPLIGHT] = { .channel = 5, .flags = 0, .freq = 4800 }, diff --git a/board/quackingstick/board.h b/board/quackingstick/board.h index 7b694ef4b1..1950fbe34d 100644 --- a/board/quackingstick/board.h +++ b/board/quackingstick/board.h @@ -74,6 +74,11 @@ #define GPIO_WP_L GPIO_EC_FLASH_WP_ODL #define GPIO_PMIC_RESIN_L GPIO_PM845_RESIN_L +/* temp */ +#define CONFIG_TEMP_SENSOR +#define CONFIG_THERMISTOR +#define CONFIG_STEINHART_HART_3V3_30K9_47K_4050B + #ifndef __ASSEMBLER__ #include "gpio_signal.h" @@ -84,9 +89,15 @@ enum adc_channel { ADC_AMON_BMON, ADC_PSYS, ADC_BASE_DET, + ADC_SYSTHERM2, ADC_CH_COUNT }; +enum temp_sensor_id { + TEMP_SENSOR_SYS2, + TEMP_SENSOR_COUNT +}; + /* Motion sensors */ enum sensor_id { LID_ACCEL = 0, diff --git a/board/quackingstick/gpio.inc b/board/quackingstick/gpio.inc index b45bb6476c..09983989d2 100644 --- a/board/quackingstick/gpio.inc +++ b/board/quackingstick/gpio.inc @@ -89,6 +89,7 @@ GPIO(EDP_BKLTCTL, PIN(B, 7), GPIO_INPUT) /* PWM5 */ GPIO(PPVAR_BOOSTIN_SENSE, PIN(4, 4), GPIO_INPUT) /* ADC1 */ GPIO(CHARGER_IADP, PIN(4, 3), GPIO_INPUT) /* ADC2 */ GPIO(CHARGER_PMON, PIN(4, 2), GPIO_INPUT) /* ADC3 */ +GPIO(SYSTHERM2_CHARGER, PIN(3, 4), GPIO_INPUT) /* ADC6 */ /* I2C */ GPIO(EC_I2C_POWER_SCL, PIN(B, 5), GPIO_INPUT) @@ -165,7 +166,6 @@ UNUSED(PIN(3, 5)) UNUSED(PIN(7, 2)) UNUSED(PIN(8, 1)) UNUSED(PIN(7, 6)) -UNUSED(PIN(3, 4)) UNUSED(PIN(C, 6)) UNUSED(PIN(C, 0)) UNUSED(PIN(A, 3)) @@ -186,6 +186,7 @@ ALTERNATE(PIN_MASK(8, 0x80), 1, MODULE_I2C, 0) /* I2C1 SCL (GPIO87) ALTERNATE(PIN_MASK(3, 0x48), 1, MODULE_I2C, 0) /* I2C5 (GPIO33/36) */ ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, GPIO_SEL_1P8V) /* I2C7 (GPIOB2/B3) - 1.8V */ ALTERNATE(PIN_MASK(D, 0x03), 1, MODULE_I2C, 0) /* I2C3 (GPIOD0/D1) */ +ALTERNATE(PIN_MASK(3, 0x10), 0, MODULE_ADC, 0) /* ADC6 (GPIO34) */ ALTERNATE(PIN_MASK(4, 0x1C), 0, MODULE_ADC, 0) /* ADC1 (GPIO44), ADC2 (GPIO43), ADC3 (GPIO42) */ ALTERNATE(PIN_MASK(4, 0xC0), 1, MODULE_SPI, GPIO_SEL_1P8V) /* SHI_SDO (GPIO47), SHI_SDI (GPIO46) */ ALTERNATE(PIN_MASK(5, 0x28), 1, MODULE_SPI, GPIO_SEL_1P8V) /* SHI_SCLK (GPIO55), SHI_CS# (GPIO53) */ |