1 # SPDX-License-Identifier: GPL-2.0-or-later
3 # This is an STM32 eval board with a single STM32F103ZET6 chip.
4 # http://www.st.com/internet/evalboard/product/204176.jsp
6 # increase working area to 32KB for faster flash programming
7 set WORKAREASIZE 0x8000
9 source [find target/stm32f1x.cfg]
12 # configure FSMC Bank 1 (NOR/PSRAM Bank 2) NOR flash
16 set _FLASHNAME $_CHIPNAME.norflash
17 flash bank $_FLASHNAME cfi 0x64000000 0x01000000 2 2 $_TARGETNAME
19 proc stm32_enable_fsmc {} {
21 echo "Enabling FSMC Bank 1 (NOR/PSRAM Bank 2)"
23 # enable gpio (defg) clocks for fsmc
25 mww 0x40021018 0x000001E0
29 mww 0x40021014 0x00000114
31 # configure gpio to alternate function
33 mww 0x40011400 0x44BB44BB
35 mww 0x40011404 0xBBBBBBBB
38 mww 0x40011800 0xBBBBB444
40 mww 0x40011804 0xBBBBBBBB
43 mww 0x40011C00 0x44BBBBBB
45 mww 0x40011C04 0xBBBB4444
48 mww 0x40012000 0x44BBBBBB
50 mww 0x40012004 0x444444B4
54 mww 0xA0000008 0x00001058
57 mww 0xA000000C 0x10000502
59 # FSMC_BCR1 - enable fsmc
60 mww 0xA0000008 0x00001059
63 $_TARGETNAME configure -event reset-init {