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.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/driver/tcpm/it8xxx2.c b/driver/tcpm/it8xxx2.c
index 9bf50e1335..2029659de0 100644
--- a/driver/tcpm/it8xxx2.c
+++ b/driver/tcpm/it8xxx2.c
@@ -349,10 +349,21 @@ static void it8xxx2_enable_vconn(enum usbpd_port port, int enabled)
static void it8xxx2_enable_cc(enum usbpd_port port, int enable)
{
- if (enable)
+ if (enable) {
+#ifdef IT8XXX2_USBPD_CCGCR_BIT7_RESERVED
+ IT83XX_USBPD_CCCSR(port) &= ~(USBPD_REG_MASK_CC1_DISCONNECT |
+ USBPD_REG_MASK_CC2_DISCONNECT);
+#else
IT83XX_USBPD_CCGCR(port) &= ~USBPD_REG_MASK_DISABLE_CC;
- else
+#endif
+ } else {
+#ifdef IT8XXX2_USBPD_CCGCR_BIT7_RESERVED
+ IT83XX_USBPD_CCCSR(port) |= (USBPD_REG_MASK_CC1_DISCONNECT |
+ USBPD_REG_MASK_CC2_DISCONNECT);
+#else
IT83XX_USBPD_CCGCR(port) |= USBPD_REG_MASK_DISABLE_CC;
+#endif
+ }
}
static void it8xxx2_set_power_role(enum usbpd_port port, int power_role)