stm32l0|l1: don't corrupt RCC registers
[fw/openocd] / tcl / target / stm32l0.cfg
index ec5d5463ebb1828c07fddf35427f06d4343136ee..e09af80018d6504d070f5bc1c1f1b019b39e3fbe 100644 (file)
@@ -61,10 +61,13 @@ proc stm32l0_enable_HSI16 {} {
        echo "STM32L0: Enabling HSI16"
 
        # Set HSI16ON in RCC_CR (leave MSI enabled)
-       mww 0x40021000 0x00000101
+    mmw 0x40021000 0x00000101 0
 
        # Set HSI16 as SYSCLK (RCC_CFGR)
-       mww 0x4002100c 0x00000001
+       mmw 0x4002100c 0x00000001 0
+
+       # Wait until System clock switches to HSI16
+       while { ([ mrw 0x4002100c ] & 0x0c) != 0x04 } { }
 
        # Increase speed
        adapter_khz 2500