diff options
author | Vincent Palatin <vpalatin@chromium.org> | 2016-10-26 13:58:25 +0200 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-10-31 03:27:49 -0700 |
commit | cf7ff32b92275f9d4cce4bc3bcaa7d8890b0cb2e (patch) | |
tree | 37b80e9f034a01ef8c2a38901500266273a9db92 /include/charge_manager.h | |
parent | 34066e92a92b6ff0f1b4b311b46d13b6a4ab45e3 (diff) | |
download | chrome-ec-cf7ff32b92275f9d4cce4bc3bcaa7d8890b0cb2e.tar.gz |
kevin: set accurate current limit on USB load switch
When sourcing current on the type-C port, set the OCP limit on the VBUS
load switch according to current dynamic capability.
(3.0A when only one port is a power source, 1.5A else)
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BRANCH=gru
BUG=chrome-os-partner:56110
TEST=manual: connect Caroline to Kevin with Twinkie in between,
ask Caroline to sink current through the UI.
without anything else connected on Kevin, see 3A flowing when measuring
with Twinkie ('tw vbus'), plug a dangling C-to-A receptacle dongle on
the other Kevin port and see 1.5A flowing through Twinkie.
Force the input current limit on Caroline to 3.0A and see Kevin cutting
VBUS.
Change-Id: Ib879b1ed720b20aa702c5f3643948ba0575d1193
Reviewed-on: https://chromium-review.googlesource.com/403869
Commit-Ready: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'include/charge_manager.h')
-rw-r--r-- | include/charge_manager.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/charge_manager.h b/include/charge_manager.h index 51007f3d7b..939471163b 100644 --- a/include/charge_manager.h +++ b/include/charge_manager.h @@ -120,4 +120,12 @@ int board_set_active_charge_port(int charge_port); */ void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma); +/* + * Get whether the port is sourcing power on VBUS. + * + * @param port PD port. + * @return VBUS power state. + */ +int board_vbus_source_enabled(int port); + #endif /* __CROS_EC_CHARGE_MANAGER_H */ |