summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/coachz/board.c7
-rw-r--r--board/lazor/board.c11
-rw-r--r--board/pompom/board.c9
-rw-r--r--board/trogdor/board.c9
4 files changed, 36 insertions, 0 deletions
diff --git a/board/coachz/board.c b/board/coachz/board.c
index aa09f671ad..d440c49113 100644
--- a/board/coachz/board.c
+++ b/board/coachz/board.c
@@ -344,6 +344,13 @@ void board_hibernate(void)
int i;
/*
+ * Sensors are unpowered in hibernate. Apply PD to the
+ * interrupt lines such that they don't float.
+ */
+ gpio_set_flags(GPIO_ACCEL_GYRO_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+
+ /*
* Board rev 1+ has the hardware fix. Don't need the following
* workaround.
*/
diff --git a/board/lazor/board.c b/board/lazor/board.c
index 53221ec21c..43dfe33ac3 100644
--- a/board/lazor/board.c
+++ b/board/lazor/board.c
@@ -540,6 +540,17 @@ void board_hibernate(void)
{
int i;
+ if (!board_is_clamshell()) {
+ /*
+ * Sensors are unpowered in hibernate. Apply PD to the
+ * interrupt lines such that they don't float.
+ */
+ gpio_set_flags(GPIO_ACCEL_GYRO_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+ gpio_set_flags(GPIO_LID_ACCEL_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+ }
+
/*
* Board rev 5+ has the hardware fix. Don't need the following
* workaround.
diff --git a/board/pompom/board.c b/board/pompom/board.c
index eb90084e19..afd801401e 100644
--- a/board/pompom/board.c
+++ b/board/pompom/board.c
@@ -247,6 +247,15 @@ void board_hibernate(void)
int i;
/*
+ * Sensors are unpowered in hibernate. Apply PD to the
+ * interrupt lines such that they don't float.
+ */
+ gpio_set_flags(GPIO_ACCEL_GYRO_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+ gpio_set_flags(GPIO_LID_ACCEL_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+
+ /*
* Board rev 2+ has the hardware fix. Don't need the following
* workaround.
*/
diff --git a/board/trogdor/board.c b/board/trogdor/board.c
index 1fe0773230..a17e961f60 100644
--- a/board/trogdor/board.c
+++ b/board/trogdor/board.c
@@ -318,6 +318,15 @@ void board_hibernate(void)
int i;
/*
+ * Sensors are unpowered in hibernate. Apply PD to the
+ * interrupt lines such that they don't float.
+ */
+ gpio_set_flags(GPIO_ACCEL_GYRO_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+ gpio_set_flags(GPIO_LID_ACCEL_INT_L,
+ GPIO_INPUT | GPIO_PULL_DOWN);
+
+ /*
* Enable the PPC power sink path before EC enters hibernate;
* otherwise, ACOK won't go High and can't wake EC up. Check the
* bug b/170324206 for details.