summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
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)