diff options
author | Furquan Shaikh <furquan@chromium.org> | 2017-05-27 17:52:32 -0700 |
---|---|---|
committer | Furquan Shaikh <furquan@google.com> | 2017-05-31 19:55:23 +0200 |
commit | 3178bdc345131f88a9ffd2c87a98d2ea332d52d7 (patch) | |
tree | 726b23afea58344bd6762e243ef524b9f0f703e8 /src | |
parent | 39480c7204725a6b431c84219e96d6b0e655f249 (diff) | |
download | coreboot-3178bdc345131f88a9ffd2c87a98d2ea332d52d7.tar.xz |
mainboard/google/poppy: Power down camera rails when suspending
BUG=b:62147763
Change-Id: Iba88fed972b847448e01fcfca8c7129d950244c2
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/19953
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/mainboard/google/poppy/smihandler.c | 11 | ||||
-rw-r--r-- | src/mainboard/google/poppy/variants/baseboard/include/baseboard/gpio.h | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/mainboard/google/poppy/smihandler.c b/src/mainboard/google/poppy/smihandler.c index 88aa90581b..30b009dd6f 100644 --- a/src/mainboard/google/poppy/smihandler.c +++ b/src/mainboard/google/poppy/smihandler.c @@ -15,8 +15,11 @@ #include <cpu/x86/smm.h> #include <ec/google/chromeec/smm.h> +#include <gpio.h> +#include <soc/gpio.h> #include <soc/smm.h> +#include <variant/gpio.h> #include <variant/ec.h> void mainboard_smi_espi_handler(void) @@ -24,10 +27,18 @@ void mainboard_smi_espi_handler(void) chromeec_smi_process_events(); } +static void mainboard_gpio_smi_sleep(void) +{ + /* Hold camera device in reset and then power it down. */ + gpio_set(EN_CAM_PMIC_RST_L, 0); + gpio_set(EN_PP3300_DX_CAM, 0); +} + void mainboard_smi_sleep(u8 slp_typ) { chromeec_smi_sleep(slp_typ, MAINBOARD_EC_S3_WAKE_EVENTS, MAINBOARD_EC_S5_WAKE_EVENTS); + mainboard_gpio_smi_sleep(); } int mainboard_smi_apmc(u8 apmc) diff --git a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/gpio.h b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/gpio.h index 628483bf52..4c9ade3e66 100644 --- a/src/mainboard/google/poppy/variants/baseboard/include/baseboard/gpio.h +++ b/src/mainboard/google/poppy/variants/baseboard/include/baseboard/gpio.h @@ -37,4 +37,8 @@ /* eSPI virtual wire reporting */ #define EC_SCI_GPI GPE0_ESPI +/* Power rail control signals */ +#define EN_PP3300_DX_CAM GPP_C11 +#define EN_CAM_PMIC_RST_L GPP_C10 + #endif /* BASEBOARD_GPIO_H */ |