diff options
Diffstat (limited to 'docs/low_battery_startup.md')
-rw-r--r-- | docs/low_battery_startup.md | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/docs/low_battery_startup.md b/docs/low_battery_startup.md index 48f9c28f49..1f94d4956e 100644 --- a/docs/low_battery_startup.md +++ b/docs/low_battery_startup.md @@ -77,8 +77,7 @@ analog signaling alone. Via digital communication in the PD protocol, much higher power states may be negotiated. However, higher power states also usually run at a higher voltage state as well. Any time the voltage level is changing, the power sink (the ChromeOS device) must lower its power consumption during the -transient. The standby current level is governed by -`CONFIG_CHARGER_INPUT_CURRENT`. +transient. PD port partners are capable of both soft and hard resets. Hard resets will cause a dead-bus state for a brief interval before PD can renegotiate, from @@ -169,7 +168,7 @@ is robust enough to support the device during brief intervals of PD negotiation without browning out. ``` -#define CONFIG_CHARGER_INPUT_CURRENT 512 +#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512 #define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 1 ``` @@ -206,7 +205,7 @@ the kernel and get to the login screen. ``` /* Limit battery impact during PD voltage changes. */ -#define CONFIG_CHARGER_INPUT_CURRENT 512 +#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512 /* Distrust the battery SOC measurement a bit. */ #define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 3 @@ -257,7 +256,7 @@ less. Very briefly drawing current out of the battery does not cause a brownout. Example configuration: ``` -#define CONFIG_CHARGER_INPUT_CURRENT 512 +#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512 #define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 3 #define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON 15000 #define CONFIG_CHARGER_LIMIT_POWER_THRESH_CHG_MW 27000 @@ -301,7 +300,7 @@ performing a no-battery boot. Nami is an exemplar. Example configuration: ``` -#define CONFIG_CHARGER_INPUT_CURRENT 512 +#define CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT 512 #define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON_WITH_AC 1 #define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON_WITH_BATT 15000 @@ -337,17 +336,27 @@ Example configuration: ## Configuration Option Details -### `CONFIG_CHARGER_INPUT_CURRENT` +### `CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT` Required. -The lowest current limit programmed into the charger. This determines both the -default level used on startup, and the value used during the voltage transients -in PD negotiation. +The default charger current limit used on startup and for inactive ports. It +should not be higher than 512 mA unless the device ships with a discrete power +supply. Raising this term above 512 mA is contrary to USB-PD. It may be lowered +in order to improve compatibility with marginal BC1.2 chargers. -It should not be higher than 512 mA unless the device ships with a discrete -power supply. Raising this term above 512 mA is contrary to USB-PD. It may be -lowered in order to improve compatibility with marginal BC1.2 chargers. +### `CONFIG_CHARGER_MIN_INPUT_CURRENT_LIMIT` + +Optional. + +If set, charger input current limits will never be set lower than this value. +Historically most boards used the same value +as `CONFIG_CHARGER_DEFAULT_CURRENT_LIMIT`, but doing so violates USB-PD standby +power requirements when voltages greater than 5V are used with the default 512 +mA value. Configuring this option to a nonzero value may be useful if a board +needs extra headroom (possibly at the cost of drawing excess standby power), but +boards should prefer to override `board_set_charge_limit()` instead to limit +situations with excess power draw to only occur when that extra power is needed. ### `CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON` |