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>
This commit is contained in:
Felipe Balbi 2016-07-14 16:32:10 +03:00 committed by Andreas Fritiofson
parent f545044c2a
commit 3e7cfc6709
2 changed files with 7 additions and 4 deletions

View File

@ -61,10 +61,13 @@ proc stm32l0_enable_HSI16 {} {
echo "STM32L0: Enabling HSI16" echo "STM32L0: Enabling HSI16"
# Set HSI16ON in RCC_CR (leave MSI enabled) # Set HSI16ON in RCC_CR (leave MSI enabled)
mww 0x40021000 0x00000101 mmw 0x40021000 0x00000101 0
# Set HSI16 as SYSCLK (RCC_CFGR) # 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 # Increase speed
adapter_khz 2500 adapter_khz 2500

View File

@ -73,10 +73,10 @@ proc stm32l_enable_HSI {} {
echo "STM32L: Enabling HSI" echo "STM32L: Enabling HSI"
# Set HSION in RCC_CR # Set HSION in RCC_CR
mww 0x40023800 0x00000101 mmw 0x40023800 0x00000101 0
# Set HSI as SYSCLK # Set HSI as SYSCLK
mww 0x40023808 0x00000001 mmw 0x40023808 0x00000001 0
# Increase JTAG speed # Increase JTAG speed
adapter_khz 2000 adapter_khz 2000