summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorKevin K Wong <kevin.k.wong@intel.com>2016-02-09 15:05:16 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-02-18 17:35:16 -0800
commit5efbecb77053b02c6678a26b66f66f39b3499415 (patch)
tree782514e12079dfdde912b2ea09e23e98014e448d /board
parent2fa3138abea8d97a21af884d499424b62da02812 (diff)
downloadchrome-ec-5efbecb77053b02c6678a26b66f66f39b3499415.tar.gz
kunimitsu: hibernate: enable PseudoG3 support at board level
this is to move the existing code from chipset level to board level since PseudoG3 is a board feature that required specific hardware. BUG=none BRANCH=glados TEST=use hibernate command to enter PseudoG3 Change-Id: I309ef89e0ff7057ce46c634baa9791731a771984 Signed-off-by: Kevin K Wong <kevin.k.wong@intel.com> Reviewed-on: https://chromium-review.googlesource.com/327677 Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'board')
-rw-r--r--board/kunimitsu/board.c17
-rw-r--r--board/kunimitsu/board.h3
-rw-r--r--board/lars/board.c17
-rw-r--r--board/lars/board.h3
-rw-r--r--board/strago/board.c18
-rw-r--r--board/strago/board.h1
6 files changed, 52 insertions, 7 deletions
diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c
index 97ec137fa4..897d9b6cae 100644
--- a/board/kunimitsu/board.c
+++ b/board/kunimitsu/board.c
@@ -631,3 +631,20 @@ static void board_handle_reboot(void)
; /* wait here */
}
DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST);
+
+void board_hibernate(void)
+{
+ CPRINTS("Enter Pseudo G3");
+
+ /*
+ * Clean up the UART buffer and prevent any unwanted garbage characters
+ * before power off and also ensure above debug message is printed.
+ */
+ cflush();
+
+ gpio_set_level(GPIO_G3_SLEEP_EN, 1);
+
+ /* Power to EC should shut down now */
+ while (1)
+ ;
+}
diff --git a/board/kunimitsu/board.h b/board/kunimitsu/board.h
index 63a6cf2243..cec0aa1f66 100644
--- a/board/kunimitsu/board.h
+++ b/board/kunimitsu/board.h
@@ -160,9 +160,6 @@
#undef CONFIG_CONSOLE_HISTORY
#undef CONFIG_PECI
-/* Enable Pseudo G3 */
-#define CONFIG_LOW_POWER_PSEUDO_G3
-
#ifndef __ASSEMBLER__
#include "gpio_signal.h"
diff --git a/board/lars/board.c b/board/lars/board.c
index 5fb2c675e0..bf43208f5b 100644
--- a/board/lars/board.c
+++ b/board/lars/board.c
@@ -545,3 +545,20 @@ static void board_handle_reboot(void)
; /* wait here */
}
DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST);
+
+void board_hibernate(void)
+{
+ CPRINTS("Enter Pseudo G3");
+
+ /*
+ * Clean up the UART buffer and prevent any unwanted garbage characters
+ * before power off and also ensure above debug message is printed.
+ */
+ cflush();
+
+ gpio_set_level(GPIO_G3_SLEEP_EN, 1);
+
+ /* Power to EC should shut down now */
+ while (1)
+ ;
+}
diff --git a/board/lars/board.h b/board/lars/board.h
index c12ffe0b8f..35560b45e2 100644
--- a/board/lars/board.h
+++ b/board/lars/board.h
@@ -144,9 +144,6 @@
#undef CONFIG_CONSOLE_HISTORY
#undef CONFIG_PECI
-/* Enable Pseudo G3 */
-#define CONFIG_LOW_POWER_PSEUDO_G3
-
#ifndef __ASSEMBLER__
#include "gpio_signal.h"
diff --git a/board/strago/board.c b/board/strago/board.c
index ae4cb51ea6..97d5b77dde 100644
--- a/board/strago/board.c
+++ b/board/strago/board.c
@@ -367,3 +367,21 @@ enum battery_present battery_is_present(void)
{
return EC_ERROR_UNIMPLEMENTED;
}
+
+void board_hibernate(void)
+{
+ CPRINTS("Enter Pseudo G3");
+
+ /*
+ * Clean up the UART buffer and prevent any unwanted garbage characters
+ * before power off and also ensure above debug message is printed.
+ */
+ cflush();
+
+ gpio_set_level(GPIO_EC_HIB_L, 1);
+ gpio_set_level(GPIO_SMC_SHUTDOWN, 1);
+
+ /* Power to EC should shut down now */
+ while (1)
+ ;
+}
diff --git a/board/strago/board.h b/board/strago/board.h
index 1bf563a642..77f26afdb3 100644
--- a/board/strago/board.h
+++ b/board/strago/board.h
@@ -25,7 +25,6 @@
#define CONFIG_POWER_BUTTON
#define CONFIG_POWER_BUTTON_X86
#define CONFIG_LID_SWITCH
-#define CONFIG_LOW_POWER_PSEUDO_G3
#define CONFIG_POWER_COMMON
#define CONFIG_POWER_SHUTDOWN_PAUSE_IN_S5
#define CONFIG_EXTPOWER_GPIO