aboutsummaryrefslogtreecommitdiff
path: root/tcl/target/hilscher_netx50.cfg
blob: c6510c613810348d27e79cb000f264d927e1f43a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
################################################################################
# Author: Michael Trensch (MTrensch@googlemail.com)
################################################################################

#Hilscher netX 50 CPU

if { [info exists CHIPNAME] } {
   set _CHIPNAME $CHIPNAME
} else {
   set _CHIPNAME netx50
}

if { [info exists ENDIAN] } {
   set _ENDIAN $ENDIAN
} else {
   set _ENDIAN little
}

if { [info exists CPUTAPID] } {
   set _CPUTAPID $CPUTAPID
} else {
   set _CPUTAPID 0x25966021
}

# jtag scan chain
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

# that TAP is associated with a target
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm966e -endian $_ENDIAN -chain-position $_TARGETNAME

# On netX50 SDRAM is not accessible at offset 0xDEAD0-0xDEADF as it is busy from
# DMA controller at init. This function will setup a dummy DMA to free this ares
# and must be called before using SDRAM
proc sdram_fix { } {

  mww 0x1c005830 0x00000001

  mww 0x1c005104 0xBFFFFFFC
  mww 0x1c00510c 0x00480001
  mww 0x1c005110 0x00000001

  sleep 100

  mww 0x1c00510c 0
  mww 0x1c005110 0
  mww 0x1c005830 0x00000000

	puts "SDRAM Fix executed!"
}