aboutsummaryrefslogtreecommitdiff
path: root/tcl/target/pxa255.cfg
blob: c79ea4c9a2bc37634f67d18ec2b871e0949f698d (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
if { [info exists CHIPNAME] } {	
   set  _CHIPNAME $CHIPNAME    
} else {	 
   set  _CHIPNAME pxa255
}

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

if { [info exists CPUTAPID ] } {
   set _CPUTAPID $CPUTAPID
} else {
  # force an error till we get a good number
   set _CPUTAPID 0xffffffff
}

jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUTAPID

jtag_nsrst_delay 200
jtag_ntrst_delay 200
set _TARGETNAME [format "%s.cpu" $_CHIPNAME]
target create $_TARGETNAME xscale -endian $_ENDIAN -chain-position $_TARGETNAME -variant pxa255
$_TARGETNAME configure -event reset-init {
	xscale cp15   15      0x00002001  #Enable CP0 and CP13 access
	#
	# setup GPIO
	#
	mww    0x40E00018  0x00008000  #CPSR0
	sleep   20
	mww    0x40E0001C  0x00000002  #GPSR1
	sleep   20
	mww    0x40E00020  0x00000008  #GPSR2
	sleep   20
	mww    0x40E0000C  0x00008000  #GPDR0
	sleep   20
	mww    0x40E00054  0x80000000  #GAFR0_L
	sleep   20
	mww    0x40E00058  0x00188010  #GAFR0_H
	sleep   20
	mww    0x40E0005C  0x60908018  #GAFR1_L
	sleep   20
	mww    0x40E0000C  0x0280E000  #GPDR0
	sleep   20
	mww    0x40E00010  0x821C88B2  #GPDR1
	sleep   20
	mww    0x40E00014  0x000F03DB  #GPDR2
	sleep   20
	mww    0x40E00000  0x000F03DB  #GPLR0
	sleep   20


	mww    0x40F00004  0x00000020  #PSSR
	sleep   20

	#
	# setup memory controller
	#
	mww    0x48000008  0x01111998  #MSC0
	sleep   20
	mww    0x48000010  0x00047ff0  #MSC2
	sleep   20
	mww    0x48000014  0x00000000  #MECR
	sleep   20
	mww    0x48000028  0x00010504  #MCMEM0
	sleep   20
	mww    0x4800002C  0x00010504  #MCMEM1
	sleep   20
	mww    0x48000030  0x00010504  #MCATT0
	sleep   20
	mww    0x48000034  0x00010504  #MCATT1
	sleep   20
	mww    0x48000038  0x00004715  #MCIO0
	sleep   20
	mww    0x4800003C  0x00004715  #MCIO1
	sleep   20
	#
	mww    0x48000004  0x03CA4018  #MDREF
	sleep   20
	mww    0x48000004  0x004B4018  #MDREF
	sleep   20
	mww    0x48000004  0x000B4018  #MDREF
	sleep   20
	mww    0x48000004  0x000BC018  #MDREF
	sleep   20
	mww    0x48000000  0x00001AC8  #MDCNFG
	sleep   20

	sleep   20

	mww    0x48000000  0x00001AC9  #MDCNFG
	sleep   20
	mww    0x48000040  0x00000000  #MDMRS
	sleep   20
}

reset_config trst_and_srst



#xscale debug_handler 0  0xFFFF0800      # debug handler base address