From f136524d002ce4b0ad46836d53c6ca880ef92118 Mon Sep 17 00:00:00 2001 From: Varadarajan Narayanan Date: Wed, 20 Apr 2016 11:32:19 +0530 Subject: google/gale: Turn on monotonic timer support Without monotonic timer support, timer related APIs like timer_monotonic_get etc. are optimized out by the compiler. This results in timed loops to become indefinite loops stopwatch_init_msecs_expire(...); do { something(); } while (!stopwatch_expired(...)); In our specific case, loops sampling the recovery/wipeout button in src/mainboard/google/gale/chromeos.c:get_switch_state() turned into infinite loops and the boot didn't proceed. BUG=chrome-os-partner:49249 TEST=Confirmed that the loop breaks per the specified timeout using the minicom's console log time stamps [2016-04-11 12:34:37] recovery button pressed [2016-04-11 12:34:45] wipeout requested, checking recovery [2016-04-11 12:34:53] recovery requested BRANCH=none Change-Id: I7ed2616c50ebb28b43ad769d3105f7d4e31b1114 Signed-off-by: Patrick Georgi Original-Commit-Id: e00f888570b577849cb526220ffe6f22fe9d2ece Original-Change-Id: Ic0b800558ebce482da6321c30dbf732080b82941 Original-Signed-off-by: Varadarajan Narayanan Original-Reviewed-on: https://chromium-review.googlesource.com/339873 Original-Commit-Ready: David Hendricks Original-Tested-by: Kan Yan Original-Reviewed-by: David Hendricks Original-Reviewed-by: Kan Yan Reviewed-on: https://review.coreboot.org/14673 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer Reviewed-by: Martin Roth --- src/soc/qualcomm/ipq40xx/Kconfig | 1 + 1 file changed, 1 insertion(+) (limited to 'src/soc') diff --git a/src/soc/qualcomm/ipq40xx/Kconfig b/src/soc/qualcomm/ipq40xx/Kconfig index 9817c1f17c..48497be5ac 100644 --- a/src/soc/qualcomm/ipq40xx/Kconfig +++ b/src/soc/qualcomm/ipq40xx/Kconfig @@ -9,6 +9,7 @@ config SOC_QC_IPQ40XX select HAVE_UART_SPECIAL select SPI_ATOMIC_SEQUENCING select GENERIC_GPIO_LIB + select HAVE_MONOTONIC_TIMER if SOC_QC_IPQ40XX -- cgit v1.2.3