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:
parent
f545044c2a
commit
3e7cfc6709
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue