| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # SPDX-License-Identifier: GPL-2.0-or-later
- # This is an STM32 eval board with a single STM32F103ZET6 chip.
- # http://www.st.com/internet/evalboard/product/204176.jsp
- # increase working area to 32KB for faster flash programming
- set WORKAREASIZE 0x8000
- source [find target/stm32f1x.cfg]
- #
- # configure FSMC Bank 1 (NOR/PSRAM Bank 2) NOR flash
- # M29W128GL70ZA6E
- #
- set _FLASHNAME $_CHIPNAME.norflash
- flash bank $_FLASHNAME cfi 0x64000000 0x01000000 2 2 $_TARGETNAME
- proc stm32_enable_fsmc {} {
- echo "Enabling FSMC Bank 1 (NOR/PSRAM Bank 2)"
- # enable gpio (defg) clocks for fsmc
- # RCC_APB2ENR
- mww 0x40021018 0x000001E0
- # enable fsmc clock
- # RCC_AHBENR
- mww 0x40021014 0x00000114
- # configure gpio to alternate function
- # GPIOD_CRL
- mww 0x40011400 0x44BB44BB
- # GPIOD_CRH
- mww 0x40011404 0xBBBBBBBB
- # GPIOE_CRL
- mww 0x40011800 0xBBBBB444
- # GPIOE_CRH
- mww 0x40011804 0xBBBBBBBB
- # GPIOF_CRL
- mww 0x40011C00 0x44BBBBBB
- # GPIOF_CRH
- mww 0x40011C04 0xBBBB4444
- # GPIOG_CRL
- mww 0x40012000 0x44BBBBBB
- # GPIOG_CRH
- mww 0x40012004 0x444444B4
- # setup fsmc timings
- # FSMC_BCR1
- mww 0xA0000008 0x00001058
- # FSMC_BTR1
- mww 0xA000000C 0x10000502
- # FSMC_BCR1 - enable fsmc
- mww 0xA0000008 0x00001059
- }
- $_TARGETNAME configure -event reset-init {
- stm32_enable_fsmc
- }
|