2022-06-12 16:42:27 -05:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2014-07-29 07:36:40 -05:00
|
|
|
# A start sequence to change from cJTAG to 4-pin JTAG
|
|
|
|
# This is needed for CC2538 and CC26xx to be able to communicate through JTAG
|
|
|
|
# Read section 6.3 in http://www.ti.com/lit/pdf/swru319 for more information.
|
|
|
|
proc ti_cjtag_to_4pin_jtag {jrc} {
|
|
|
|
# Bypass
|
2022-12-23 20:56:22 -06:00
|
|
|
runtest 20
|
2014-07-29 07:36:40 -05:00
|
|
|
irscan $jrc 0x3f -endstate RUN/IDLE
|
|
|
|
# Two zero bit scans and a one bit drshift
|
|
|
|
pathmove RUN/IDLE DRSELECT DRCAPTURE DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRUPDATE RUN/IDLE
|
|
|
|
pathmove RUN/IDLE DRSELECT DRCAPTURE DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRUPDATE RUN/IDLE
|
|
|
|
pathmove RUN/IDLE DRSELECT DRCAPTURE DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRSHIFT DREXIT1 DRUPDATE RUN/IDLE
|
|
|
|
pathmove RUN/IDLE DRSELECT DRCAPTURE DREXIT1 DRPAUSE
|
|
|
|
|
|
|
|
# A two bit drhift and a 9 bit drshift
|
|
|
|
pathmove DRPAUSE DREXIT2 DRSHIFT DRSHIFT DREXIT1 DRUPDATE RUN/IDLE
|
|
|
|
pathmove RUN/IDLE DRSELECT DRCAPTURE DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRSHIFT DRSHIFT DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRSHIFT DRSHIFT DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRSHIFT DRSHIFT DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRSHIFT DRSHIFT DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRSHIFT DREXIT1 DRPAUSE
|
|
|
|
pathmove DRPAUSE DREXIT2 DRUPDATE RUN/IDLE
|
|
|
|
pathmove RUN/IDLE DRSELECT DRCAPTURE DREXIT1 DRPAUSE
|
|
|
|
|
|
|
|
# Bypass
|
|
|
|
irscan $jrc 0x3f -endstate RUN/IDLE
|
|
|
|
|
|
|
|
# Set ICEPick IDCODE in data register
|
|
|
|
irscan $jrc 0x04 -endstate RUN/IDLE
|
|
|
|
}
|