cr50: add option to have no pinhold during deep sleep

On some boards it is not desirable or necessary to hold I/O pins steady.
Default behavior is unchanged; board configs can opt in to have no hold.

BRANCH=none
BUG=none
Change-Id: I944cdc65adbb35b96b95afe71dc89d1456af080c
Reviewed-on: https://chromium-review.googlesource.com/518343
Reviewed-by: Marius Schilder <mschilder@chromium.org>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Tested-by: Marius Schilder <mschilder@chromium.org>
Trybot-Ready: Marius Schilder <mschilder@chromium.org>
Commit-Queue: Marius Schilder <mschilder@chromium.org>
This commit is contained in:
Marius Schilder
2017-05-30 13:55:20 -07:00
committed by Marius Schilder
parent bb559311c8
commit a25bcc8e94
2 changed files with 5 additions and 0 deletions

View File

@@ -128,8 +128,10 @@ static void prepare_to_sleep(void)
GREG32(PMU, PWRDN_SCRATCH17) =
GREG32(PMU, PWRDN_SCRATCH17) + 1;
#ifndef CONFIG_NO_PINHOLD
/* Latch the pinmux values */
GREG32(PINMUX, HOLD) = 1;
#endif
/* Clamp the USB pins and shut the PHY down. We have to do this
* in three separate steps, or Bad Things happen. */

View File

@@ -1730,6 +1730,9 @@
/* Support memory protection unit (MPU) */
#undef CONFIG_MPU
/* Do not try hold I/O pins at frozen level during deep sleep */
#undef CONFIG_NO_PINHOLD
/* Support one-wire interface */
#undef CONFIG_ONEWIRE