2022-06-12 16:42:27 -05:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
2013-12-30 12:26:36 -06:00
|
|
|
echo "Forcing reset_config to none to prevent OpenOCD from pulling SRST after the switch from LV is already performed"
|
|
|
|
reset_config none
|
|
|
|
|
|
|
|
jtag newtap $_CHIPNAME-lv tap -irlen 32 -ircapture 0x1 -irmask 0x1f -expected-id $_LVTAPID -expected-id $_CPUID
|
|
|
|
jtag configure $_CHIPNAME-lv.tap -event setup "jtag tapenable $_CHIPNAME.cpu"
|
|
|
|
jtag configure $_CHIPNAME-lv.tap -event tap-disable {}
|
|
|
|
|
|
|
|
jtag newtap $_CHIPNAME cpu -irlen 5 -ircapture 0x1 -irmask 0x1f -expected-id $_CPUID -disable
|
|
|
|
jtag configure $_CHIPNAME.cpu -event tap-enable "switch_lv_to_ejtag"
|
|
|
|
|
|
|
|
set _TARGETNAME $_CHIPNAME.cpu
|
|
|
|
target create $_TARGETNAME mips_m4k -endian little -chain-position $_TARGETNAME
|
|
|
|
|
|
|
|
proc switch_lv_to_ejtag {} {
|
|
|
|
global _CHIPNAME
|
|
|
|
poll 0
|
|
|
|
irscan $_CHIPNAME-lv.tap 0x143ff3a
|
|
|
|
drscan $_CHIPNAME-lv.tap 32 1
|
|
|
|
jtag tapdisable $_CHIPNAME-lv.tap
|
|
|
|
poll 1
|
|
|
|
}
|