[coreboot-gerrit] New patch to review for coreboot: c06dd33 Add delay before reading GPIOs in gpio_base2_value()
Patrick Georgi (pgeorgi@google.com)
gerrit at coreboot.org
Thu Apr 16 10:26:45 CEST 2015
Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/9725
-gerrit
commit c06dd33456ad5401a89be662fe624999d000ba3f
Author: David Hendricks <dhendrix at chromium.org>
Date: Wed Jan 14 20:41:30 2015 -0800
Add delay before reading GPIOs in gpio_base2_value()
This adds a 10us delay in between (re-)configuring and reading
GPIOs in gpio_base2_value() to give the values stored some time
to update.
As far as I know this hasn't bitten us since the function was
added, but adding a short delay here seems like the right thing
to do.
BUG=none
BRANCH=none
TEST=built and booted on Brain
Change-Id: I869cf375680435ad87729f93d29a623bdf09dfbc
Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
Original-Commit-Id: 2484900fc9ceba87220a293de8ef20c3b9b20cfd
Original-Signed-off-by: David Hendricks <dhendrix at chromium.org>
Original-Change-Id: I79616a09d8d2ce4e416ffc94e35798dd25a6250d
Original-Reviewed-on: https://chromium-review.googlesource.com/240854
Original-Reviewed-by: Julius Werner <jwerner at chromium.org>
---
src/lib/gpio.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/lib/gpio.c b/src/lib/gpio.c
index 0875538..633eabb 100644
--- a/src/lib/gpio.c
+++ b/src/lib/gpio.c
@@ -26,10 +26,14 @@ int gpio_base2_value(gpio_t gpio[], int num_gpio)
{
int i, result = 0;
- for (i = 0; i < num_gpio; i++) {
+ for (i = 0; i < num_gpio; i++)
gpio_input(gpio[i]);
+
+ /* Wait until signals become stable */
+ udelay(10);
+
+ for (i = 0; i < num_gpio; i++)
result |= gpio_get(gpio[i]) << i;
- }
return result;
}
More information about the coreboot-gerrit
mailing list