summaryrefslogtreecommitdiff
path: root/common/usbc
diff options
context:
space:
mode:
authorVijay Hiremath <vijay.p.hiremath@intel.com>2020-01-07 12:05:15 -0800
committerCommit Bot <commit-bot@chromium.org>2020-01-14 01:43:41 +0000
commit329045e9bcd3af6294460fcf0ab9be5fa583c1c7 (patch)
tree66984ce21b88984040f632a7fbdca960335a64a1 /common/usbc
parentcb9c91ae78238429e0e7a1514333bc5fe8238431 (diff)
downloadchrome-ec-329045e9bcd3af6294460fcf0ab9be5fa583c1c7.tar.gz
TCPMv1 & TCPMv2: Move common functions to common code
BUG=b:147249926, b:146623068 BRANCH=none TEST=make buildall -j Change-Id: Ibb24bdad4e9ec24b02106c05ca5fe51269efcb1c Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1990425 Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'common/usbc')
-rw-r--r--common/usbc/usb_pe_drp_sm.c2
-rw-r--r--common/usbc/usb_tc_drp_acc_trysrc_sm.c9
-rw-r--r--common/usbc/usbc_task.c40
3 files changed, 8 insertions, 43 deletions
diff --git a/common/usbc/usb_pe_drp_sm.c b/common/usbc/usb_pe_drp_sm.c
index 089f698329..fb20f952f5 100644
--- a/common/usbc/usb_pe_drp_sm.c
+++ b/common/usbc/usb_pe_drp_sm.c
@@ -877,7 +877,7 @@ static void pe_send_request_msg(int port)
pd_build_request(pe[port].src_cap_cnt, pe[port].src_caps,
pe[port].vpd_vdo, &rdo, &curr_limit,
&supply_voltage, charging && max_request_allowed ?
- PD_REQUEST_MAX : PD_REQUEST_VSAFE5V, max_request_mv);
+ PD_REQUEST_MAX : PD_REQUEST_VSAFE5V, max_request_mv, port);
CPRINTF("C%d Req [%d] %dmV %dmA", port, RDO_POS(rdo),
supply_voltage, curr_limit);
diff --git a/common/usbc/usb_tc_drp_acc_trysrc_sm.c b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
index cbfbdfc6b1..a3fd329eba 100644
--- a/common/usbc/usb_tc_drp_acc_trysrc_sm.c
+++ b/common/usbc/usb_tc_drp_acc_trysrc_sm.c
@@ -451,9 +451,9 @@ int pd_capable(int port)
* Return true if partner port is capable of communication over USB data
* lines.
*/
-int pd_get_partner_usb_comm_capable(int port)
+bool pd_get_partner_usb_comm_capable(int port)
{
- return TC_CHK_FLAG(port, TC_FLAGS_PARTNER_USB_COMM);
+ return !!TC_CHK_FLAG(port, TC_FLAGS_PARTNER_USB_COMM);
}
enum pd_dual_role_states pd_get_dual_role(int port)
@@ -688,6 +688,11 @@ int pd_is_connected(int port)
(get_state_tc(port) == TC_ATTACHED_SRC);
}
+bool pd_is_disconnected(int port)
+{
+ return !pd_is_connected(port);
+}
+
#ifdef CONFIG_USB_PD_ALT_MODE_DFP
/*
* TODO(b/137493121): Move this function to a separate file that's shared
diff --git a/common/usbc/usbc_task.c b/common/usbc/usbc_task.c
index e743d38110..d4cc36147a 100644
--- a/common/usbc/usbc_task.c
+++ b/common/usbc/usbc_task.c
@@ -60,46 +60,6 @@ void set_polarity(int port, int polarity)
ppc_set_polarity(port, polarity);
}
-void set_usb_mux_with_current_data_role(int port)
-{
-#ifdef CONFIG_USBC_SS_MUX
- /*
- * If the SoC is down, then we disconnect the MUX to save power since
- * no one cares about the data lines.
- */
-#ifdef CONFIG_POWER_COMMON
- if (chipset_in_or_transitioning_to_state(CHIPSET_STATE_ANY_OFF)) {
- usb_mux_set(port, TYPEC_MUX_NONE, USB_SWITCH_DISCONNECT,
- tc_get_polarity(port));
- return;
- }
-#endif /* CONFIG_POWER_COMMON */
-
- /*
- * When PD stack is disconnected, then mux should be disconnected, which
- * is also what happens in the set_state disconnection code. Once the
- * PD state machine progresses out of disconnect, the MUX state will
- * be set correctly again.
- */
- if (!pd_is_connected(port))
- usb_mux_set(port, TYPEC_MUX_NONE, USB_SWITCH_DISCONNECT,
- tc_get_polarity(port));
- /*
- * If new data role isn't DFP and we only support DFP, also disconnect.
- */
- else if (IS_ENABLED(CONFIG_USBC_SS_MUX_DFP_ONLY) &&
- pd_get_data_role(port) != PD_ROLE_DFP)
- usb_mux_set(port, TYPEC_MUX_NONE, USB_SWITCH_DISCONNECT,
- tc_get_polarity(port));
- /*
- * Otherwise connect mux since we are in S3+
- */
- else
- usb_mux_set(port, TYPEC_MUX_USB, USB_SWITCH_CONNECT,
- tc_get_polarity(port));
-#endif /* CONFIG_USBC_SS_MUX */
-}
-
/* High-priority interrupt tasks implementations */
#if defined(HAS_TASK_PD_INT_C0) || defined(HAS_TASK_PD_INT_C1) || \
defined(HAS_TASK_PD_INT_C2)