# SPDX-License-Identifier: GPL-2.0-or-later

######################################
# Target:    Toshiba TMPA910
######################################

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

# Toshiba TMPA910 series MCUs are always little endian as per datasheet.
set _ENDIAN little

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

#TMPA910 has following IDs:
# CP15.0 register 0x41069265
# CP15.1 register 0x1d152152
# ARM core 0x07926031


#
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst
adapter srst delay 20
jtag_ntrst_delay 20

######################
# Target configuration
######################

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

# Internal RAM-0 (16kB): 0xf8004000
# Internal RAM-1 (16kB): 0xf8008000
# Internal RAM-2 (16kB): 0xf800c000

# Use internal RAM-0, RAM-1, and RAM-2 as working area (48kB total).
$_TARGETNAME configure -work-area-phys 0xf8004000 -work-area-size 0xc000 \
-work-area-backup 0
