diff options
author | Michael Trensch <MTrensch@googlemail.com> | 2010-12-16 15:33:16 +0100 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-12-18 21:11:57 +0100 |
commit | 6839618062f07a12bd969da8dc54546f96938b67 (patch) | |
tree | fa9bdf90c100e3aa84bcabe7711f7f4ff199367f /tcl/target/hilscher_netx500.cfg | |
parent | c9544e411dce8e1c9f0513dee55834779f32bcb0 (diff) |
Add support for Hilscher netX controllers
Diffstat (limited to 'tcl/target/hilscher_netx500.cfg')
-rw-r--r-- | tcl/target/hilscher_netx500.cfg | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tcl/target/hilscher_netx500.cfg b/tcl/target/hilscher_netx500.cfg new file mode 100644 index 00000000..3b9e3d8e --- /dev/null +++ b/tcl/target/hilscher_netx500.cfg @@ -0,0 +1,47 @@ +#Hilscher netX 500 CPU + +if { [info exists CHIPNAME] } { + set _CHIPNAME $CHIPNAME +} else { + set _CHIPNAME netx500 +} + +if { [info exists ENDIAN] } { + set _ENDIAN $ENDIAN +} else { + set _ENDIAN little +} + +if { [info exists CPUTAPID ] } { + set _CPUTAPID $CPUTAPID +} else { + set _CPUTAPID 0x07926021 +} + +# 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 arm926ejs -endian $_ENDIAN -chain-position $_TARGETNAME + +proc mread32 {addr} { + set value(0) 0 + mem2array value 32 $addr 1 + return $value(0) +} + +# This function must be called on netX100/500 right after halt +# If it is called later the needed register cannot be written anymore +proc sdram_fix { } { + + set accesskey [mread32 0x00100070] + mww 0x00100070 [expr $accesskey] + mww 0x0010002c 0x00000001 + + if {[expr [mread32 0x0010002c] & 0x07] == 0x07} { + puts "SDRAM Fix was not executed. Probably your CPU halted too late and the register is already locked!" + } else { + puts "SDRAM Fix succeeded!" + } +} |