From 3e7cfc67099086481fe24da0a30d26bd8d9f74a9 Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Thu, 14 Jul 2016 16:32:10 +0300 Subject: [PATCH] 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 Reviewed-on: http://openocd.zylin.com/3601 Tested-by: jenkins Reviewed-by: Spencer Oliver --- tcl/target/stm32l0.cfg | 7 +++++-- 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 ec5d5463eb..e09af80018 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 054fa9b74f..0933151a0e 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 -- 2.30.2