diff options
author | Felipe Balbi <balbi@kernel.org> | 2016-07-14 16:32:10 +0300 |
---|---|---|
committer | Andreas Fritiofson <andreas.fritiofson@gmail.com> | 2019-10-18 09:17:33 +0100 |
commit | 3e7cfc67099086481fe24da0a30d26bd8d9f74a9 (patch) | |
tree | b1460f2fc876da8ffde0242e0276c7a4add68114 /tcl | |
parent | f545044c2a37a44a51e2a07bdcd52df4eed86a4a (diff) |
stm32l0|l1: don't corrupt RCC registers
instead of overwriting Reset settings, let's
read-modify-write RCC registers.
Change-Id: I21b7e26e6007d3c3d73803c681c980c6947f5910
Signed-off-by: Felipe Balbi <balbi@kernel.org>
Reviewed-on: http://openocd.zylin.com/3601
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'tcl')
-rw-r--r-- | tcl/target/stm32l0.cfg | 7 | ||||
-rw-r--r-- | tcl/target/stm32l1.cfg | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/tcl/target/stm32l0.cfg b/tcl/target/stm32l0.cfg index ec5d5463..e09af800 100644 --- a/tcl/target/stm32l0.cfg +++ b/tcl/target/stm32l0.cfg @@ -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 diff --git a/tcl/target/stm32l1.cfg b/tcl/target/stm32l1.cfg index 054fa9b7..0933151a 100644 --- a/tcl/target/stm32l1.cfg +++ b/tcl/target/stm32l1.cfg @@ -73,10 +73,10 @@ proc stm32l_enable_HSI {} { echo "STM32L: Enabling HSI" # Set HSION in RCC_CR - mww 0x40023800 0x00000101 + mmw 0x40023800 0x00000101 0 # Set HSI as SYSCLK - mww 0x40023808 0x00000001 + mmw 0x40023808 0x00000001 0 # Increase JTAG speed adapter_khz 2000 |