1875dacc0ee289591e1f91201310302f53a2d45f
[fw/openocd] / tcl / board / hilscher_nxhx10.cfg
1 ################################################################################
2 # Author: Michael Trensch (MTrensch@googlemail.com)
3 ################################################################################
4
5 source [find target/hilscher_netx10.cfg]
6
7 # Usually it is not needed to set srst_pulls_trst
8 # but sometimes it does not work without it. If you encounter
9 # problems try to line below
10 # reset_config trst_and_srst srst_pulls_trst
11 reset_config trst_and_srst
12 adapter srst delay 500
13 jtag_ntrst_delay 500
14
15 $_TARGETNAME configure -work-area-virt 0x08000000 -work-area-phys 0x08000000 -work-area-size 0x4000 -work-area-backup 1
16
17 # Par. Flash can only be accessed if DIP switch on the board is set in proper
18 # position and init_sdrambus was called. Don't call these functions if the DIP
19 # switch is in invalid position, as some outputs may collide. This is why this
20 # function is not called automatically
21 proc flash_init { } {
22   puts "Configuring SRAM nCS0 for 90ns Par. Flash (x16)"
23   mww 0x101C0100 0x01010008
24
25   flash probe 0
26 }
27
28 proc mread32 {addr} {
29   set value(0) 0
30   mem2array value 32 $addr 1
31   return $value(0)
32 }
33
34 proc init_clocks { } {
35   puts "Enabling all clocks "
36   set accesskey [mread32 0x101c0070]
37   mww  0x101c0070 $accesskey
38
39   mww  0x101c0028 0x00007511
40 }
41
42 proc init_sdrambus { } {
43   puts "Initializing external SDRAM Bus 16 Bit "
44   set accesskey [mread32 0x101c0070]
45   mww  0x101c0070 $accesskey
46   mww  0x101c0C40 0x00000050
47
48   puts "Configuring SDRAM controller for K4S561632E (32MB) "
49   mww 0x101C0140 0
50   sleep 100
51   #mww 0x101C0144 0x00a13262
52   mww 0x101C0144 0x00a13251
53   mww 0x101C0148 0x00000033
54   mww 0x101C0140 0x030d0121
55 }
56
57 $_TARGETNAME configure -event reset-init {
58   halt
59   wait_halt 1000
60
61   arm7_9 fast_memory_access enable
62   arm7_9 dcc_downloads enable
63
64   init_clocks
65 #  init_sdrambus
66
67   puts ""
68   puts "-------------------------------------------------"
69   puts "Call 'init_clocks' to enable all clocks"
70   puts "Call 'init_sdrambus' to enable external SDRAM bus"
71   puts "-------------------------------------------------"
72 }
73
74 #####################
75 # Flash configuration
76 #####################
77
78 #flash bank <name> <driver> <base> <size> <chip width> <bus width> <target#>
79 #flash bank parflash cfi 0xC0000000 0x01000000 2 2 $_TARGETNAME
80
81 init
82 reset init