diff options
author | Vijay Hiremath <vijay.p.hiremath@intel.com> | 2020-01-07 12:05:15 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-01-14 01:43:41 +0000 |
commit | 329045e9bcd3af6294460fcf0ab9be5fa583c1c7 (patch) | |
tree | 66984ce21b88984040f632a7fbdca960335a64a1 /common/usbc | |
parent | cb9c91ae78238429e0e7a1514333bc5fe8238431 (diff) | |
download | chrome-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.c | 2 | ||||
-rw-r--r-- | common/usbc/usb_tc_drp_acc_trysrc_sm.c | 9 | ||||
-rw-r--r-- | common/usbc/usbc_task.c | 40 |
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) |