From 26026cc84a42eae453c59d9b4432a665e0c73f87 Mon Sep 17 00:00:00 2001 From: Sue Chen Date: Tue, 22 Jun 2021 14:44:29 +0800 Subject: rt1718s: set OVP to 23V Set VBUS_VOL_SEL to 20V (4'b1111). BUG=b:191609106 BRANCH=none TEST=boot up system by plugging in adapter to typc port 1 with battery on Cherry dut. Signed-off-by: Sue Chen Change-Id: If3c3a82b2e0dbcecb1adaa62cb5d8ade4bae1942 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2977866 Reviewed-by: Ting Shen --- driver/tcpm/rt1718s.c | 5 +++++ driver/tcpm/rt1718s.h | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/driver/tcpm/rt1718s.c b/driver/tcpm/rt1718s.c index 0275d9cc96..5c35ed03e4 100644 --- a/driver/tcpm/rt1718s.c +++ b/driver/tcpm/rt1718s.c @@ -174,6 +174,11 @@ static int rt1718s_init(int port) RETURN_ERROR(rt1718s_bc12_init(port)); + /* Set VBUS_VOL_SEL to 20V */ + RETURN_ERROR(rt1718s_update_bits8(port, RT1718S_RT2_VBUS_VOL_CTRL, + RT1718S_RT2_VBUS_VOL_CTRL_VOL_SEL, + RT1718S_VBUS_VOL_TO_REG(20))); + /* Disable FOD function */ RETURN_ERROR(rt1718s_update_bits8(port, 0xCF, 0x40, 0x00)); diff --git a/driver/tcpm/rt1718s.h b/driver/tcpm/rt1718s.h index 4664277aa0..b626db0281 100644 --- a/driver/tcpm/rt1718s.h +++ b/driver/tcpm/rt1718s.h @@ -5,6 +5,7 @@ #ifndef __CROS_EC_USB_PD_TCPM_RT1718S_H #define __CROS_EC_USB_PD_TCPM_RT1718S_H +#include "util.h" #include "usb_charge.h" #include "usb_pd_tcpm.h" @@ -73,6 +74,14 @@ #define RT1718S_UNLOCK_PW_1 0xF1 #define RT1718S_RT2_SYS_CTRL5 0xF210 + +#define RT1718S_VBUS_VOL_TO_REG(_vol) (CLAMP(_vol, 5, 20) - 5) +#define RT1718S_VBUS_PCT_TO_REG(_pct) (CLAMP(_pct, 5, 20) \ + / 5 - 1) +#define RT1718S_RT2_VBUS_VOL_CTRL 0xF213 +#define RT1718S_RT2_VBUS_VOL_CTRL_OVP_SEL (BIT(5) | BIT(4)) +#define RT1718S_RT2_VBUS_VOL_CTRL_VOL_SEL 0x0F + #define RT1718S_RT2_VBUS_OCRC_EN 0xF214 #define RT1718S_RT2_VBUS_OCRC_EN_VBUS_OCP1_EN BIT(0) #define RT1718S_RT2_VBUS_OCP_CTRL1 0xF216 -- cgit v1.2.1