diff options
author | Ting Shen <phoenixshen@google.com> | 2021-11-24 15:21:28 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-12-01 07:03:25 +0000 |
commit | 762e1373319c42230923f7310d25a54d64697374 (patch) | |
tree | c6ccfe0c1721bec50d7d1f602ad04c6bf209a4fa /driver/tcpm | |
parent | dde3e173f71a81ab4ecbb2dfaeb188b8ba877fcc (diff) | |
download | chrome-ec-762e1373319c42230923f7310d25a54d64697374.tar.gz |
mt6360/rt1718s: prevent BC1.2 trigger after PD established
Add an extra check to prevent BC 1.2 detection trigger when VBUS state
change after pd connection established (for example, power role swap
or fast role swap) and break the existing USB2 connection.
Note that after this change, BC1.2 detection still triggers when a
PD charger just plugged in, because bc1.2 detection happens before
EC awares that the adapter supports PD.
BUG=b:193753475
TEST=verify BC1.2 detection doesn't trigger in following scenario:
1) power role swap
2) fast role swap
3) plug in USB-C-to-A adapter
BRANCH=asurada
Signed-off-by: Ting Shen <phoenixshen@google.com>
Change-Id: I6657d7f1fd8b8f2aad19744b89f794e107cd45c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3299287
Reviewed-by: Eric Yilun Lin <yllin@google.com>
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Tested-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'driver/tcpm')
-rw-r--r-- | driver/tcpm/rt1718s.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/driver/tcpm/rt1718s.c b/driver/tcpm/rt1718s.c index b152ca602f..beabd8830b 100644 --- a/driver/tcpm/rt1718s.c +++ b/driver/tcpm/rt1718s.c @@ -326,7 +326,11 @@ static void rt1718s_bc12_usb_charger_task(const int port) uint32_t evt = task_wait_event(-1); if (evt & USB_CHG_EVENT_VBUS) { - if (pd_snk_is_vbus_provided(port)) + bool is_non_pd_sink = !pd_capable(port) && + pd_get_power_role(port) == PD_ROLE_SINK && + pd_snk_is_vbus_provided(port); + + if (is_non_pd_sink) rt1718s_enable_bc12_sink(port, true); else rt1718s_update_charge_manager( |