diff options
author | Andrew McRae <amcrae@google.com> | 2020-01-03 15:40:05 +1100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-01-03 07:30:55 +0000 |
commit | 583e01e679d33796cfb54e59b24464a0450e84c8 (patch) | |
tree | 3c948f97431afa9ace9a2adc98b1c8b96c664f0b /board/puff | |
parent | 73c327471750542f789dbe45baebfb9126cdd245 (diff) | |
download | chrome-ec-583e01e679d33796cfb54e59b24464a0450e84c8.tar.gz |
puff: Enable type C power source when requested.
Implement the board function to enable type C power sourcing.
BUG=b:146031922
TEST=Verified on puff, plugged in phone to charge.
BRANCH=none
Change-Id: I4dbdc9d5e5103e48b2d163ccfb841ae615957d0c
Signed-off-by: Andrew McRae <amcrae@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1985727
Tested-by: Andrew McRae <amcrae@chromium.org>
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Commit-Queue: Peter Marheine <pmarheine@chromium.org>
Diffstat (limited to 'board/puff')
-rw-r--r-- | board/puff/usb_pd_policy.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/board/puff/usb_pd_policy.c b/board/puff/usb_pd_policy.c index dd4b8e19bd..f3b9146b0b 100644 --- a/board/puff/usb_pd_policy.c +++ b/board/puff/usb_pd_policy.c @@ -53,6 +53,28 @@ void pd_power_supply_reset(int port) int pd_set_power_supply_ready(int port) { + int rv; + + /* Disable charging. */ + rv = ppc_vbus_sink_enable(port, 0); + if (rv) + return rv; + + pd_set_vbus_discharge(port, 0); + + /* Provide Vbus. */ + rv = ppc_vbus_source_enable(port, 1); + if (rv) + return rv; + +#ifdef CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT + /* Ensure we advertise the proper available current quota */ + charge_manager_source_port(port, 1); +#endif /* defined(CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT) */ + + /* Notify host of power info change. */ + pd_send_host_event(PD_EVENT_POWER_CHANGE); + return EC_SUCCESS; } |