target: at91eb40a.cfg is a board, not a target.
[fw/openocd] / tcl / board / at91eb40a.cfg
1 #Script for AT91EB40a
2
3 if { [info exists CHIPNAME] } {
4    set  _CHIPNAME $CHIPNAME
5 } else {
6    set  _CHIPNAME at91eb40a
7 }
8
9 if { [info exists ENDIAN] } {
10    set  _ENDIAN $ENDIAN
11 } else {
12    set  _ENDIAN little
13 }
14
15 if { [info exists CPUTAPID ] } {
16    set _CPUTAPID $CPUTAPID
17 } else {
18   # force an error till we get a good number
19    set _CPUTAPID 0x1f0f0f0f
20 }
21
22
23 #Atmel ties SRST & TRST together, at which point it makes
24 #no sense to use TRST, but use TMS instead.
25 #
26 #The annoying thing with tying SRST & TRST together is that
27 #there is no way to halt the CPU *before and during* the
28 #SRST reset, which means that the CPU will run a number
29 #of cycles before it can be halted(as much as milliseconds).
30 reset_config srst_only srst_pulls_trst
31
32 #jtag scan chain
33 #format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
34 jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
35
36 #target configuration
37 set _TARGETNAME $_CHIPNAME.cpu
38 target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi-s_r4
39
40 # speed up memory downloads
41 arm7_9 fast_memory_access enable
42 arm7_9 dcc_downloads enable
43
44 #flash driver
45 set _FLASHNAME $_CHIPNAME.flash
46 flash bank $_FLASHNAME ecosflash 0x01000000 0x200000 2 2 $_TARGETNAME ecos/at91eb40a.elf
47
48 # required for usable performance. Used for lots of
49 # other things than flash programming.
50 $_TARGETNAME configure -work-area-phys 0x00030000 -work-area-size 0x10000 -work-area-backup 0
51
52 $_TARGETNAME configure -event reset-init {
53         puts "Running reset init script for AT91EB40A"
54         # Reset script for AT91EB40a
55         reg cpsr 0x000000D3
56         mww 0xFFE00020 0x1
57         mww 0xFFE00024 0x00000000
58         mww 0xFFE00000 0x01002539
59         mww 0xFFFFF124 0xFFFFFFFF
60         mww 0xffff0010 0x100
61         mww 0xffff0034 0x100
62 }
63
64 # This target is pretty snappy...
65 jtag_khz 16000