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

######################################
# Target:    Toshiba TMPA900
######################################

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

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

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

#TMPA900 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 (8kB): 0xf8008000

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