diff options
author | Tang Qijun <qijun.tang@ecs.corp-partner.google.com> | 2023-04-29 09:50:45 +0800 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2023-05-02 05:40:11 +0000 |
commit | b647360e5d8b79c87644dd06ef54ecd3e0746b1c (patch) | |
tree | 6e45ac1f8b2fa640944597f208413527d59892bd | |
parent | c22a30f8ed1c7965d66e9d54b171c974c998920a (diff) | |
download | chrome-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.c | 19 |
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); |