summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorKo_Ko <Ko_Ko@compal.corp-partner.google.com>2020-10-21 21:00:10 +0800
committerCommit Bot <commit-bot@chromium.org>2020-11-24 03:09:18 +0000
commit34ab458a2ae17a3ece03e633415a4538db2a6900 (patch)
tree9be77f61a25a9f2f1f2fbdde65038590159cd7a7 /driver
parent90482ffee42bd9c1da5a8827464e001b35718e46 (diff)
downloadchrome-ec-34ab458a2ae17a3ece03e633415a4538db2a6900.tar.gz
RAA489000: Vbus OCP threshold and target current setting
When device at USB-C port happen short, the RAA489000 charger IC have current limit function with OTG UVP function. In order to enable OTG UVP function, the registers of 0x92 and 0x94 has to be set. Since normal output is 5V, set register 0x94 to 4.75V (0xBE) for detection, and set 0x92 to 3.104A (0x61) for better protection. BUG=b:169788521 BRANCH=None TEST=build and flash on madoo Signed-off-by: Ko_Ko <Ko_Ko@compal.corp-partner.google.com> Change-Id: Ia20febce9be2ac26530c30c42f9a292602dec63c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2489704 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Ko Ko <ko_ko@compal.corp-partner.google.com> Tested-by: Ko Ko <ko_ko@compal.corp-partner.google.com>
Diffstat (limited to 'driver')
-rw-r--r--driver/tcpm/raa489000.c10
-rw-r--r--driver/tcpm/raa489000.h7
2 files changed, 17 insertions, 0 deletions
diff --git a/driver/tcpm/raa489000.c b/driver/tcpm/raa489000.c
index 92a161bf41..ceff5c20b0 100644
--- a/driver/tcpm/raa489000.c
+++ b/driver/tcpm/raa489000.c
@@ -177,6 +177,16 @@ int raa489000_init(int port)
board_set_active_charge_port(port);
}
+ rv = tcpc_write16(port, RAA489000_VBUS_CURRENT_TARGET,
+ RAA489000_VBUS_CURRENT_TARGET_VALUE);
+ if (rv)
+ CPRINTS("c%d: failed to set target current", port);
+
+ rv = tcpc_write16(port, RAA489000_VBUS_OCP_UV_THRESHOLD,
+ RAA489000_OCP_THRESHOLD_VALUE);
+ if (rv)
+ CPRINTS("c%d: failed to set OCP threshold", port);
+
return rv;
}
diff --git a/driver/tcpm/raa489000.h b/driver/tcpm/raa489000.h
index 122c6eb37e..89cd4ff5a6 100644
--- a/driver/tcpm/raa489000.h
+++ b/driver/tcpm/raa489000.h
@@ -21,6 +21,13 @@
#define RAA489000_PD_PHYSICAL_SETTING1 0xE0
#define RAA489000_PD_PHYSICAL_PARAMETER1 0xE8
+#define RAA489000_VBUS_CURRENT_TARGET 0x92
+#define RAA489000_VBUS_OCP_UV_THRESHOLD 0x94
+
+#define RAA489000_VBUS_CURRENT_TARGET_VALUE 0x61 /* 3.104A */
+/* Detect voltage level of overcurrent protection during Sourcing VBUS */
+#define RAA489000_OCP_THRESHOLD_VALUE 0x00BE /* 4.75V */
+
/* Enables for reverse current protection */
#define RAA489000_SETTING1_IP2_EN BIT(9)
#define RAA489000_SETTING1_IP1_EN BIT(8)