summaryrefslogtreecommitdiff
path: root/common/usbc/usb_tc_ctvpd_sm.c
diff options
context:
space:
mode:
authorJett Rink <jettrink@chromium.org>2019-10-17 09:33:31 -0600
committerCommit Bot <commit-bot@chromium.org>2019-10-24 18:01:17 +0000
commite248f208ab8a55667bfe60ce48a188fc1a4620cc (patch)
tree2b3955afb2a53432c09467998e930407a47f02c1 /common/usbc/usb_tc_ctvpd_sm.c
parent39f7d5d0e5c3ae72b9837a676fac401dfe51e745 (diff)
downloadchrome-ec-e248f208ab8a55667bfe60ce48a188fc1a4620cc.tar.gz
cleanup: clean up reference to power role vs cable plug
The PD header specifies the power role for SOP packets and cable plug for SOP' and SOP" packets. Refactor code to make this more obvious. BRANCH=none BUG=none TEST=builds and new stack runs on hatch Change-Id: I6cdb1561082d2142214ac65703ff42586b16d70b Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1865986 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'common/usbc/usb_tc_ctvpd_sm.c')
-rw-r--r--common/usbc/usb_tc_ctvpd_sm.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/common/usbc/usb_tc_ctvpd_sm.c b/common/usbc/usb_tc_ctvpd_sm.c
index de4bcedf66..c935be380f 100644
--- a/common/usbc/usb_tc_ctvpd_sm.c
+++ b/common/usbc/usb_tc_ctvpd_sm.c
@@ -39,10 +39,6 @@
static struct type_c {
/* state machine context */
struct sm_ctx ctx;
- /* current port power role (VPD, SOURCE or SINK) */
- enum pd_power_role power_role;
- /* current port data role (DFP or UFP) */
- enum pd_data_role data_role;
/* Higher-level power deliver state machines are enabled if true. */
uint8_t pd_enable;
/* port flags, see TC_FLAGS_* */
@@ -143,14 +139,24 @@ static void set_state_tc(const int port, enum usb_tc_state new_state);
enum pd_power_role tc_get_power_role(int port)
{
- return tc[port].power_role;
+ /* Vconn power device is always the sink */
+ return PD_ROLE_SINK;
+}
+
+enum pd_cable_plug tc_get_cable_plug(int port)
+{
+ /* Vconn power device is always the cable */
+ return PD_PLUG_FROM_CABLE;
}
enum pd_data_role tc_get_data_role(int port)
{
- return tc[port].data_role;
+ /* Vconn power device doesn't have a data role, but UFP matches SNK */
+ return PD_ROLE_UFP;
}
+/* Note tc_set_power_role and tc_set_data_role are unimplemented */
+
uint8_t tc_get_polarity(int port)
{
/* Does not track polarity */
@@ -162,11 +168,6 @@ uint8_t tc_get_pd_enabled(int port)
return tc[port].pd_enable;
}
-void tc_set_power_role(int port, enum pd_power_role role)
-{
- tc[port].power_role = role;
-}
-
void tc_reset_support_timer(int port)
{
tc[port].support_timer_reset |= SUPPORT_TIMER_RESET_REQUEST;
@@ -185,8 +186,6 @@ void tc_state_init(int port)
/* Disable pd state machines */
tc[port].pd_enable = 0;
- tc[port].power_role = PD_PLUG_CABLE_VPD;
- tc[port].data_role = 0; /* Reserved for VPD */
tc[port].billboard_presented = 0;
tc[port].flags = 0;
}