From b647360e5d8b79c87644dd06ef54ecd3e0746b1c Mon Sep 17 00:00:00 2001 From: Tang Qijun Date: Sat, 29 Apr 2023 09:50:45 +0800 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4493444 Commit-Queue: Chao Gui Tested-by: Chao Gui Reviewed-by: Chao Gui --- zephyr/program/skyrim/crystaldrift/src/board.c | 19 +++++++++---------- 1 file 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 -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); -- cgit v1.2.1