From fa1381fa9a2a9067451302ef03372bae9c289dd2 Mon Sep 17 00:00:00 2001 From: Ruibin Chang Date: Wed, 25 Mar 2020 13:28:03 +0800 Subject: tcpm/it83xx_pd: cc1 and cc2 resistance setting separate In it81202/it81302 setting cc1 and cc2 resistance is individual for each cc. BUG=none BRANCH=none TEST=on it8xxx2_pdevb board, check cc toggle and connection with adater and dongle by Oscilloscope. Signed-off-by: Ruibin Chang Change-Id: I3d0697b39b2302830c67061fc3279d33d40b9957 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2120112 Tested-by: Ruibin Chang Reviewed-by: Jett Rink Commit-Queue: Ruibin Chang --- chip/it83xx/config_chip_it8xxx2.h | 2 ++ driver/tcpm/it83xx_pd.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/chip/it83xx/config_chip_it8xxx2.h b/chip/it83xx/config_chip_it8xxx2.h index fe9914d4aa..b1a620895a 100644 --- a/chip/it83xx/config_chip_it8xxx2.h +++ b/chip/it83xx/config_chip_it8xxx2.h @@ -109,6 +109,8 @@ #define IT83XX_INTC_PLUG_IN_SUPPORT /* Wake up CPU from low power mode even if interrupts are disabled */ #define IT83XX_RISCV_WAKEUP_CPU_WITHOUT_INT_ENABLED +/* Individual setting CC1 and CC2 resistance. */ +#define IT83XX_USBPD_CC1_CC2_RESISTANCE_SEPARATE /* Chip actually has TCPC physical port count. */ #define IT83XX_USBPD_PHY_PORT_COUNT 2 #else diff --git a/driver/tcpm/it83xx_pd.h b/driver/tcpm/it83xx_pd.h index fe55813435..0056f85cb1 100644 --- a/driver/tcpm/it83xx_pd.h +++ b/driver/tcpm/it83xx_pd.h @@ -123,7 +123,11 @@ #define USBPD_REG_MASK_CC2_DISCONNECT_5_1K_TO_GND BIT(6) #define USBPD_REG_MASK_CC1_DISCONNECT BIT(3) #define USBPD_REG_MASK_CC1_DISCONNECT_5_1K_TO_GND BIT(2) +#ifdef IT83XX_USBPD_CC1_CC2_RESISTANCE_SEPARATE +#define USBPD_REG_MASK_CC1_CC2_RP_RD_SELECT (BIT(1) | BIT(5)) +#else #define USBPD_REG_MASK_CC1_CC2_RP_RD_SELECT BIT(1) +#endif #define IT83XX_USBPD_CCPSR(p) REG8(IT83XX_USBPD_BASE(p)+0x06) #define USBPD_REG_MASK_DISCONNECT_5_1K_CC2_DB BIT(6) #define USBPD_REG_MASK_DISCONNECT_POWER_CC2 BIT(5) -- cgit v1.2.1