summaryrefslogtreecommitdiff
path: root/baseboard
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2021-07-13 20:00:26 +0800
committerCommit Bot <commit-bot@chromium.org>2021-07-20 07:25:10 +0000
commit6441bcd511bae6acf97ed8b628479b27da904243 (patch)
tree03b01f8e25deadc503cbe938c5d5e8acb8146762 /baseboard
parent40bebeea31a6a22607e963e1e075b1b096294c8d (diff)
downloadchrome-ec-6441bcd511bae6acf97ed8b628479b27da904243.tar.gz
cherry: implement USB-A port power control
BUG=b:193499785 TEST=manually BRANCH=main Signed-off-by: Ting Shen <phoenixshen@google.com> Change-Id: I1bda9b40bb8795837d25022f6f71661f7699d1cf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3023017 Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Eric Yilun Lin <yllin@google.com>
Diffstat (limited to 'baseboard')
-rw-r--r--baseboard/cherry/baseboard.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/baseboard/cherry/baseboard.c b/baseboard/cherry/baseboard.c
index 95e2e6ab75..5301c0724c 100644
--- a/baseboard/cherry/baseboard.c
+++ b/baseboard/cherry/baseboard.c
@@ -54,6 +54,7 @@
static void bc12_interrupt(enum gpio_signal signal);
static void ppc_interrupt(enum gpio_signal signal);
+static void usb_a0_interrupt(enum gpio_signal signal);
#include "gpio_list.h"
@@ -231,6 +232,15 @@ const int usb_port_enable[] = {
};
BUILD_ASSERT(ARRAY_SIZE(usb_port_enable) == USB_PORT_COUNT);
+__maybe_unused void usb_a0_interrupt(enum gpio_signal signal)
+{
+ enum usb_charge_mode mode = gpio_get_level(signal) ?
+ USB_CHARGE_MODE_ENABLED : USB_CHARGE_MODE_DISABLED;
+
+ for (int i = 0; i < USB_PORT_COUNT; i++)
+ usb_charge_set_mode(i, mode, USB_ALLOW_SUSPEND_CHARGE);
+}
+
/* USB Mux */
void board_usb_mux_init(void)