# Target configuration for the ST SPEAr3xx family of system on chip
# Supported SPEAr300, SPEAr310, SPEAr320
# http://www.st.com/spear
#
# Processor: ARM926ejs
# Info:      JTAG tap: spear3xx.cpu tap/device found: 0x07926041
# Date:      2009-10-31
# Author:    Antonio Borneo <borneo.antonio@gmail.com>

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

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

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

jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x01 -irmask 0x03 \
	-expected-id $_CPUTAPID

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME arm926ejs -endian $_ENDIAN \
	-chain-position $_TARGETNAME

# SPEAr3xx has a 8K block of sram @ 0xd280.0000
# REVISIT: what OS puts virtual address equal to phys?
$_TARGETNAME configure \
	-work-area-virt 0xd2800000 \
	-work-area-phys 0xd2800000 \
	-work-area-size 0x2000 \
	-work-area-backup 0
