summaryrefslogtreecommitdiff
path: root/driver/tcpm/it8xxx2.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/tcpm/it8xxx2.c')
-rw-r--r--driver/tcpm/it8xxx2.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/driver/tcpm/it8xxx2.c b/driver/tcpm/it8xxx2.c
index 50339393f6..1cfa184a11 100644
--- a/driver/tcpm/it8xxx2.c
+++ b/driver/tcpm/it8xxx2.c
@@ -750,9 +750,6 @@ static void it83xx_init(enum usbpd_port port, int role)
it83xx_set_power_role(port, role);
/* Disable vconn: connect cc analog module, disable cc 5v tolerant */
it83xx_enable_vconn(port, 0);
- /* Disconnect CC with 5.1K DB resister to GND */
- IT83XX_USBPD_CCPSR(port) |= (USBPD_REG_MASK_DISCONNECT_5_1K_CC2_DB |
- USBPD_REG_MASK_DISCONNECT_5_1K_CC1_DB);
/* Enable tx done and hard reset detect interrupt */
IT83XX_USBPD_IMR(port) &= ~(USBPD_REG_MASK_MSG_TX_DONE |
USBPD_REG_MASK_HARD_RESET_DETECT);
@@ -774,6 +771,13 @@ static void it83xx_init(enum usbpd_port port, int role)
task_clear_pending_irq(usbpd_ctrl_regs[port].irq);
task_enable_irq(usbpd_ctrl_regs[port].irq);
USBPD_START(port);
+ /*
+ * Disconnect CCs Rd_DB from GND
+ * NOTE: CCs assert both Rd_5.1k and Rd_DB from USBPD_START() to
+ * disconnect Rd_DB about 1.5us.
+ */
+ IT83XX_USBPD_CCPSR(port) |= (USBPD_REG_MASK_DISCONNECT_5_1K_CC2_DB |
+ USBPD_REG_MASK_DISCONNECT_5_1K_CC1_DB);
}
static int it83xx_tcpm_init(int port)