# SPDX-License-Identifier: GPL-2.0-or-later
#
# Target: XLP 300-series processors by NetLogic Microsystems
#
# See http://www.broadcom.com/products/Processors/Enterprise/XLP300-Series
#
# Use xlp304.cfg, xlp308.cfg, xlp316.cfg for particular processor model.
#

transport select jtag

global XLP_NT

for {set i $XLP_NT} {$i > 0} {incr i -1} {
	jtag newtap xlp cpu_$i -irlen 5 -disable
	if {$i != 1} {
		jtag configure xlp.cpu_$i -event tap-enable {}
	}
}
jtag newtap xlp jrc -irlen 16 -expected-id 0x00011449

jtag configure xlp.cpu_1 -event tap-enable {
	global XLP_NT
	irscan xlp.jrc 0xe0
	drscan xlp.jrc 1 1
	for {set i $XLP_NT} {$i > 1} {incr i -1} {
		jtag tapenable xlp.cpu_$i
	}
}

proc chipreset {} {
	irscan xlp.jrc 0xab
	drscan xlp.jrc 1 1
	drscan xlp.jrc 1 0
}

jtag configure xlp.jrc -event setup "jtag tapenable xlp.cpu_1"

target create xlp.cpu_1 mips_mips64 -endian big -chain-position xlp.cpu_1
