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

if { [info exists CHIPNAME] } {
	set _CHIPNAME $CHIPNAME
} else {
	set _CHIPNAME machxo3
}

# Lattice MachXO3 family
# TAP IDs are extracted from BSDL files found on this page:
# https://www.latticesemi.com/Products/FPGAandCPLD/MachXO3
#
# 0x412b2043 - LCMXO3L_1300E_XXUWG36/XXMG121
# 0x412b3043 - LCMXO3L_2100E_XXMG121/XXMG256/XXUWG49
# 0x412b4043 - LCMXO3L_4300E_XXMG121/XXMG324/XXUWG81
# 0x412b5043 - LCMXO3L_6900E_XXMG256/XXMG324
# 0x412b6043 - LCMXO3L_9400E_XXBG256/XXMG256
# 0x412bb043 - LCMXO3L_2100C_XXBG256
# 0x412bc043 - LCMXO3L_4300C_XXBG256/XXBG324
# 0x412bd043 - LCMXO3L_6900C_XXBG256/XXBG324/XXBG400
# 0x412be043 - LCMXO3L_9400C_XXBG256/XXBG400/XXBG484
# 0x612b2043 - LCMXO3LF_1300E_XXMG121/XXUWG36
# 0x612b3043 - LCMXO3LF_2100E_XXMG121/XXMG256/XXUWG49
# 0x612b4043 - LCMXO3LF_4300E_XXMG121/XXMG256/XXMG324/XXUWG81
# 0x612b5043 - LCMXO3LF_6900E_XXMG256/XXMG324
# 0x612b6043 - LCMXO3LF_9400E_XXBG256/XXMG256
# 0x612bb043 - LCMXO3LF_2100C_XXBG256
# 0x612bc043 - LCMXO3LF_4300C_XXBG256/XXBG324
# 0x612bd043 - LCMXO3LF_6900C_XXBG256/XXBG324/XXBG400
# 0x612be043 - LCMXO3LF_9400C_XXBG256/XXBG400/XXBG484
# 0xc12b2043 - LCMXO3L_640E_XXMG121
# 0xc12b4043 - LCMXO3L_2100E_XXMG324
# 0xc12bb043 - LCMXO3L_1300C_XXBG256/XXMG256
# 0xc12bc043 - LCMXO3L_2100C_XXBG324
# 0xc12bd043 - LCMXO3L_4300C_XXBG400
# 0xe12b2043 - LCMXO3LF_640E_XXMG121
# 0xe12b3043 - LCMXO3LF_1300E_XXMG256
# 0xe12b4043 - LCMXO3LF_2100E_XXMG324
# 0xe12bb043 - LCMXO3LF_1300C_XXBG256
# 0xe12bc043 - LCMXO3LF_2100C_XXBG324
# 0xe12bd043 - LCMXO3LF_4300C_XXBG400

jtag newtap $_CHIPNAME tap -irlen 8 -irmask 0x83 -ircapture 0x1 \
	-expected-id 0x412b2043 -expected-id 0x412b3043 -expected-id 0x412b4043 \
	-expected-id 0x412b5043 -expected-id 0x412b6043 -expected-id 0x412bb043 \
	-expected-id 0x412bc043 -expected-id 0x412bd043 -expected-id 0x412be043 \
	-expected-id 0x612b2043 -expected-id 0x612b3043 -expected-id 0x612b4043 \
	-expected-id 0x612b5043 -expected-id 0x612b6043 -expected-id 0x612bb043 \
	-expected-id 0x612bc043 -expected-id 0x612bd043 -expected-id 0x612be043 \
	-expected-id 0xc12b2043 -expected-id 0xc12b4043 -expected-id 0xc12bb043 \
	-expected-id 0xc12bc043 -expected-id 0xc12bd043 -expected-id 0xe12b2043 \
	-expected-id 0xe12b3043 -expected-id 0xe12b4043 -expected-id 0xe12bb043 \
	-expected-id 0xe12bc043 -expected-id 0xe12bd043
