tcl/fpga: add Lattice MachXO3 family support
authorJae Hyun Yoo <quic_jaehyoo@quicinc.com>
Thu, 20 Jan 2022 20:31:18 +0000 (12:31 -0800)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 20 Aug 2022 15:29:50 +0000 (15:29 +0000)
Add support for Lattice MachXO3 FPGA family.

Signed-off-by: Jae Hyun Yoo <quic_jaehyoo@quicinc.com>
Change-Id: I01fcec0ee458e809246e4505019d15047655dd47
Reviewed-on: https://review.openocd.org/c/openocd/+/7113
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
tcl/fpga/lattice_machxo3.cfg [new file with mode: 0644]

diff --git a/tcl/fpga/lattice_machxo3.cfg b/tcl/fpga/lattice_machxo3.cfg
new file mode 100644 (file)
index 0000000..37fa054
--- /dev/null
@@ -0,0 +1,53 @@
+# 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