Skip to content

Commit

Permalink
platforms/crosslink_nx_evn: allow use of OpenOCD
Browse files Browse the repository at this point in the history
  • Loading branch information
josuah committed Aug 2, 2023
1 parent f780b5f commit 11ca950
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 2 deletions.
5 changes: 4 additions & 1 deletion litex_boards/platforms/lattice_crosslink_nx_evn.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from litex.build.lattice import LatticeNexusPlatform
from litex.build.lattice.programmer import LatticeProgrammer
from litex.build.lattice.programmer import EcpprogProgrammer
from litex.build.lattice.programmer import OpenOCDJTAGProgrammer

# IOs ----------------------------------------------------------------------------------------------

Expand Down Expand Up @@ -261,11 +262,13 @@ def __init__(self, device="LIFCL-40-9BG400C", toolchain="radiant", **kwargs):

def create_programmer(self, mode = "direct", prog="radiant"):
assert mode in ["direct","flash"]
assert prog in ["radiant","ecpprog"]
assert prog in ["radiant","ecpprog","openocd"]

if prog == "ecpprog":
return EcpprogProgrammer()

if prog == "openocd":
return OpenOCDJTAGProgrammer("openocd_evn_nx.cfg")

xcf_template_direct = """<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE ispXCF SYSTEM "IspXCF.dtd" >
Expand Down
10 changes: 10 additions & 0 deletions litex_boards/prog/openocd_evn_nx.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
adapter driver ftdi
adapter speed 25000
transport select jtag
ftdi vid_pid 0x0403 0x6010
ftdi channel 0
ftdi layout_init 0x00e8 0x60eb
reset_config none

set _CHIPNAME crosslink_nx
jtag newtap $_CHIPNAME tap -irlen 8 -expected-id 0x110f1043
2 changes: 1 addition & 1 deletion litex_boards/targets/lattice_crosslink_nx_evn.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def main():
parser.add_target_argument("--device", default="LIFCL-40-9BG400C", help="FPGA device (LIFCL-40-9BG400C, LIFCL-40-8BG400CES, or LIFCL-40-8BG400CES2).")
parser.add_target_argument("--sys-clk-freq", default=75e6, type=float, help="System clock frequency.")
parser.add_target_argument("--serial", default="serial", help="UART Pins (serial (requires R15 and R17 to be soldered) or serial_pmod[0-2]).")
parser.add_target_argument("--programmer", default="radiant", help="Programmer (radiant or ecpprog).")
parser.add_target_argument("--programmer", default="radiant", help="Programmer (radiant or ecpprog or openocd).")
parser.add_target_argument("--address", default=0x0, help="Flash address to program bitstream at.")
parser.add_target_argument("--prog-target", default="direct", help="Programming Target (direct or flash).")
args = parser.parse_args()
Expand Down

0 comments on commit 11ca950

Please sign in to comment.