tcl/fpga: add Lattice MachXO3 family support
[fw/openocd] / tcl / fpga / lattice_machxo3.cfg
1 # SPDX-License-Identifier: GPL-2.0-or-later
2
3 if { [info exists CHIPNAME] } {
4         set _CHIPNAME $CHIPNAME
5 } else {
6         set _CHIPNAME machxo3
7 }
8
9 # Lattice MachXO3 family
10 # TAP IDs are extracted from BSDL files found on this page:
11 # https://www.latticesemi.com/Products/FPGAandCPLD/MachXO3
12 #
13 # 0x412b2043 - LCMXO3L_1300E_XXUWG36/XXMG121
14 # 0x412b3043 - LCMXO3L_2100E_XXMG121/XXMG256/XXUWG49
15 # 0x412b4043 - LCMXO3L_4300E_XXMG121/XXMG324/XXUWG81
16 # 0x412b5043 - LCMXO3L_6900E_XXMG256/XXMG324
17 # 0x412b6043 - LCMXO3L_9400E_XXBG256/XXMG256
18 # 0x412bb043 - LCMXO3L_2100C_XXBG256
19 # 0x412bc043 - LCMXO3L_4300C_XXBG256/XXBG324
20 # 0x412bd043 - LCMXO3L_6900C_XXBG256/XXBG324/XXBG400
21 # 0x412be043 - LCMXO3L_9400C_XXBG256/XXBG400/XXBG484
22 # 0x612b2043 - LCMXO3LF_1300E_XXMG121/XXUWG36
23 # 0x612b3043 - LCMXO3LF_2100E_XXMG121/XXMG256/XXUWG49
24 # 0x612b4043 - LCMXO3LF_4300E_XXMG121/XXMG256/XXMG324/XXUWG81
25 # 0x612b5043 - LCMXO3LF_6900E_XXMG256/XXMG324
26 # 0x612b6043 - LCMXO3LF_9400E_XXBG256/XXMG256
27 # 0x612bb043 - LCMXO3LF_2100C_XXBG256
28 # 0x612bc043 - LCMXO3LF_4300C_XXBG256/XXBG324
29 # 0x612bd043 - LCMXO3LF_6900C_XXBG256/XXBG324/XXBG400
30 # 0x612be043 - LCMXO3LF_9400C_XXBG256/XXBG400/XXBG484
31 # 0xc12b2043 - LCMXO3L_640E_XXMG121
32 # 0xc12b4043 - LCMXO3L_2100E_XXMG324
33 # 0xc12bb043 - LCMXO3L_1300C_XXBG256/XXMG256
34 # 0xc12bc043 - LCMXO3L_2100C_XXBG324
35 # 0xc12bd043 - LCMXO3L_4300C_XXBG400
36 # 0xe12b2043 - LCMXO3LF_640E_XXMG121
37 # 0xe12b3043 - LCMXO3LF_1300E_XXMG256
38 # 0xe12b4043 - LCMXO3LF_2100E_XXMG324
39 # 0xe12bb043 - LCMXO3LF_1300C_XXBG256
40 # 0xe12bc043 - LCMXO3LF_2100C_XXBG324
41 # 0xe12bd043 - LCMXO3LF_4300C_XXBG400
42
43 jtag newtap $_CHIPNAME tap -irlen 8 -irmask 0x83 -ircapture 0x1 \
44         -expected-id 0x412b2043 -expected-id 0x412b3043 -expected-id 0x412b4043 \
45         -expected-id 0x412b5043 -expected-id 0x412b6043 -expected-id 0x412bb043 \
46         -expected-id 0x412bc043 -expected-id 0x412bd043 -expected-id 0x412be043 \
47         -expected-id 0x612b2043 -expected-id 0x612b3043 -expected-id 0x612b4043 \
48         -expected-id 0x612b5043 -expected-id 0x612b6043 -expected-id 0x612bb043 \
49         -expected-id 0x612bc043 -expected-id 0x612bd043 -expected-id 0x612be043 \
50         -expected-id 0xc12b2043 -expected-id 0xc12b4043 -expected-id 0xc12bb043 \
51         -expected-id 0xc12bc043 -expected-id 0xc12bd043 -expected-id 0xe12b2043 \
52         -expected-id 0xe12b3043 -expected-id 0xe12b4043 -expected-id 0xe12bb043 \
53         -expected-id 0xe12bc043 -expected-id 0xe12bd043