summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--baseboard/intelrvp/adlrvp.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/baseboard/intelrvp/adlrvp.c b/baseboard/intelrvp/adlrvp.c
index 6f301be986..ed1a848708 100644
--- a/baseboard/intelrvp/adlrvp.c
+++ b/baseboard/intelrvp/adlrvp.c
@@ -568,16 +568,20 @@ __override void board_pre_task_i2c_peripheral_init(void)
/*
* ADL RVP has both ITE and FUSB based TCPC chips. By default, the PD
* state of a non-attached port remains in PD_DRP_TOGGLE_ON in active
- * state. Also, FUSB TCPC chip does not support dual role auto toggle
+ * state. Also, FUSB TCPC chip does not support 'dual role auto toggle'
* which contradicts the default set S0 state of PD_DRP_TOGGLE_ON,
* while ITE based TCPC can support dual role auto toggle. The
* default PD_DRP_TOGGLE_ON state in Active state doesnot allow TCPC
- * ports to enter Low power mode. To fix the issue, added board
- * specific code to disable the dual role toggle in S0.
+ * ports to enter Low power mode. To fix the issue, added board specific
+ * code to remove the default DRP state - PD_DRP_TOGGLE_ON in S0. Also,
+ * eventhough 'dual role auto toggle' is not supported by FUSB, the ports
+ * supports both source and sink. Hence, setting the default DRP state
+ * as PD_DRP_FORCE_SOURCE in S0, would be the ideal board based solution to
+ * support for both source and sink devices for this RVP.
* Note:For ITE based TCPC, low power mode entry does makes no
* difference, as it is controlled by ITE TCPC clk in deep sleepmode.
*/
__override enum pd_dual_role_states pd_get_drp_state_in_s0(void)
{
- return PD_DRP_TOGGLE_OFF;
+ return PD_DRP_FORCE_SOURCE;
}