diff options
-rw-r--r-- | power/common.c | 2 | ||||
-rw-r--r-- | zephyr/Kconfig | 1 | ||||
-rw-r--r-- | zephyr/Kconfig.battery | 52 | ||||
-rw-r--r-- | zephyr/shim/include/config_chip.h | 20 |
4 files changed, 75 insertions, 0 deletions
diff --git a/power/common.c b/power/common.c index ea6190d523..6f14e69989 100644 --- a/power/common.c +++ b/power/common.c @@ -663,6 +663,8 @@ void chipset_task(void *u) static uint32_t last_in_signals; while (1) { + msleep(100); + continue; /* * In order to prevent repeated console spam, only print the * current power state if something has actually changed. It's diff --git a/zephyr/Kconfig b/zephyr/Kconfig index fcb7df19c9..8e533f7718 100644 --- a/zephyr/Kconfig +++ b/zephyr/Kconfig @@ -12,6 +12,7 @@ menuconfig PLATFORM_EC if PLATFORM_EC +rsource "Kconfig.battery" rsource "Kconfig.powerseq" rsource "Kconfig.tasks" diff --git a/zephyr/Kconfig.battery b/zephyr/Kconfig.battery new file mode 100644 index 0000000000..840408c188 --- /dev/null +++ b/zephyr/Kconfig.battery @@ -0,0 +1,52 @@ +# Copyright 2020 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. + +config PLATFORM_EC_BATTERY + bool "Support batteries" + help + Enables battery support on the board. Requires selection of a battery + and a charger IC. + + If using I2C batteries, you must dedine I2C_PORT_BATTERY in your + board's i2c_map.h file so that the EC code will know which I2C + port the battery is on. + +if PLATFORM_EC_BATTERY + +choice "Battery select" + prompt "Select the battery to use" + help + Select the battery used on the board. If you are ensure, select the + smart battery option. + +config PLATFORM_EC_BATTERY_SMART + bool "Support a smart battery" + depends on PLATFORM_EC_I2C + help + Many batteries support the Smart Battery Specification and therefore + have common registers which can be accessed to control and monitor + the battery. + + See here for the spec: http://sbs-forum.org/specs/sbdat110.pdf + +endchoice + +choice "Charger select" + prompt "Select the charger to use" + help + Select the battery charger IC used on the board. Only one charger may + be selected. + +config PLATFORM_EC_CHARGER_ISL9237 + bool "Use the ISL9237 charger" + depends on PLATFORM_EC_I2C + help + Enables a driver for the ISL9237 VCD Battery Charger. This is a + buck-boost, narrow-output-voltage charger supporting an input voltage + of 3.2-23.4V and output of 2.4 V-13.8V. It provides an I2C interace + for configuration. + +endchoice + +endif # PLATFORM_EC_BATTERY diff --git a/zephyr/shim/include/config_chip.h b/zephyr/shim/include/config_chip.h index 4759e6373e..3e5eaaf6a1 100644 --- a/zephyr/shim/include/config_chip.h +++ b/zephyr/shim/include/config_chip.h @@ -26,6 +26,26 @@ #define CONFIG_CHIPSET_TIGERLAKE #endif +/* Battery configuration */ +#undef CONFIG_BATTERY +#undef CONFIG_BATTERY_FUEL_GAUGE +#ifdef CONFIG_PLATFORM_EC_BATTERY +#define CONFIG_BATTERY +#define CONFIG_BATTERY_FUEL_GAUGE +#endif + +#undef CONFIG_CHARGER_ISL9237 +#ifdef CONFIG_PLATFORM_EC_CHARGER_ISL9237 +#define CONFIG_CHARGER_ISL9237 +/* Hardware based charge ramp is broken in the ISL9241 (b/169350714) */ +#define CONFIG_CHARGE_RAMP_SW +#endif + +#undef CONFIG_BATTERY_SMART +#ifdef CONFIG_PLATFORM_EC_BATTERY_SMART +#define CONFIG_BATTERY_SMART +#endif + /* eSPI configuration */ #ifdef CONFIG_PLATFORM_EC_ESPI |