2022-06-12 16:42:27 -05:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2010-12-16 08:33:16 -06:00
|
|
|
################################################################################
|
|
|
|
# Author: Michael Trensch (MTrensch@googlemail.com)
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
#Hilscher netX 50 CPU
|
|
|
|
|
|
|
|
if { [info exists CHIPNAME] } {
|
2011-10-29 16:32:17 -05:00
|
|
|
set _CHIPNAME $CHIPNAME
|
2010-12-16 08:33:16 -06:00
|
|
|
} else {
|
2011-10-29 16:32:17 -05:00
|
|
|
set _CHIPNAME netx50
|
2010-12-16 08:33:16 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
if { [info exists ENDIAN] } {
|
2011-10-29 16:32:17 -05:00
|
|
|
set _ENDIAN $ENDIAN
|
2010-12-16 08:33:16 -06:00
|
|
|
} else {
|
2011-10-29 16:32:17 -05:00
|
|
|
set _ENDIAN little
|
2010-12-16 08:33:16 -06:00
|
|
|
}
|
|
|
|
|
2011-10-29 16:32:17 -05:00
|
|
|
if { [info exists CPUTAPID] } {
|
2010-12-16 08:33:16 -06:00
|
|
|
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!"
|
|
|
|
}
|