################################################################################ # 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!" }