12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- # SPDX-License-Identifier: GPL-2.0-or-later
- # This is a stm32h735g-dk with a single STM32H735IGK6 chip.
- # https://www.st.com/en/evaluation-tools/stm32h735g-dk.html
- #
- # This is for using the onboard STLINK
- source [find interface/stlink.cfg]
- transport select hla_swd
- set CHIPNAME stm32h730vbt6
- set OCTOSPI1 1
- source [find target/stm32h7x.cfg]
- # OCTOSPI initialization
- # octo: 4-line mode
- proc octospi_init { octo } {
- global a b
- mmw 0x58024540 0x000006FF 0 ;# RCC_AHB4ENR |= GPIOAEN-GPIOKEN (enable clocks)
- mmw 0x58024534 0x00284000 0 ;# RCC_AHB3ENR |= IOMNGREN, OSPI2EN, OSPI1EN (enable clocks)
- sleep 1 ;# Wait for clock startup
- mww 0x5200B404 0x03010111 ;# OCTOSPIM_P1CR: enable port 1
- mww 0x5200B408 0x00000000 ;# OCTOSPIM_P2CR: disable Port 2
- # PA07:AF10:V, PA06:AF06:V, PB02:AF09:V, PB01:AF04:V, PB00:AF04:V, PE11:AF11:V
- # Port A: PA07:AF10:V, PA06:AF06:V
- mmw 0x58020000 0x0000A000 0x00005000 ;# MODER
- mmw 0x58020008 0x0000F000 0x00000000 ;# OSPEEDR
- mmw 0x5802000C 0x00000000 0x0000F000 ;# PUPDR
- mmw 0x58020020 0xA6000000 0x59000000 ;# AFRL
- # Port B: PB02:AF09:V, PB01:AF04:V, PB00:AF04:V
- mmw 0x58020400 0x0000002A 0x00000015 ;# MODER
- mmw 0x58020408 0x0000003F 0x00000000 ;# OSPEEDR
- mmw 0x5802040C 0x00000000 0x0000003F ;# PUPDR
- mmw 0x58020420 0x00000944 0x000006BB ;# AFRL
- # Port E: PE11:AF11:V
- mmw 0x58021000 0x00800000 0x00400000 ;# MODER
- mmw 0x58021008 0x00C00000 0x00000000 ;# OSPEEDR
- mmw 0x5802100C 0x00000000 0x00C00000 ;# PUPDR
- mmw 0x58021024 0x0000B000 0x00004000 ;# AFRH
- # OCTOSPI1: memory-mapped 1-line read mode with 4-byte addresses
- mww 0x52005130 0x00001000
- mww 0x52005000 0x3040000B
- mww 0x52005008 0x01160100
- mww 0x5200500c 0x00000005
- mww 0x52005108 0x00000000
- mww 0x52005100 0x01012101
- mww 0x52005110 0x00000013
- sleep 1
- flash probe $a ;# load configuration from CR, TCR, CCR, IR register values
- }
- $_CHIPNAME.cpu0 configure -event reset-init {
- global OCTOSPI1
- global OCTOSPI2
- mmw 0x52002000 0x00000004 0x0000000B ;# FLASH_ACR: 4 WS for 192 MHZ HCLK
- mmw 0x58024400 0x00000001 0x00000018 ;# RCC_CR: HSIDIV=1, HSI on
- mmw 0x58024410 0x10000000 0xEE000007 ;# RCC_CFGR: MCO2=system, MCO2PRE=8, HSI as system clock
- mww 0x58024418 0x00000040 ;# RCC_D1CFGR: D1CPRE=1, D1PPRE=2, HPRE=1
- mww 0x5802441C 0x00000440 ;# RCC_D2CFGR: D2PPRE2=2, D2PPRE1=2
- mww 0x58024420 0x00000040 ;# RCC_D3CFGR: D3PPRE=2
- mww 0x58024428 0x00000040 ;# RCC_PPLCKSELR: DIVM3=0, DIVM2=0, DIVM1=4, PLLSRC=HSI
- mmw 0x5802442C 0x0001000C 0x00000002 ;# RCC_PLLCFGR: PLL1RGE=8MHz to 16MHz, PLL1VCOSEL=wide
- mww 0x58024430 0x01070217 ;# RCC_PLL1DIVR: 192 MHz: DIVR1=2, DIVQ=8, DIVP1=2, DIVN1=24
- mmw 0x58024400 0x01000000 0 ;# RCC_CR: PLL1ON=1
- sleep 1
- mmw 0x58024410 0x00000003 0 ;# RCC_CFGR: PLL1 as system clock
- sleep 1
- adapter speed 24000
- octospi_init 1
- }
|