Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow use of OpenOCD for the Crosslink-NX #515

Merged
merged 1 commit into from
Aug 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -271,11 +272,13 @@ def request(self, *args, **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 @@ -106,7 +106,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
Loading