summaryrefslogtreecommitdiff
path: root/driver/ppc
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2017-11-27 11:11:14 -0800
committerchrome-bot <chrome-bot@chromium.org>2017-12-05 22:43:45 -0800
commit9c4008e35c291017c7a0ffbe96e1e5d9df8a0e5a (patch)
treebe29cf3f63098c673b122425c09521816dea318a /driver/ppc
parent9300c0d470f3d266465731b941075f6d0a321636 (diff)
downloadchrome-ec-9c4008e35c291017c7a0ffbe96e1e5d9df8a0e5a.tar.gz
ppc: Add common APIs.
It'll be easier to add support for new PPCs if we make a generic API. BUG=None BRANCH=None TEST=make -j buildall Change-Id: I9aac1750eb4c163eb2b94aa8975c797f86d0a25a Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/791499 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'driver/ppc')
-rw-r--r--driver/ppc/sn5s330.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/driver/ppc/sn5s330.c b/driver/ppc/sn5s330.c
index 9871209e76..05cb9eac14 100644
--- a/driver/ppc/sn5s330.c
+++ b/driver/ppc/sn5s330.c
@@ -439,3 +439,28 @@ static void sn5s330_init(void)
}
}
DECLARE_HOOK(HOOK_INIT, sn5s330_init, HOOK_PRIO_INIT_I2C + 1);
+
+int ppc_is_sourcing_vbus(int port)
+{
+ int is_sourcing_vbus;
+ int rv;
+
+ rv = sn5s330_is_pp_fet_enabled(port, SN5S330_PP1, &is_sourcing_vbus);
+ if (rv) {
+ CPRINTS("C%d: Failed to determine source FET status! (%d)",
+ port, rv);
+ return 0;
+ }
+
+ return is_sourcing_vbus;
+}
+
+int ppc_vbus_sink_enable(int port, int enable)
+{
+ return sn5s330_pp_fet_enable(port, SN5S330_PP2, !!enable);
+}
+
+int ppc_vbus_source_enable(int port, int enable)
+{
+ return sn5s330_pp_fet_enable(port, SN5S330_PP1, !!enable);
+}