summaryrefslogtreecommitdiff
path: root/driver/tcpm/raa489000.h
diff options
context:
space:
mode:
authorDiana Z <dzigterman@chromium.org>2020-01-08 10:09:09 -0700
committerCommit Bot <commit-bot@chromium.org>2020-01-11 02:20:42 +0000
commitf11df7732d4d4bfdc9b25441be5af3d5ba569cad (patch)
treec5e38c82c95b8e63d31316e1e405ca093ccba3ae /driver/tcpm/raa489000.h
parente762dafc04bbc25cd66830d880a27131e72ceff5 (diff)
downloadchrome-ec-f11df7732d4d4bfdc9b25441be5af3d5ba569cad.tar.gz
RAA489000: Add TCPC driver
The RAA489000 is both a charger and TCPC. This commit adds the driver for the TCPC portion. BRANCH=none BUG=b:147316570 TEST=builds Change-Id: I797a3bf9a6cd15a23b6188e695c6d1abd3ce3980 Signed-off-by: Diana Z <dzigterman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1991846 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'driver/tcpm/raa489000.h')
-rw-r--r--driver/tcpm/raa489000.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/driver/tcpm/raa489000.h b/driver/tcpm/raa489000.h
new file mode 100644
index 0000000000..1f6f875acb
--- /dev/null
+++ b/driver/tcpm/raa489000.h
@@ -0,0 +1,39 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ *
+ * TCPC driver for Renesas RAA489000 Buck-boost charger with TCPC
+ */
+
+#ifndef __CROS_EC_USB_PD_TCPM_RAA489000_H
+#define __CROS_EC_USB_PD_TCPM_RAA489000_H
+
+#define RAA489000_TCPC0_I2C_FLAGS 0x22
+#define RAA489000_TCPC1_I2C_FLAGS 0x23
+#define RAA489000_TCPC2_I2C_FLAGS 0x24
+#define RAA489000_TCPC3_I2C_FLAGS 0x25
+
+/* Vendor registers */
+#define RAA489000_TYPEC_SETTING1 0xC0
+
+/* Enables for reverse current protection */
+#define RAA489000_SETTING1_IP2_EN BIT(9)
+#define RAA489000_SETTING1_IP1_EN BIT(8)
+
+/* Switches from dead-battery Rd */
+#define RAA489000_SETTING1_RDOE BIT(7)
+
+/* CC comparator enables */
+#define RAA489000_SETTING1_CC2_CMP3_EN BIT(6)
+#define RAA489000_SETTING1_CC2_CMP2_EN BIT(5)
+#define RAA489000_SETTING1_CC2_CMP1_EN BIT(4)
+#define RAA489000_SETTING1_CC1_CMP3_EN BIT(3)
+#define RAA489000_SETTING1_CC1_CMP2_EN BIT(2)
+#define RAA489000_SETTING1_CC1_CMP1_EN BIT(1)
+
+/* CC debounce enable */
+#define RAA489000_SETTING1_CC_DB_EN BIT(0)
+
+extern const struct tcpm_drv raa489000_tcpm_drv;
+
+#endif