038fe67b6d25f7a67844bf1f127793f2fe8dfc77
[fw/openocd] / tcl / board / olimex_sam7_la2.cfg
1 source [find target/at91sam7a2.cfg]
2
3 # delays needed to get stable reads of cpu state
4 jtag_ntrst_delay 10
5 adapter srst delay 200
6
7 # board uses pullup and connects only srst
8 reset_config srst_open_drain
9
10 # srst is connected to NRESET of CPU and fully resets everything...
11 reset_config srst_only srst_pulls_trst
12
13 adapter speed 1
14 $_TARGETNAME configure -event reset-start {
15         adapter speed 1
16 }
17
18 $_TARGETNAME configure -event reset-init {
19         # init script from http://www.mikrocontroller.net/topic/107462
20         # AT91SAM7A2
21         # AMC (advanced memory controller)
22
23         echo "setting up AMC"
24         # AMC_CS0 - FLASH 1MB (0x40000000-0x400FFFFF) + DM9000E (0x40100000)
25         mww 0xFFE00000 0x40003EBD
26
27         # AMC_CS1 - RAM low 2MB (0x40400000-0x405FFFFF)
28         mww 0xFFE00004 0x404030A9
29
30         # AMC_CS2 - RAM high 2MB (0x40800000-0x405FFFFF)
31         #mww 0xFFE00008 0x404030A9
32         # changed to  0x40_8_
33         mww 0xFFE00008 0x408030A9
34
35         # AMC_MCR
36         mww 0xFFE00024 0x00000004
37
38         # AMC_RCR force remap
39         mww 0xFFE00020 0x00000001
40
41         echo "set up AMC"
42         sleep 100
43
44         # the following base addresses from the original script did not correspond to those from datasheet
45         # changed bases from 0xFF000000 to 0xFFF00000
46
47         # disable watchdog, to prevent unwanted resets
48         mww 0xFFFA0068 0x00000000
49         echo "disabled watchdog"
50
51         sleep 50
52
53         # disable PLL
54         mww 0xFFFEC004 0x18070004
55
56         # PLL = 10 ==> Coreclock = 6Mhz*10/2 = 30 Mhz
57         mww 0xFFFEC010 0x762D800A
58
59         # enable PLL
60         mww 0xFFFEC000 0x23050004
61         echo "set up pll"
62
63         sleep 100
64         adapter speed 5000
65 }
66
67 $_TARGETNAME arm7_9 dcc_downloads enable
68 $_TARGETNAME arm7_9 fast_memory_access enable
69
70 # remap:  ram at 0, flash at 0x40000000, like reset-init above does
71 $_TARGETNAME configure -work-area-phys 0x00000000 -work-area-size 0x4000 -work-area-backup 1
72 flash bank onboard.flash cfi 0x40000000 0x00100000 2 2 at91sam7a2.cpu
73
74 # boot: ram at 0x300000, flash at 0x0, useful if board is in funny configuration
75 #$_TARGETNAME configure -work-area-phys 0x00300000 -work-area-size 0x4000 -work-area-backup 1
76 #flash bank onboard1.flash cfi 0x00000000 0x00100000 2 2 at91sam7a2.cpu