e5512eade0f56a078168691a6fcd66306eac6d8b
[openocd.git] / tcl / board / stm32h7b3i-disco.cfg
1 # This is a stm32h7b3i-dk with a single STM32H7B3LIH6Q chip.
2 # https://www.st.com/en/evaluation-tools/stm32h7b3i-dk.html
3 #
4
5 # This is for using the onboard STLINK
6 source [find interface/stlink.cfg]
7
8 transport select hla_swd
9
10 set CHIPNAME stm32h7b3lih6q
11
12 # enable stmqspi
13 if {![info exists OCTOSPI1]} {
14 set OCTOSPI1 1
15 set OCTOSPI2 0
16 }
17
18 source [find target/stm32h7x_dual_bank.cfg]
19
20 # OCTOSPI initialization
21 # octo: 8-line mode
22 proc octospi_init { octo } {
23 global a b
24 mmw 0x58024540 0x000007FF 0 ;# RCC_AHB4ENR |= GPIOAEN-GPIOKEN (enable clocks)
25 mmw 0x58024534 0x00284000 0 ;# RCC_AHB3ENR |= IOMNGREN, OSPI2EN, OSPI1EN (enable clocks)
26 sleep 1 ;# Wait for clock startup
27
28 mww 0x5200B404 0x03010111 ;# OCTOSPIM_P1CR: assign Port 1 to OCTOSPI1
29 mww 0x5200B408 0x00000000 ;# OCTOSPIM_P2CR: disable Port 2
30
31 # PG06: OCSPI1_NCS, PB02: OCSPI1_CLK, PC05: OCSPI1_DQS, PD07: OCSPI1_IO7, PG09: OCSPI1_IO6, PH03: OCSPI1_IO5,
32 # PC01: OCSPI1_IO4, PF06: OCSPI1_IO3, PF07: OCSPI1_IO2, PF09: OCSPI1_IO1, PD11: OCSPI1_IO0
33
34 # PB02:AF09:V, PC05:AF10:V, PC01:AF10:V, PD11:AF09:V, PD07:AF10:V, PF09:AF10:V
35 # PF07:AF10:V, PF06:AF10:V, PG09:AF09:V, PG06:AF10:V, PH03:AF09:V
36 # Port B: PB02:AF09:V
37 mmw 0x58020400 0x00000020 0x00000010 ;# MODER
38 mmw 0x58020408 0x00000030 0x00000000 ;# OSPEEDR
39 mmw 0x5802040C 0x00000000 0x00000030 ;# PUPDR
40 mmw 0x58020420 0x00000900 0x00000600 ;# AFRL
41 # Port C: PC05:AF10:V, PC01:AF10:V
42 mmw 0x58020800 0x00000808 0x00000404 ;# MODER
43 mmw 0x58020808 0x00000C0C 0x00000000 ;# OSPEEDR
44 mmw 0x5802080C 0x00000000 0x00000C0C ;# PUPDR
45 mmw 0x58020820 0x00A000A0 0x00500050 ;# AFRL
46 # Port D: PD11:AF09:V, PD07:AF10:V
47 mmw 0x58020C00 0x00808000 0x00404000 ;# MODER
48 mmw 0x58020C08 0x00C0C000 0x00000000 ;# OSPEEDR
49 mmw 0x58020C0C 0x00000000 0x00C0C000 ;# PUPDR
50 mmw 0x58020C20 0xA0000000 0x50000000 ;# AFRL
51 mmw 0x58020C24 0x00009000 0x00006000 ;# AFRH
52 # Port F: PF09:AF10:V, PF07:AF10:V, PF06:AF10:V
53 mmw 0x58021400 0x0008A000 0x00045000 ;# MODER
54 mmw 0x58021408 0x000CF000 0x00000000 ;# OSPEEDR
55 mmw 0x5802140C 0x00000000 0x000CF000 ;# PUPDR
56 mmw 0x58021420 0xAA000000 0x55000000 ;# AFRL
57 mmw 0x58021424 0x000000A0 0x00000050 ;# AFRH
58 # Port G: PG09:AF09:V, PG06:AF10:V
59 mmw 0x58021800 0x00082000 0x00041000 ;# MODER
60 mmw 0x58021808 0x000C3000 0x00000000 ;# OSPEEDR
61 mmw 0x5802180C 0x00000000 0x000C3000 ;# PUPDR
62 mmw 0x58021820 0x0A000000 0x05000000 ;# AFRL
63 mmw 0x58021824 0x00000090 0x00000060 ;# AFRH
64 # Port H: PH03:AF09:V
65 mmw 0x58021C00 0x00000080 0x00000040 ;# MODER
66 mmw 0x58021C08 0x000000C0 0x00000000 ;# OSPEEDR
67 mmw 0x58021C0C 0x00000000 0x000000C0 ;# PUPDR
68 mmw 0x58021C20 0x00009000 0x00006000 ;# AFRL
69
70 # OCTOSPI1: memory-mapped 1-line read mode with 4-byte addresses
71 mww 0x52005130 0x00001000 ;# OCTOSPI_LPTR: deactivate CS after 4096 clocks when FIFO is full
72 mww 0x52005000 0x3040000B ;# OCTOSPI_CR: FMODE=0x1, APMS=1, FTHRES=0, FSEL=0, DQM=0, TCEN=0
73 mww 0x52005008 0x01190100 ;# OCTOSPI_DCR1: MTYP=0x1, FSIZE=0x19, CSHT=0x01, CKMODE=0, DLYBYP=0
74 mww 0x5200500C 0x00000005 ;# OCTOSPI_DCR2: PRESCALER=5
75
76 mww 0x52005108 0x00000000 ;# OCTOSPI_TCR: SSHIFT=0, DHQC=0, DCYC=0x0
77 mww 0x52005100 0x01003101 ;# OCTOSPI_CCR: DMODE=0x1, ABMODE=0x0, ADSIZE=0x3, ADMODE=0x1, ISIZE=0x0, IMODE=0x1
78 mww 0x52005110 0x00000013 ;# OCTOSPI_IR: INSTR=READ4B
79
80 flash probe $a ;# load configuration from CR, TCR, CCR, IR register values
81
82 if { $octo == 1 } {
83 stmqspi cmd $a 1 0x71 0x00 0x00 0x00 0x00 ;# Read Conf. Reg. 2, addr 0x00000000: DOPI, SOPI bits
84 stmqspi cmd $a 0 0x06 ;# Write Enable
85 stmqspi cmd $a 1 0x05 ;# Read Status Register
86 stmqspi cmd $a 0 0x72 0x00 0x00 0x00 0x00 0x02 ;# Write Conf. Reg. 2, addr 0x00000000: DTR OPI enable
87
88 # OCTOSPI1: memory-mapped 8-line read mode with 4-byte addresses
89 mww 0x52005000 0x3040000B ;# OCTOSPI_CR: FMODE=0x3, APMS=1, FTHRES=0, FSEL=0, DQM=0, TCEN=1, EN=1
90 mww 0x52005108 0x10000006 ;# OCTOSPI_TCR: SSHIFT=0, DHQC=1, DCYC=0x6
91 mww 0x52005100 0x2C003C1C ;# OCTOSPI_CCR: DTR, DMODE=0x4, ABMODE=0x0, ADSIZE=0x3, ADMODE=0x4, ISIZE=0x1, IMODE=0x4
92 mww 0x52005110 0x0000EE11 ;# OCTOSPI_IR: INSTR=OCTA DTR Read
93
94 flash probe $a ;# reload configuration from CR, TCR, CCR, IR register values
95
96 stmqspi cmd $a 0 0x06 ;# Write Enable
97 stmqspi cmd $a 1 0x05 0x00 0x00 0x00 0x00 ;# Read Status Register (note dummy address in 8-line mode)
98 stmqspi cmd $a 0 0x04 ;# Write Disable
99 stmqspi cmd $a 1 0x05 0x00 0x00 0x00 0x00 ;# Read Status Register (note dummy address in 8-line mode)
100 stmqspi cmd $a 1 0x71 0x00 0x00 0x00 0x00 ;# Read Conf. Reg. 2, addr 0x00000000: DOPI, SOPI bits
101 }
102 }
103
104 $_CHIPNAME.cpu0 configure -event reset-init {
105 global OCTOSPI1
106 global OCTOSPI2
107
108 mmw 0x52002000 0x00000004 0x0000000B ;# FLASH_ACR: 4 WS for 192 MHZ HCLK
109
110 mmw 0x58024400 0x00000001 0x00000018 ;# RCC_CR: HSIDIV=1, HSI on
111 mmw 0x58024410 0x10000000 0xEE000007 ;# RCC_CFGR: MCO2=system, MCO2PRE=8, HSI as system clock
112 mww 0x58024418 0x00000040 ;# RCC_D1CFGR: D1CPRE=1, D1PPRE=2, HPRE=1
113 mww 0x5802441C 0x00000440 ;# RCC_D2CFGR: D2PPRE2=2, D2PPRE1=2
114 mww 0x58024420 0x00000040 ;# RCC_D3CFGR: D3PPRE=2
115 mww 0x58024428 0x00000040 ;# RCC_PPLCKSELR: DIVM3=0, DIVM2=0, DIVM1=4, PLLSRC=HSI
116 mmw 0x5802442C 0x0001000C 0x00000002 ;# RCC_PLLCFGR: PLL1RGE=8MHz to 16MHz, PLL1VCOSEL=wide
117 mww 0x58024430 0x01070217 ;# RCC_PLL1DIVR: 192 MHz: DIVR1=2, DIVQ=8, DIVP1=2, DIVN1=24
118 mmw 0x58024400 0x01000000 0 ;# RCC_CR: PLL1ON=1
119 sleep 1
120 mmw 0x58024410 0x00000003 0 ;# RCC_CFGR: PLL1 as system clock
121 sleep 1
122
123 adapter speed 24000
124
125 if { $OCTOSPI1 } {
126 octospi_init 1
127 }
128 }

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)