c45873ca9923ef724988a5cfe8a1ac3091d39052
[fw/openocd] / tcl / board / spear310evb20.cfg
1 # Configuration for the ST SPEAr310 Evaluation board
2 # EVALSPEAr310 Rev. 2.0
3 # http://www.st.com/spear
4 #
5 # Date:      2010-08-17
6 # Author:    Antonio Borneo <borneo.antonio@gmail.com>
7
8 # The standard board has JTAG SRST not connected.
9 # This script targets such boards using quirky code to bypass the issue.
10 #
11 # Check ST Application Note AN3321 on how to fix SRST on
12 # the board, then use the script board/spear310evb20_mod.cfg
13
14
15 source [find mem_helper.tcl]
16 source [find target/spear3xx.cfg]
17 source [find chip/st/spear/spear3xx_ddr.tcl]
18 source [find chip/st/spear/spear3xx.tcl]
19
20 arm7_9 dcc_downloads enable
21 arm7_9 fast_memory_access enable
22
23 # CFI parallel NOR on EMI CS0. 2x 16bit 8M devices = 16Mbyte.
24 set _FLASHNAME0 $_CHIPNAME.pnor
25 flash bank $_FLASHNAME0 cfi 0x50000000 0x01000000 2 4 $_TARGETNAME
26
27 # Serial NOR on SMI CS0. 8Mbyte.
28 set _FLASHNAME1 $_CHIPNAME.snor
29 flash bank $_FLASHNAME1 stmsmi 0xf8000000 0 0 0 $_TARGETNAME
30
31 if { [info exists BOARD_HAS_SRST] } {
32         # Modified board has SRST on JTAG connector
33         reset_config trst_and_srst separate srst_gates_jtag \
34                 trst_push_pull srst_open_drain
35 } else {
36         # Standard board has no SRST on JTAG connector
37         reset_config trst_only separate srst_gates_jtag trst_push_pull
38         source [find chip/st/spear/quirk_no_srst.tcl]
39 }
40
41 $_TARGETNAME configure -event reset-init { spear310evb20_init }
42
43 proc spear310evb20_init {} {
44         reg pc 0xffff0020       ;# loop forever
45
46         sp3xx_clock_default
47         sp3xx_common_init
48         sp3xx_ddr_init "mt47h64m16_3_333_cl5_async"
49         sp310_init
50         sp310_emi_init
51 }