tcpci: anx7688: enable message passing after hard reset sent

In TCPCI specifiction R1.0 4.7.2, the last step of transmitting
hard reset message is enable PD message passing by writing to
RECEIVE_MESSAGE register.

BRANCH=none
BUG=chrome-os-partner:52815
TEST=manual
  build and load on reference board with anx7688 port controller.
  connect zinger to port 0, and use ec uart console to send hard
  reset message:
    pd 0 hard
  check PD communication

Signed-off-by: Rong Chang <rongchang@chromium.org>
Change-Id: I52968b603f0227d7d9a112b0216cd5fd6362a0b2
Reviewed-on: https://chromium-review.googlesource.com/348142
Commit-Ready: Nicolas Boichat <drinkcat@chromium.org>
Tested-by: Koro Chen <koro.chen@mediatek.com>
Reviewed-by: Wei-Ning Huang <wnhuang@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
Rong Chang
2016-05-31 14:04:38 +08:00
committed by chrome-bot
parent a8473bf87d
commit 066bb6149d

View File

@@ -2135,6 +2135,16 @@ void pd_task(void)
}
if (pd_is_vbus_present(port) &&
snk_hard_reset_vbus_off) {
#ifdef CONFIG_USB_PD_TCPM_TCPCI
/*
* After transmitting hard reset, TCPM writes
* to RECEIVE_MESSAGE register to enable
* PD message passing.
*/
if (pd_comm_enabled)
tcpm_set_rx_enable(port, 1);
#endif /* CONFIG_USB_PD_TCPM_TCPCI */
/* VBUS went high again */
set_state(port, PD_STATE_SNK_DISCOVERY);
timeout = 10*MSEC;