summaryrefslogtreecommitdiff
path: root/board/quackingstick
diff options
context:
space:
mode:
authorSue Chen <sue.chen@quanta.corp-partner.google.com>2021-10-27 15:15:42 +0800
committerCommit Bot <commit-bot@chromium.org>2021-10-28 20:08:14 +0000
commita825aa2a66065de6049288de71dcc898cfb0fd27 (patch)
treeb9cbcf6f537d46545057c58adadcf4055d645442 /board/quackingstick
parent1b1a883d7fcb2f5015e9e9cfd8892c7a3d508ba0 (diff)
downloadchrome-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.c20
-rw-r--r--board/quackingstick/board.h11
-rw-r--r--board/quackingstick/gpio.inc3
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) */