summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-04-28 23:06:24 -0700
committerKeith Packard <keithp@keithp.com>2013-05-07 21:30:27 -0700
commitecb128579e7576fc27c8ca93708f316b9ac91630 (patch)
treec87f4058197004107f3b308e59b62b3ccc30e16e /src
parent4a90eec4b8ee4a35711aa74c13b3f30d12c0fe08 (diff)
altos: Wait after configuring boot pin before testing it
Clearly the pin isn't quite ready just after it's been configured, so hang around for a while (100 nops) to let things setting down before testing the value of the pin. Makes booting a lot more reliable. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/stm/ao_boot_pin.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/stm/ao_boot_pin.c b/src/stm/ao_boot_pin.c
index 03b0214f..1000a65a 100644
--- a/src/stm/ao_boot_pin.c
+++ b/src/stm/ao_boot_pin.c
@@ -31,6 +31,9 @@ ao_boot_check_pin(void)
ao_enable_input(&AO_BOOT_APPLICATION_GPIO, AO_BOOT_APPLICATION_PIN,
AO_BOOT_APPLICATION_MODE);
+ for (v = 0; v < 100; v++)
+ ao_arch_nop();
+
/* Read the value */
v = stm_gpio_get(&AO_BOOT_APPLICATION_GPIO, AO_BOOT_APPLICATION_PIN);