samd21: Enable xosc AGC. Wait longer for xosc to start samd21-clock
authorKeith Packard <keithp@keithp.com>
Sat, 18 Feb 2023 23:27:39 +0000 (15:27 -0800)
committerKeith Packard <keithp@keithp.com>
Sat, 18 Feb 2023 23:28:50 +0000 (15:28 -0800)
Hoping to avoid having some boards fail to start sometimes.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/samd21/ao_timer.c

index 91d74b12142d49fe9896ab7163d8340567478d8c..51a672ad88ab73028bcd02bfd3e756e037bc3562 100644 (file)
@@ -124,8 +124,8 @@ ao_clock_init(void)
 #ifdef AO_XOSC
        ao_enable_output(&samd21_port_b, 10, 1);
        /* Enable xosc (external xtal oscillator) */
-       samd21_sysctrl.xosc = ((SAMD21_SYSCTRL_XOSC_STARTUP_8192 << SAMD21_SYSCTRL_XOSC_STARTUP) |
-                              (0 << SAMD21_SYSCTRL_XOSC_AMPGC) |
+       samd21_sysctrl.xosc = ((SAMD21_SYSCTRL_XOSC_STARTUP_16384 << SAMD21_SYSCTRL_XOSC_STARTUP) |
+                              (1 << SAMD21_SYSCTRL_XOSC_AMPGC) |
                               (SAMD21_SYSCTRL_XOSC_GAIN_16MHz << SAMD21_SYSCTRL_XOSC_GAIN) |
                               (0 << SAMD21_SYSCTRL_XOSC_ONDEMAND) |
                               (1 << SAMD21_SYSCTRL_XOSC_RUNSTDBY) |