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

source [find target/c100.cfg]
# basic register definition for C100
source [find target/c100regs.tcl]
# board-config info
source [find target/c100config.tcl]
# C100 helper functions
source [find target/c100helper.tcl]


# Telo board & C100 support trst and srst
# make the reset asserted to
# allow RC circuit to discharge for: [ms]
adapter srst pulse_width 100
jtag_ntrst_assert_width 100
# don't talk to JTAG after reset for: [ms]
adapter srst delay 100
jtag_ntrst_delay 100
reset_config trst_and_srst separate




# issue telnet: reset init
# issue gdb: monitor reset init
$_TARGETNAME configure -event reset-init {
	adapter speed 100
	# this will setup Telo board
	setupTelo
	#turn up the JTAG speed
	adapter speed 3000
	echo "JTAG speek now 3MHz"
	echo "type helpC100 to get help on C100"
}

$_TARGETNAME configure -event reset-deassert-post {
	# Force target into ARM state.
#	soft_reset_halt ;# not implemented on ARM11
	echo "Detected SRSRT asserted on C100.CPU"

}

$_TARGETNAME configure -event reset-assert-post {
  echo "Assering reset"
  #sleep 10
}

proc power_restore {} { echo "Sensed power restore. No action." }
proc srst_deasserted {} { echo "Sensed nSRST deasserted. No action." }


# boots from NOR on CS0:  8 MBytes CFI flash, 16-bit bus
# it's really 16MB but the upper 8mb is controller via gpio
# openocd does not support 'complex reads/writes' to NOR
set _FLASHNAME $_CHIPNAME.flash
flash bank $_FLASHNAME cfi 0x20000000 0x01000000 2 2 $_TARGETNAME

# writing data to memory does not work without this
arm11 memwrite burst disable
