# Utilities for TI ICEpick-C ... used in DaVinci, OMAP3, and more.

# jrc	== TAP name for the ICEpick
# port	== a port number, 0..15
proc icepick_c_tapenable {jrc port} {

	# NOTE:  it's important not to enter RUN/IDLE state until
	# done sending these instructions and data to the ICEpick.
	# And never to enter RESET, which will disable the TAPs.

	# select router
	irscan $jrc 7 -endstate IRPAUSE
	drscan $jrc 8 0x89 -endstate DRPAUSE

	# set ip control
	irscan $jrc 2 -endstate IRPAUSE
	drscan $jrc 32 [expr 0xa0002108 + ($port << 24)] -endstate DRPAUSE

	irscan $jrc 0x3F -endstate RUN/IDLE
	runtest 10
}