summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTang Qijun <qijun.tang@ecs.corp-partner.google.com>2023-04-29 09:50:45 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-05-02 05:40:11 +0000
commitb647360e5d8b79c87644dd06ef54ecd3e0746b1c (patch)
tree6e45ac1f8b2fa640944597f208413527d59892bd
parentc22a30f8ed1c7965d66e9d54b171c974c998920a (diff)
downloadchrome-ec-b647360e5d8b79c87644dd06ef54ecd3e0746b1c.tar.gz
crystaldrift: enable usb hub power control
usb typeA hub power is controlled by gpio45 BRANCH=skyrim BUG=b:260771028 TEST=test usb typeA function is ok Change-Id: I72ec9d7ff735573b4068d3cca6f1269908c7aebd Signed-off-by: Tang Qijun <qijun.tang@ecs.corp-partner.google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4493444 Commit-Queue: Chao Gui <chaogui@google.com> Tested-by: Chao Gui <chaogui@google.com> Reviewed-by: Chao Gui <chaogui@google.com>
-rw-r--r--zephyr/program/skyrim/crystaldrift/src/board.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/zephyr/program/skyrim/crystaldrift/src/board.c b/zephyr/program/skyrim/crystaldrift/src/board.c
index a6ce70585a..4d64696df1 100644
--- a/zephyr/program/skyrim/crystaldrift/src/board.c
+++ b/zephyr/program/skyrim/crystaldrift/src/board.c
@@ -10,15 +10,14 @@
#include <zephyr/drivers/gpio.h>
-static void check_usbhub_en(void)
+static void usb_porta_startup(void)
{
- if (chipset_in_state(CHIPSET_STATE_ANY_OFF) &&
- gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_usbhub_en))) {
- gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_usbhub_en), 0);
- } else if (!chipset_in_state(CHIPSET_STATE_ANY_OFF) &&
- !gpio_pin_get_dt(
- GPIO_DT_FROM_NODELABEL(gpio_ec_usbhub_en))) {
- gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_usbhub_en), 1);
- }
+ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_usbhub_en), 1);
}
-DECLARE_HOOK(HOOK_SECOND, check_usbhub_en, HOOK_PRIO_DEFAULT);
+DECLARE_HOOK(HOOK_CHIPSET_STARTUP, usb_porta_startup, HOOK_PRIO_DEFAULT);
+
+static void usb_porta_shutdown(void)
+{
+ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_usbhub_en), 0);
+}
+DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, usb_porta_shutdown, HOOK_PRIO_DEFAULT);