summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyoung Kim <kyoung.il.kim@intel.com>2016-01-11 11:42:02 -0800
committerchrome-bot <chrome-bot@chromium.org>2016-01-13 15:03:43 -0800
commit6e2d2982499ff65d447f629e68ab19a2f8bdbf9b (patch)
tree2dd46f2a5e6c5fadb7c8e54083b3b3c021086b37
parentc980765b05273f9f952aabde979452d13649fbb7 (diff)
downloadchrome-ec-6e2d2982499ff65d447f629e68ab19a2f8bdbf9b.tar.gz
Skylake: prevent EC from continuing execution after turning 3.3V_DSW off.
Without this patch, EC continues to execute including board_pmic_init() and its i2c transaction can be disturbed in the middle without proper i2c stop and following new i2c transaction might fails. BUG=none BRANCH=master TEST=none Change-Id: Iaa39d3531faa5af24c1c4b445de014c9e263a021 Signed-off-by: Kyoung Kim <kyoung.il.kim@intel.com> Reviewed-on: https://chromium-review.googlesource.com/321342 Commit-Ready: Kyoung Il Kim <kyoung.il.kim@intel.com> Tested-by: Kyoung Il Kim <kyoung.il.kim@intel.com> Reviewed-by: Kevin K Wong <kevin.k.wong@intel.com> Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r--board/chell/board.c2
-rw-r--r--board/glados/board.c2
-rw-r--r--board/kunimitsu/board.c2
-rw-r--r--board/lars/board.c2
-rw-r--r--board/wheatley/board.c2
5 files changed, 10 insertions, 0 deletions
diff --git a/board/chell/board.c b/board/chell/board.c
index 992ef0505b..0fb6ec5b1f 100644
--- a/board/chell/board.c
+++ b/board/chell/board.c
@@ -406,5 +406,7 @@ static void board_handle_reboot(void)
/* Bring down all rails but RTC rail (including EC power). */
gpio_set_level(GPIO_PMIC_LDO_EN, 1);
+ while (1)
+ ; /* wait here */
}
DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST);
diff --git a/board/glados/board.c b/board/glados/board.c
index ff1aada1f3..68d261d13e 100644
--- a/board/glados/board.c
+++ b/board/glados/board.c
@@ -478,6 +478,8 @@ static void board_handle_reboot(void)
/* Bring down all rails but RTC rail (including EC power). */
gpio_set_flags_by_mask(g->port, g->mask, GPIO_OUT_HIGH);
+ while (1)
+ ; /* wait here */
}
DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST);
diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c
index f4dcd3d1d3..6b1f199b8e 100644
--- a/board/kunimitsu/board.c
+++ b/board/kunimitsu/board.c
@@ -604,5 +604,7 @@ static void board_handle_reboot(void)
/* Bring down all rails but RTC rail (including EC power). */
gpio_set_level(GPIO_LDO_EN, 1);
+ while (1)
+ ; /* wait here */
}
DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST);
diff --git a/board/lars/board.c b/board/lars/board.c
index 4c6f653cc3..5fb2c675e0 100644
--- a/board/lars/board.c
+++ b/board/lars/board.c
@@ -541,5 +541,7 @@ static void board_handle_reboot(void)
/* Bring down all rails but RTC rail (including EC power). */
gpio_set_level(GPIO_LDO_EN, 1);
+ while (1)
+ ; /* wait here */
}
DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST);
diff --git a/board/wheatley/board.c b/board/wheatley/board.c
index d00bcc623d..d5d465d12c 100644
--- a/board/wheatley/board.c
+++ b/board/wheatley/board.c
@@ -430,6 +430,8 @@ static void board_handle_reboot(void)
/* Bring down all rails but RTC rail (including EC power). */
gpio_set_flags_by_mask(g->port, g->mask, GPIO_OUT_HIGH);
+ while (1)
+ ; /* wait here */
}
DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST);