diff options
-rw-r--r-- | baseboard/trogdor/build.mk | 1 | ||||
-rw-r--r-- | baseboard/trogdor/power.c | 22 | ||||
-rw-r--r-- | board/herobrine_npcx7/build.mk | 1 | ||||
-rw-r--r-- | board/herobrine_npcx7/power.c | 22 | ||||
-rw-r--r-- | power/qcom.c | 6 | ||||
-rw-r--r-- | zephyr/projects/trogdor/herobrine_npcx7/CMakeLists.txt | 1 | ||||
-rw-r--r-- | zephyr/projects/trogdor/lazor/CMakeLists.txt | 1 |
7 files changed, 50 insertions, 4 deletions
diff --git a/baseboard/trogdor/build.mk b/baseboard/trogdor/build.mk index 38fc5e823a..0f36051eee 100644 --- a/baseboard/trogdor/build.mk +++ b/baseboard/trogdor/build.mk @@ -8,5 +8,6 @@ baseboard-y+=baseboard.o baseboard-y+=hibernate.o +baseboard-y+=power.o baseboard-y+=usbc_config.o baseboard-y+=usb_pd_policy.o diff --git a/baseboard/trogdor/power.c b/baseboard/trogdor/power.c new file mode 100644 index 0000000000..0a55b49d3d --- /dev/null +++ b/baseboard/trogdor/power.c @@ -0,0 +1,22 @@ +/* Copyright 2021 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "gpio.h" +#include "hooks.h" + +void board_chipset_pre_init(void) +{ + /* Turn on the 3.3V rail */ + gpio_set_level(GPIO_EN_PP3300_A, 1); +} +DECLARE_HOOK(HOOK_CHIPSET_PRE_INIT, board_chipset_pre_init, HOOK_PRIO_DEFAULT); + +void board_chipset_shutdown_complete(void) +{ + /* Turn off the 3.3V and 5V rails. */ + gpio_set_level(GPIO_EN_PP3300_A, 0); +} +DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN_COMPLETE, board_chipset_shutdown_complete, + HOOK_PRIO_DEFAULT); diff --git a/board/herobrine_npcx7/build.mk b/board/herobrine_npcx7/build.mk index a43729b074..87265f93df 100644 --- a/board/herobrine_npcx7/build.mk +++ b/board/herobrine_npcx7/build.mk @@ -15,5 +15,6 @@ board-y+=battery.o board-y+=board.o board-y+=hibernate.o board-y+=led.o +board-y+=power.o board-y+=switchcap.o board-y+=usbc_config.o diff --git a/board/herobrine_npcx7/power.c b/board/herobrine_npcx7/power.c new file mode 100644 index 0000000000..0a55b49d3d --- /dev/null +++ b/board/herobrine_npcx7/power.c @@ -0,0 +1,22 @@ +/* Copyright 2021 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "gpio.h" +#include "hooks.h" + +void board_chipset_pre_init(void) +{ + /* Turn on the 3.3V rail */ + gpio_set_level(GPIO_EN_PP3300_A, 1); +} +DECLARE_HOOK(HOOK_CHIPSET_PRE_INIT, board_chipset_pre_init, HOOK_PRIO_DEFAULT); + +void board_chipset_shutdown_complete(void) +{ + /* Turn off the 3.3V and 5V rails. */ + gpio_set_level(GPIO_EN_PP3300_A, 0); +} +DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN_COMPLETE, board_chipset_shutdown_complete, + HOOK_PRIO_DEFAULT); diff --git a/power/qcom.c b/power/qcom.c index a57f13483e..8fd96cbb54 100644 --- a/power/qcom.c +++ b/power/qcom.c @@ -616,8 +616,7 @@ static void power_off(void) set_system_power(0); } - /* Turn off the 3.3V and 5V rails. */ - gpio_set_level(GPIO_EN_PP3300_A, 0); + /* Turn off the 5V rail. */ #ifdef CONFIG_POWER_PP5000_CONTROL power_5v_enable(task_get_current(), 0); #else /* !defined(CONFIG_POWER_PP5000_CONTROL) */ @@ -659,8 +658,7 @@ static int power_on(void) { int ret; - /* Enable the 3.3V and 5V rail. */ - gpio_set_level(GPIO_EN_PP3300_A, 1); + /* Enable the 5V rail. */ #ifdef CONFIG_POWER_PP5000_CONTROL power_5v_enable(task_get_current(), 1); #else /* !defined(CONFIG_POWER_PP5000_CONTROL) */ diff --git a/zephyr/projects/trogdor/herobrine_npcx7/CMakeLists.txt b/zephyr/projects/trogdor/herobrine_npcx7/CMakeLists.txt index b4b11127f4..fda44fc81a 100644 --- a/zephyr/projects/trogdor/herobrine_npcx7/CMakeLists.txt +++ b/zephyr/projects/trogdor/herobrine_npcx7/CMakeLists.txt @@ -26,6 +26,7 @@ zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_LED_COMMON zephyr_library_sources( "${PLATFORM_EC_BOARD}/battery.c" "${PLATFORM_EC_BOARD}/hibernate.c" + "${PLATFORM_EC_BOARD}/power.c" "${PLATFORM_EC_BOARD}/switchcap.c" "${PLATFORM_EC_BOARD}/usbc_config.c") diff --git a/zephyr/projects/trogdor/lazor/CMakeLists.txt b/zephyr/projects/trogdor/lazor/CMakeLists.txt index f944971a63..53d4498018 100644 --- a/zephyr/projects/trogdor/lazor/CMakeLists.txt +++ b/zephyr/projects/trogdor/lazor/CMakeLists.txt @@ -18,6 +18,7 @@ set(PLATFORM_EC_BOARD "${PLATFORM_EC}/board/lazor" CACHE PATH zephyr_library_sources_ifdef(CONFIG_PLATFORM_EC_USBC "${PLATFORM_EC_BASEBOARD}/hibernate.c" + "${PLATFORM_EC_BASEBOARD}/power.c" "${PLATFORM_EC_BASEBOARD}/usbc_config.c" "${PLATFORM_EC_BASEBOARD}/usb_pd_policy.c") |