summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-04-28 23:06:24 -0700
committerKeith Packard <keithp@keithp.com>2013-04-28 23:06:24 -0700
commit3b3cd04da359e7084b6b8b048dbdf0a902de47a2 (patch)
tree3a2f5cd050c52ea93751c008df4cb0a9186e16ff
parent1c091062696f541168b91fcfa18ed25519aa6fe5 (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>
-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);