summaryrefslogtreecommitdiff
path: root/board/homestar
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2021-06-22 21:24:06 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-13 17:33:59 +0000
commit193b7fcffe40413fd70e222ee52106baf0d844aa (patch)
tree8d913e9e9727a4f068c9d016fc532230f344a07b /board/homestar
parent5cc260eb5247184fb3df539a68ef7929407f1938 (diff)
downloadchrome-ec-193b7fcffe40413fd70e222ee52106baf0d844aa.tar.gz
chgstv2: Unify power-on and shutdown battery thresholds
Currently, power-on battery SoC and shutdown battery SoC are independently configured by each board. This patch will unify the setting as follows: CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON = 2 (don't boot if soc < 2%) CONFIG_BATT_HOST_SHUTDOWN_PERCENTAGE = 2 (shutdown if soc <= 2%) BATTERY_LEVEL_SHUTDOWN = 3 (shutdown if soc < 3%) CONFIG_BATTERY_EXPORT_DISPLAY_SOC = Y (removed) CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON_WITH_AC = 1 This allows us to show the low battery alert whenever we can because EC doesn't inhibit power-on even if it knows the host would immediately shut down. With CONFIG_BATTERY_EXPORT_DISPLAY_SOC, boards will start using the CONFIG_BATT_HOST_SHUTDOWN_PERCENTAGE = 2% as the low battery threshold (and the SoC will be agreed between the EC and Powerd). Boards with CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON = 1 will keep the same threshold. This is for avoiding degrading the UX by increasing the power-on threshold (even though a question that 1% may not be enough for soft sync to finish consistently remains to be answered). Boards with CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON > 2 will have a lower threshold but we think 2% is enough to finish the software sync. A lower threshold also improves the UX by showing the low battery alert in the situation where otherwise the system would leave the user uninformed by not responding to a power button press. BUG=b:191837893 BRANCH=None TEST=buildall Change-Id: If6ff733bc181f929561a3fffb8a84e760668ce37 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2981468 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3872712
Diffstat (limited to 'board/homestar')
-rw-r--r--board/homestar/board.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/board/homestar/board.h b/board/homestar/board.h
new file mode 100644
index 0000000000..1c3a114a71
--- /dev/null
+++ b/board/homestar/board.h
@@ -0,0 +1,126 @@
+/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+/* Homestar board configuration */
+
+#ifndef __CROS_EC_BOARD_H
+#define __CROS_EC_BOARD_H
+
+#include "baseboard.h"
+
+/* On-body detection */
+#define CONFIG_BODY_DETECTION
+#define CONFIG_BODY_DETECTION_SENSOR LID_ACCEL
+#define CONFIG_BODY_DETECTION_VAR_NOISE_FACTOR 150 /* % */
+#define CONFIG_GESTURE_DETECTION
+#define CONFIG_GESTURE_DETECTION_MASK BIT(CONFIG_BODY_DETECTION_SENSOR)
+#define CONFIG_GESTURE_HOST_DETECTION
+
+/* TODO(waihong): Remove the following bringup features */
+#define CONFIG_BRINGUP
+#define CONFIG_SYSTEM_UNLOCKED /* Allow dangerous commands. */
+#define CONFIG_USB_PD_DEBUG_LEVEL 3
+#define CONFIG_CMD_GPIO_EXTENDED
+#define CONFIG_CMD_POWERINDEBUG
+#define CONFIG_I2C_DEBUG
+#define CONFIG_DEVICE_EVENT
+
+#define CONFIG_BUTTON_TRIGGERED_RECOVERY
+
+/* Internal SPI flash on NPCX7 */
+#define CONFIG_FLASH_SIZE_BYTES (512 * 1024) /* 512KB internal spi flash */
+
+/* Switchcap */
+#define CONFIG_LN9310
+
+/* Battery */
+#define CONFIG_BATTERY_DEVICE_CHEMISTRY "LION"
+#define CONFIG_BATTERY_REVIVE_DISCONNECT
+#define CONFIG_BATTERY_FUEL_GAUGE
+#define CONFIG_BATTERY_VENDOR_PARAM
+
+/* Enable PD3.0 */
+#define CONFIG_USB_PD_REV30
+
+/* BC 1.2 Charger */
+#define CONFIG_BC12_DETECT_PI3USB9201
+
+/* USB */
+#define CONFIG_USB_PD_TCPM_MULTI_PS8XXX
+#define CONFIG_USB_PD_TCPM_PS8755
+#define CONFIG_USB_PD_TCPM_PS8805
+#define CONFIG_USBC_PPC_SN5S330
+#define CONFIG_USB_PD_PORT_MAX_COUNT 2
+
+/* BMI160 Lid accel/gyro */
+#define CONFIG_ACCELGYRO_BMI160
+#define CONFIG_ACCEL_INTERRUPTS
+#define CONFIG_ACCELGYRO_BMI160_INT_EVENT \
+ TASK_EVENT_MOTION_SENSOR_INTERRUPT(LID_ACCEL)
+#define OPT3001_I2C_ADDR_FLAGS OPT3001_I2C_ADDR1_FLAGS
+
+#define CONFIG_TABLET_MODE
+#define CONFIG_TABLET_MODE_SWITCH
+#define CONFIG_GMR_TABLET_MODE
+#define CONFIG_FRONT_PROXIMITY_SWITCH
+
+#define CONFIG_DETACHABLE_BASE
+#define CONFIG_BASE_ATTACHED_SWITCH
+
+/* GPIO alias */
+#define GPIO_AC_PRESENT GPIO_CHG_ACOK_OD
+#define GPIO_WP_L GPIO_EC_FLASH_WP_ODL
+#define GPIO_PMIC_RESIN_L GPIO_PM845_RESIN_L
+/* TODO(Dolan): check which pin was used for tablet mode detect */
+#define GMR_TABLET_MODE_GPIO_L GPIO_LID_OPEN_EC
+#define GPIO_SWITCHCAP_PG_INT_L GPIO_LN9310_INT
+
+#define CONFIG_MKBP_INPUT_DEVICES
+
+#ifndef __ASSEMBLER__
+
+#include "gpio_signal.h"
+#include "registers.h"
+
+enum adc_channel {
+ ADC_VBUS,
+ ADC_AMON_BMON,
+ ADC_PSYS,
+ ADC_BASE_DET,
+ ADC_CH_COUNT
+};
+
+/* Motion sensors */
+enum sensor_id {
+ LID_ACCEL = 0,
+ LID_GYRO,
+ SENSOR_COUNT,
+};
+
+enum pwm_channel {
+ PWM_CH_DISPLIGHT = 0,
+ PWM_CH_COUNT
+};
+
+/* List of possible batteries */
+enum battery_type {
+ BATTERY_GH02047XL_1C,
+ BATTERY_GH02047XL,
+ BATTERY_DS02032XL,
+ BATTERY_DS02032XL_1C,
+ BATTERY_L21D4PG0,
+ BATTERY_L21M4PG0,
+ BATTERY_TYPE_COUNT,
+};
+
+/* Reset all TCPCs. */
+void board_reset_pd_mcu(void);
+void board_set_tcpc_power_mode(int port, int mode);
+/* Base detection */
+void base_detect_interrupt(enum gpio_signal signal);
+
+#endif /* !defined(__ASSEMBLER__) */
+
+#endif /* __CROS_EC_BOARD_H */