aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2023-08-06 21:45:58 +0100
committerMarc Zyngier <maz@kernel.org>2023-08-27 10:32:57 +0100
commitb648a146d8754020a9163ce836a7468e0fd9e41d (patch)
tree65bdddf0fdcfbe34f56906cf936816cc15f47141
parentc824aa5ddd5b79b10f0d99b441dae9c89cee9730 (diff)
downloadcs-sw-b648a146d8754020a9163ce836a7468e0fd9e41d.tar.gz
Turn VBUS off in DISCONNECTED state without CC
Signed-off-by: Marc Zyngier <maz@kernel.org>
-rw-r--r--vdmtool.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/vdmtool.c b/vdmtool.c
index 5107b6f..5b7039c 100644
--- a/vdmtool.c
+++ b/vdmtool.c
@@ -576,9 +576,12 @@ static void state_machine(struct vdm_context *cxt)
int16_t cc1 = -1, cc2 = -1;
fusb302_tcpm_get_cc(PORT(cxt), &cc1, &cc2);
dprintf(cxt, "Poll: cc1=%d cc2=%d\n", (int)cc1, (int)cc2);
- sleep_ms(200);
- if (cc1 >= 2 || cc2 >= 2)
+ if (cc1 >= 2 || cc2 >= 2) {
+ sleep_ms(200);
evt_dfpconnect(cxt);
+ } else {
+ vbus_off(cxt);
+ }
break;
}
case STATE_CONNECTED:{