diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2015-10-08 09:08:26 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2015-10-12 13:15:47 -0700 |
commit | e337adc6e92e55a4c1591b99a8b7b393b3b40f48 (patch) | |
tree | 54189bfe0f7a8cae13b6f9d645aec84a5b1f383f | |
parent | c682beaacfaaab41e942748deb19326a5700fe2c (diff) | |
download | chrome-ec-e337adc6e92e55a4c1591b99a8b7b393b3b40f48.tar.gz |
skylake: Move USB enable gpio control to board hooks
Some boards may not have a USB2_ENABLE GPIO so we need each
board to do the USB power enable/disable in a board hook.
BUG=chrome-os-partner:46289
BRANCH=none
TEST=make -j buildall
Change-Id: I830cbaf41c118b2f74e23fa946a4187f6293a7d5
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/304397
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r-- | board/glados/board.c | 4 | ||||
-rw-r--r-- | board/kunimitsu/board.c | 4 | ||||
-rw-r--r-- | power/skylake.c | 7 |
3 files changed, 8 insertions, 7 deletions
diff --git a/board/glados/board.c b/board/glados/board.c index a86a25489b..f11f5ba860 100644 --- a/board/glados/board.c +++ b/board/glados/board.c @@ -337,6 +337,8 @@ DECLARE_DEFERRED(enable_input_devices); /* Called on AP S5 -> S3 transition */ static void board_chipset_startup(void) { + gpio_set_level(GPIO_USB1_ENABLE, 1); + gpio_set_level(GPIO_USB2_ENABLE, 1); hook_call_deferred(enable_input_devices, 0); } DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT); @@ -344,6 +346,8 @@ DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT); /* Called on AP S3 -> S5 transition */ static void board_chipset_shutdown(void) { + gpio_set_level(GPIO_USB1_ENABLE, 0); + gpio_set_level(GPIO_USB2_ENABLE, 0); hook_call_deferred(enable_input_devices, 0); } DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT); diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c index 4ffd9e1c8d..a9ddb53a73 100644 --- a/board/kunimitsu/board.c +++ b/board/kunimitsu/board.c @@ -497,6 +497,8 @@ void board_set_charge_limit(int charge_ma) /* Enable touchpad on chipset startup so that it can wake the system */ static void board_chipset_startup(void) { + gpio_set_level(GPIO_USB1_ENABLE, 1); + gpio_set_level(GPIO_USB2_ENABLE, 1); gpio_set_level(GPIO_ENABLE_TOUCHPAD, 1); } DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, @@ -505,6 +507,8 @@ DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, /* Disable touchpad on chipset shutdown as it is no longer useful */ static void board_chipset_shutdown(void) { + gpio_set_level(GPIO_USB1_ENABLE, 0); + gpio_set_level(GPIO_USB2_ENABLE, 0); gpio_set_level(GPIO_ENABLE_TOUCHPAD, 0); } DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, diff --git a/power/skylake.c b/power/skylake.c index 6ef1e85cfc..1aa25d6bb6 100644 --- a/power/skylake.c +++ b/power/skylake.c @@ -207,10 +207,6 @@ static enum power_state _power_handle_state(enum power_state state) return POWER_S5G3; } - /* Enable USB so that it can wake the system */ - gpio_set_level(GPIO_USB1_ENABLE, 1); - gpio_set_level(GPIO_USB2_ENABLE, 1); - /* Call hooks now that rails are up */ hook_notify(HOOK_CHIPSET_STARTUP); return POWER_S3; @@ -268,9 +264,6 @@ static enum power_state _power_handle_state(enum power_state state) /* Disable wireless */ wireless_set_state(WIRELESS_OFF); - gpio_set_level(GPIO_USB1_ENABLE, 0); - gpio_set_level(GPIO_USB2_ENABLE, 0); - /* Always enter into S5 state. The S5 state is required to * correctly handle global resets which have a bit of delay * while the SLP_Sx_L signals are asserted then deasserted. */ |