OpenFPGALoader Versions Save

Universal utility for programming FPGA

v0.12.1

1 month ago

Evolution summary:

part

fix

  • lattice,xilinx: fix uint64_t print format: lld -> PRIx64
  • gatemate: fix unintended gpio access with dirtyJtag cables
  • gatemate: remove flash reset, power_up and read_id duplicates
  • gatemate: fix CFG_MD typos
  • gatemate: fix passive spi segfaults and improve verbosity
  • gatemate: fix jtag-spi-bypass with dirtyJtag

spiFlash

new

  • MX25R6435F

fix

  • spiFlashdb: MX25R6435F: added missing bp bit 4
  • SPIFlash::bp_to_len

Contributors

  • Patrick Urban (@pu-cc)

v0.12.0

2 months ago

Evolution summary:

core

new

  • CMake: bump the minimal required version to 3.5
  • Add WebAssembly support.
  • ftdiJtagMPSSE,jtag,jtagInterface: allows to force read/write edge configuration (useful to mimic SPI through JTAG)
  • ftdiJtagMPSSE,jtagInterface: {set|get}{Read|Write}Edge signature
  • Add user device list for non-fpga JTAG devices

update

  • jtag: rework detectChain: try unmasked idcode first
  • jtag: update JTAG chain detect
  • jtag: move JTAG chain bit init to device_select()

fix

  • jtag: shiftDR: (fix daisy chain) when more than one FPGA, a sequence of '0' before and/or after must be sent instead of '1' (fix #189 and #133
  • jtag: fix state machine (issue introduce by commit 9e91c3)
  • make IDCODE unsigned
  • macos workflow
  • drop mingw w32

board

new

  • Gaisler gr740-mini
  • QMTECH cyclone10 LP starter kit (10CL016YU484C8G)
  • @lambdaconcept ecpix5_r03 (ft4232)
  • SiPEED tang Primer 25K
  • SiPEED tang Mega 138K
  • Digilent cmoda7_15t
  • ALINX AX7102 board.
  • ALINX AX7101 board.
  • Avnet Mini-ITX
  • pynq-z1 board
  • Cern VEC_V6 Board
  • Cern VMM3 board
  • Antmicro DDR4 Tester board
  • Antmicro DDR5 Tester board
  • Antmicro LPDDR4 Tester board
  • trion_t20_bga256_jtag support
  • Xilinx KCU105 (Kintex Ultrascale xcku040)
  • AMD Virtex UltraScale+ FPGA VCU1525 Acceleration Development Kit
  • Add GD32VF103 to misc devices
  • Trenz TE0712-8 Board (XC7A200TFBG484)
  • Trenz TEC0330 board
  • Olimex GateMate A1 EVB

update

  • Lattice: nexus boards: change from CABLE_DEFAULT (i.e. 6MHz) to CABLE_MHZ(1) (i.e. 1MHz) as at 6MHz the download of bitstreams is not stable.

files

new

  • fsParser: adding GW5A-25 IDCODE
  • latticeBitParser: add support for loading Lattice (Nexus) encrypted bitstreams, by adding key and preamble of encrypted bitstreams to if statements.
  • latticeBitParser: add ECP3 VERIFY ID support (avoid to fail with bitstream)

cable

new

  • FTDI FT4232HP mapping
  • efinix jtag ft2232 variant
  • Add faulty MPSEE cmd 8E workaround

update

  • drop div_by_5 to allow 2.5MHz clock
  • Make CH347 driver faster Speed up toggleClk
  • update CH347 (#424)
  • xvc client: ensure send() entire buffer
  • xvc client: handle failed ll_write()
  • all jtag cable: no more hardcoding tdi bit with writeTMS

fix

  • DFU: fix code to accept tinyDFU implementation (where not altsettings have an DFU descriptor)
  • svf_jtag: fix -Wmismatched-new-delete delete -> delete[]

part

new

  • main: allows mcufw only mode for gowin
  • Lattice: Add all MachXO[23] part IDs
  • Lattice: improve info about "BSE Error Code" from Device Status Register
  • Lattice: machXO3: re-add partially revision
  • Gowin: add known ID codes for GW5 series
  • Gowin: add preliminary support for GW5AST-138
  • Gowin: GW5A SPI flash support
  • Gowin: Fix status register parse for GW5AST
  • Gowin: avoid multiple status register access
  • Gowin: Fix clk cycle after sending a command, don't read status register programSRAM sequence
  • Gowin: mcufw may be written without fs (but this erase all memory)
  • Gowin: detectFamily new function
  • Xilinx: add jtag->flush before sleep
  • Xilinx: Add Kintex Ultrascale+ KU3P ID-Code.
  • Xilinx: xczu17eg. It's tested on xczu17eg board with Digilent HS3 at 30Mbps.
  • Xilinx: XADC and DNA for Xilinx FPGA (#407)
  • Xilinx: xcku115 to parts list (#394)
  • Xilinx: Add remaining ZynqMP IDs
  • Xilinx: Add xc7k70t and small fixes for xc7k160t
  • Xilinx: Virtex 7 xc7vx330t

update

  • part: Add separator for each chip family.
  • part: Reorder families (older first, smaller first) and minor alignment cleanups.
  • part: Add separator for each vendor.
  • Altera/Intel: update idcode (same idcode for III/IV/10 LP)
  • Lattice: 0x012bc043 is for LCMXO2-4000HC
  • Lattice: restore bypass instruction in clearSRAM()
  • Lattice: spi_put: avoid loop when tx == NULL
  • Lattice: programming and add nexus boards
  • Gowin: GW5A/SPI flash: adding delay after erase flash and after SPI mode instruction. Seems fixed write error.
  • Gowin: displayReadReg update. Now GW5A field are correctly displayed
  • Gowin: Rewrite algorithms
  • Xilinx: Fix XC2 ident.

fix

  • Altera,Efinix,Gowin,Xilinx: Fix 'Flash SRAM' -> 'Load SRAM'
  • Gowin: fix flash erase for GW1NSR-4C: during shiftDR sequence TDI MUST be 0x0000
  • Gowin: writeFLASH: increase delay before CRC check (required for 9K device)
  • Gowin: try second eraseSRAM before writeSRAM. Not always working but better...
  • Gowin: GW5AST work around
  • Gowin: programFlash/writeFlash: disable previous rewrite (fix write with tangnano4k)
  • Gowin: fix gw1n external flash access
  • CologneChip: gatemate: do not call ftdi-related routines when using alternative cables
  • CologneChip: gatemate: fix configuration in jtag chains
  • CologneChip: gatemate: use more suitable change to RUN_TEST_IDLE state
  • Lattice: nexus family: REFRESH (plus config logic reset) in case of fpga in error state and add capabilities to handle the whole 64-bits status register
  • Lattice: fix bscan width and other minor things for NEXUS family
  • Lattice: fix the warning "left shift count >= width of type" shown in win32/64 builds
  • Lattice: fix bscan register initialization inside clearSRAM()
  • Lattice: correct mask for sram erase for NEXUS_FAMILY, as it is 0x00
  • Fix SRAM loading on invalid flash

spiFlash

new

  • Macronix MX25L51245G (CertusPro Versa board and gr740-mini)
  • Micron MT25/N25Q128_1_8V (Lattice Certus Versa and CertusPro eval boards) and distinguish between N25Q128 1.8V and 3V memories
  • S25FL128L flash
  • Macronix MX25L3233F used on Cmod A7-35T
  • N25Q256A

fix

  • ftdispi: add missing status_pin
  • ftdipp_mpsse: fix format-zero-length snprintf -> memset

spiOverJtag

new

  • Xilinx : xcku3p_ffva676 support.
  • Xilinx : xc7a35tfgg484 support.
  • Xilinx: xc7a15tcpg236 support
  • Xilinx: xc7k70tfbg484 support
  • Xilinx: add constr_xc7k_fbg676.xdc
  • Xilinx: Virtex6: Add spiOverJtag for Virtex6, detect xc6vlx130 and provide bitfile for xc6vlx130tff784
  • Xilinx: Virtex 7 xc7vx330tffg1157
  • Intel/Altera: cyclone10 LP 10CL016YU484C8G

update

  • compress spiOverJtag for Darwin too
  • remove obsolete xc6 directory
  • Xilinx: Update code since Virtex Ultrascale has apparently been replaced with Xilinx Ultrascale.
  • Xilinx: Rearrange for better extensibility - Use ifdef ... elsif ... `endif for better seperation
  • Xilinx: XC6SLX...L may need other pin constraints as XC6SLX... - Checked and handled for XC6Sxxx(T)fgg484

fix

  • Xilinx: fix errors on xc6slx150tfgg484
  • Xilinx: add missing xc6s_tqg144 constraint

doc

new

  • board: Avnet Mini-ITX Base Kit
  • part: Gowin GW5A serie
  • part/board: certus boards/parts entries
  • cable: FT4232HP cable/interface.

update

  • data: adding an (unused for now) SPIFlash entry

fix

  • board: fix wrong constraints link
  • board: fix efinix naming / mode

Contributors

  • Alexey Starikovskiy (@aystarik)
  • Baptiste Maréchal (@mer0m)
  • Catherine (@whitequark)
  • Chuang Zhu (@chuangzhu)
  • Florent Kermarrec (@enjoy-digital)
  • Giovanni Bruni (@bg-gsl)
  • Haakan T Johansson (@inkdot7)
  • Hans Baier (@hansfbaier)
  • Icenowy Zheng (@Icenowy)
  • Jaroslav Groman (@jgroman)
  • Mark Featherston (@markfeathers)
  • Michael Davidsaver (@mdavidsaver)
  • Michal Sieron (@michalsieron)
  • Patrick Urban (@pu-cc)
  • Rodrigo Rengifo (@rarengifoArthrex)
  • Sean Anderson (@sean-anderson-seco)
  • sgoadhouse (@sgoadhouse)
  • Shareef Jalloq (@shareefj)
  • sigmaeo (@sigmaeo)
  • Tim Paine (@timkpaine)
  • Uwe Bonnes (@UweBonnes)
  • ZhiYuanNJ (@ZhiyuanYuanNJ)
  • Zhongyi Chen (@openhardwarefan)

v0.11.0

9 months ago

Evolution summary:

core

new

  • CMakeLists: add an option to enable/disable -O3 optim (enabled by default)
  • option to use an extra GPIO as the status indicator

update

  • CMakeLists: when gzip is available spiOverJtag .bit and .rbf are compressed before installing
  • ftdipp_mpsse: adding bus_addr, device_addr getters
  • args: better --offset description (#319)
  • main: parse_opt: busdev-num: explicitly set hex base
  • jtag: adding getter to lowlevel transport driver
  • DATA_DIR override with environment variable (#333)
  • README,main: add remote bitbang for ip and port
  • Replace the string arguments usage with a bitfield
  • cleanup/lint/cppcheck
  • verbose: small rework

fix

  • scripts/msys2/PKGBUILD: try to fix previous commit (gzip)
  • workflows: removing ubuntu 18.04 (obsolete) adding 22.04
  • workflows: fix again ubuntu version
  • libusb_ll: fix typo in scan method
  • main: deduplicate messages about board's default cable/user's selection, display warn always instead of when verbose mode is set.
  • Tell USB bus and address when ftdi open fails.
  • Parse USB bus:dev as decimal integers, to be consistent with --scan-usb.

board

new

  • sipeed tang nano 20k
  • Added Lone Dynamics Schoko and Konfekt SBCs
  • colorlight-i9+ board
  • Trenz TEI0010 - AnalogMax
  • adding Opal Kelly XEM8320 board
  • Add Support for Xilinx KCU116 (#322)
  • added support for 14bits 125MHz redpitaya board (7010)
  • add Sitlinv STLV7325
  • add support for Trenz C10LP-RefKit
  • hseda-xc6slx16

files

update

  • bitparser: check bitstream length in the file
  • bitparser: replace _raw_data.size() with _file_size
  • fsParser: fix usercode/checksum size
  • latticeBitParser: add SPI_MODE missing instruction (issue #324)

cable

new

  • remoteBitbang_client: adding new protocol (client side)
  • WCH CH347T(mode #3) JTAG cable

update

  • usbBlaster: add option to fix firmware path at build time
  • Allow VID:PID override for JLink probe
  • jlink: suport writeTDI() with tx=NULL
  • jlink: report skipped devices with verbose
  • jlink: support J-Link BASE and J-Trace PRO
  • libgpiod: v2 api support

fix

  • fix: fix cmsisdap support for macOS
  • usbBlaster: change tx_len size (16 -> 32) to fix a potential overflow when log2(xfer_len) > 16 in toggleClk method
  • xvc_server: don't stop when connection close, rework read to return code for error and for disconnect
  • xvc_server: fix comm when Vivado acts as client
  • usbBlaster,ftdiJtagMPSSE: fix alignment for 1 bit len read transaction
  • dirtyJtag: throw exception when getVersion fails, use a #define for TIMEOUT value
  • cable: bus_addr, device_addr: int -> uint8_t
  • xvc_server: catch exception

part

new

  • Add Support for Xilinx Artix-7 a25t (xc7a25t)
  • Add support for XCVU9P IR length and codes
  • Add target-flash and secondary-bitstream CLI options for VCU118
  • Add ID code for part xa2c64a (Coolrunner-II).
  • Add initial support for VCU128
  • part: Add all cyclone V variant board: Add the Terasic C5G
  • Intel MAX10 (10M08)
  • add LCMXO2-256HC, update doc/FPGAs
  • Artix+ AU25P support for Opal Kelly Board
  • gowin: merge CRC check into one method, check usercode/checksum as fallback when usercode register doesn't match computed file's checksum (issue #279)
  • efinix: in JTAG mode keep bus_addr, device_addr between jtag and spi interfaces
  • efinix: in jtag mode fix access to the ll driver
  • parts: fix Efinix titanium irlen
  • Add initial support for VCU128
  • gowin: fix typo

update

  • Add support for flashing UFM on MachXO2 using JEDEC file. (#339)
  • efinix: support using JTAG interfaces
  • lattice: bypass refresh instruction for machXO2
  • xilinx: rework error message for zynqXX in SPI_MODE
  • lattice: when loadConfiguration fails -> check if external flash is blank
  • skip_load_bridge and skip_reset arguments also for Xilinx devices

fix

  • Fix off-by-one errors in calculating UFM start page.
  • Only delete bitstream objects if non-null
  • Fix VCU118 board part name and IR length
  • efinix: fix JTAG: detect family, fix irlen for titanium, add support for bit file, hex file can't be used with titanium
  • lattice: fix cast int vs uint8_t
  • lattice: UFM printf -> printInfo

spiFlash

new

  • MT25QU01 flash support
  • ST M25P16 flash support
  • ST M25P16 flash support
  • Macronix MX25L12833 flash support
  • Windbond w25q80bv flash support

update

  • Add support for 4-byte QSPI flash addressing (#295)
  • spiInterface: add read method

fix

  • temporary disable read extended

spiOverJtag

new

  • spiOverJtag_xc7a50tfgg484
  • spiOverJtag_xc7a200tfbg484
  • package xc7a (fbg484)
  • Spartan-6 lx9 CSG324 package.
  • Add XCVU9P spiOverJtag bitfile with SPIx8 support
  • Bitfile and constraints for xc6slx150tcsg484. (#312)
  • Add flash support for VCU128
  • efinix: - jtag mode: added spiOverJtag support; - spiOverJtag: added efinix support: verilog file and t8f81 bitstream - xyloni: part code for spiOverJtag flash access/load bridge
  • added efinix Titanium Ti60 support

update

  • spiOverJtag: ignore .bit and .rbf files

fix

  • fix missing spiOverJTAG for C10LP-RefKit

doc

new

  • Add documentation for Xilinx SPIx8 mode
  • xilinx: zynq limitation/requirement note
  • boards.yml: Add C5G

update

  • update libgpiod link
  • adding Artix UltraScale+
  • update shield syntax (badges/shields#8671)

Contributors

  • ame-essi-instr (@ame-essi-instr)
  • Alexey Starikovskiy (@aystarik)
  • Andrew Dennison (@AndrewD)
  • Andrew E Wilson (@AEW2015)
  • Balint Cristian (@cbalint13)
  • Bastian Löher (@bl0x)
  • chenzhuoyu (@chenzhuoyu)
  • Haakan T Johansson (@inkdot7)
  • hycrypt (@hycrypt)
  • Icenowy Zheng (@Icenowy)
  • Jiajie Chen (@jiegec)
  • Jonathan Neuschäfer (@neuschaefer)
  • Maik Ender (@mander1000)
  • Marcus Andrade (@boogermann)
  • Michal Sieron (@michalsieron)
  • Steve Richardson (@CreatingNull)
  • Olivier Galibert (@galibert)
  • Ricardo Barbedo (@barbedo)
  • Stéphane Chevigny (@infphyny)
  • Unai Martinez-Corral (@umarcor)
  • Viktor P (@viktor-pd)
  • William Cleveland (@wdevore)
  • William D. Jones (@cr1901)
  • wonderfullook (@wonderfullook)

v0.10.0

1 year ago

Evolution summary:

core

new

  • main: add busdev-num option to select a probe by his bus number / device address
  • libusb_ll: libusb wrapper (currently limited to scan device), src/main: add scan-usb option
  • libusb_ll: adding a libusb_open() return code check: when fails skip rest of the loop

update

  • src/main: simplify svf type search
  • svf: now is device independent and parsing is improved
  • pathHelper: Only compile on win builds

fix

  • removing test_sfl.svf
  • libusb_ll: typo (ft2232RL -> ft232RL). Fix #276
  • ftdispi: typo: replace holdn by wpn for spi_config.wpn_pi (fix issue #277).
  • ftdipp_mpsse: bus/addr: change type to uint8_t, default value to 0 and use cable_t bus_addr/device_addr$
  • msys2: Fix absolute windows paths
  • typo

board

new

  • LiteX-Acorn-Baseboards support
  • ALINX AX516 board.
  • Digilent CmodA7-35T fpga board
  • USRP X300 and X310
  • VCU118 board
  • Digilent nexys A7 (50/100) aka nexys 4 DDR
  • Alchitry Au+
  • Digilent CMOD S7 board.

cable

new

  • add cable jetson-nano-gpio

update

  • src/cable: rename bus/device to bus_addr/device_addr
  • cable implementation: rework to use cable_t directly
  • xvc_client: allows to select port
  • src/cable: rework cable list. move vid/pid from mpsse_bit_config to cable_t

part

new

  • Add support for Xc6slx9tqg144 FPGA

update

  • lattice: allows to use bit file for machxo2
  • altera,intel/Xilinx: adding an option to bypass spiOverJtag automatic bitstream selection by providing the bitstream file path

fix

  • xilinx: zynqXX: load only (#268)

files

new

  • pofParser: introducing intel/altera POF file parser

update

  • latticeBitParser: support machxo2 (check compress & fill vector)

spiFlash

new

  • microchip SST26VF064B flash

update

  • limit automatic read burst length to 64K
  • add --bulk-erase command line option

fix

  • Fix return value checking polarity and error reporting in protect_flash() and unprotect_flash()

spiOverJtag

new

  • spiOverJtag_xc7a50tcsg324
  • spiOverJtag_xc7s25csga225
  • spiOverJtag_xc7s_csga225

doc

update

  • Updated Troubleshooting

fix

  • Simplified troubleshooting .rst and removed media

Contributors

  • Bastian Löher (@bl0x)
  • Cedric de Wijs (@cdwijs)
  • Chandler Klüser (@Chandler-Kluser)
  • Dvir Cohen (@devdc)
  • Greg Davill (@gregdavill)
  • Haakan T. Johansson (@inkdot7)
  • Hirosh Dabui (@splinedrive)
  • J Biemar ((@jeanbie0)
  • Martin Braun (@mbr0wn)
  • Patrick Dussud (@phdussud)
  • Petr Nechaev (@CogentEmbedded)
  • Ricardo Barbedo (@barbedo)
  • Rod Whitby (@rwhitby)
  • Saurabh Singh (@saursin)

v0.9.1

1 year ago

Evolution summary:

core

update

  • add specific -D to enable/disable --device arg

cable

new

  • lpc-link2
  • Steppenprobe

update

  • cmsisDAP: allows to select interface number

fix

  • main,board,ftdiJtagBitbang: use pin ID instead of shift (issue #249)
  • libgpiodJtagBitbang: fix warning
  • ftdiJtagBitbang: fix int vs uint32_t

part

new

  • Xilinx: Kintex UltraScale KCU035
  • Gowin: add MSPI support when GW2A (issue #250)

fix

  • Xilinx: flow_program/xc95: increase delay and use getClkFreq (issue #104)
  • Xilinx: flow_program/xc95: verify write: replace hardcoded number of sections by nb_section
  • Gowin: better error message when mismatch between fs idcode and target's idcode (issue #252)

doc

update

  • doc/guide/install: add a note about Linux group right (issue #245)

fix

  • doc/guide/advanced: fix sphinx warning

Contributors

Maciej Nowak (@Novakov)
Diego Herranz (@diegoherranz)

v0.9.0

1 year ago

Evolution summary:

core:

new

  • main: always check if board is not null before access
  • add skip_load_bridge cmd-line parameter
  • ftdiJtagMPSSE: add writeTMSTDI method with full tms & tdi buffer. Always return TDO buffer
  • add means to set cable index from command line

update

  • ftdipp_mpsse: robustness: check all function return code / improve a bit error message
  • ftdipp_mpsse: change verbose level
  • ftdipp_mpsse: don't throw exception when iProduct is empty: display warn and use empty string
  • ftdiJtagxx: check lowlevel init return value
  • jtag: when verbose > 1: display unfiltered/raw IDCODE
  • add option to bypass reset in SPI write mode. Adapt altera accordingly
  • stop using get_state and promote the use of get_status

fix

  • Use uint32_t for misc_dev_list (fixes #196)
  • CMakeLists: fix general code styling, use dynamic linking on macOS
  • ftdipp_mpsse: don't display error when attach kernel driver, when the device hasn't been detach before or when driver isn't loaded.
  • spiInterface: unprotect_flash: fix return. Improve messages
  • ftdispi: add missing index param
  • fix(part.hpp): use uint32_t instead of int for fpga_list index

cable

new

  • xvc_client/xvc_server: Xilinx Virtual Cable
  • libgpiod JTAG driver

update

  • cmsisDAP: better error message if support is not enabled
  • anlogicCable: remove unused verbose, tdi, tms
  • jlink: write_data -> writeTMSTDI. Fix behaviour
  • DFU: check iProduct and iInterface -> set to a default string when empty
  • DFU: display error code

fix

  • cmsisDAP: fix crash in case hid device cannot be opened
  • DFU: fix detect -> bypass bitstream
  • DFU: fix potential leak
  • add missing mpsse_bit_config index
  • jlink: check usb_claim error

board

new

  • ORBTrace Mini support (DFU mode)
  • Add initial support for ZCU106 development board
  • Support for the Papilio One board
  • Sipeed Tang Primer 20K (GW2A)

fix

  • gatemate: fix failed signal polarity and update documentation

part

new

  • intel: cycloneV 5CEBA9 entry (issue #213)
  • intel: cycloneIV EP4CE115
  • Xilinx: Kintex XC7K410T
  • Xilinx: Kintex XC7K420T
  • Xilinx: ZynqMP Ultrascale Plus XCZU11EG
  • Xilinx: Kintex Ultrascale XCKU040
  • Xilinx: explictly add spartan3e and xc3s250e
  • Gowin: GW2A (GW2A(R)-18(C))

update

  • Gowin: GW1NSR-4C: Add MCU Firmware flashing support
  • xc3s500e IDCODE: revision set to zero.

fix

  • Correct part number for ZCU106 board

update

  • efinix: support loading a bitstream to memory using only JTAG pins (no GPIO).
  • --flash-sector CFG0 for MachXO3D and more information for its Breakout Board
  • colognechip: explicitly set spi or ftdi_jtag to null, drop useless else if -> if not spi it must be jtag
  • xilinx: adapts flow_disable/flow_enable for xc3s, adding custom method to load bitstream for xc3s

fix

  • colognechip: fix dumpFlash: add override, remove filename param and use filename from constructor
  • efinix: fix dumpFlash: add override, remove filename param and use filename from constructor
  • part: re-adding version nibble to remove ambiguities between U, UM and UM5G
  • xilinx: fix wait until done for spartan3e
  • lattice MACHXO3D: no exception when flash-sector is not provided in SRAM mode

files

fix

  • efinixHexParser: remove unused reverseOrder
  • configBitstreamParser: string::find return size_t not uint32_t
  • latticeBitParser: when .bit is encrypted use Part: from header to retrieve idcode
  • latticeBitParser: fix end header position with MACHOX3D .bit file
  • ihexParser: check buffer size, increase if required

spiFlash

new

  • N25Q64 part
  • S25FL512S part
  • Support for the Microchip SST25VF040B flash.

update

  • handle case where TB is not configurable
  • Removed TOP/BOTTOM settings from SST25VF040B
  • Removed must_relock part for the "SST25VF040B"

fix

  • bulk_erase: check bp before erase
  • stop if jedec_id == 0xffffff
  • fix display: when bp_len==0 -> set bp/tb = 0, otherwise parse reg

spiOverJtag

new

  • cycloneV 5CEBA9F27
  • cycloneV enable init done pin
  • cyclone IV EP4CE115F23
  • artix fgg676 constraints file
  • artix xc7a100tfgg676
  • kintex support xc7k420tffg901
  • kintex support xc7k160tffg676
  • Spartan3E (xc3s500evq100)

update

  • update spiOverJtag_5ce927.rbf.gz created with Lite 20.1.1

doc

  • FPGA: add 5CEBA9
  • README: add skip-load-bridge / skip-reset
  • guide: Add instructions for manual installation on macOS
  • Documentation for the xc3s500e part

update

  • FPGA: update/fix ECP5 list

fix

  • intel: fix svf generation command (issue #212)

Contributors

  • Anders Ejdeling (@ejdan)
  • Balázs Triszka (@balika011)
  • Niklas Ekström (@niklasekstrom)
  • Benjamin Koch (@bbbsnowball)
  • Dennis Gnad (@bluesceada)
  • Hans Baier (@hansfbaier)
  • Icenowy Zheng (@Icenowy)
  • Jean THOMAS (@jeanthom)
  • Mike Lewis (@MPLew-is)
  • Patrick Urban (@pu-cc)
  • Rodrigo Rengifo (@rarengifoArthrex)
  • Simon Buhrow (@el-coder-sb)
  • Stephan Ruloff (@rstephan)
  • Steven Koo (@skooNI)
  • Sylvain Munaut (@smunaut)
  • Xiretza (@Xiretza)

v0.8.0

2 years ago

Evolution summary:

core:

new

  • part: add map manufacturer id <-> name
  • jtag: adding method to inject device into active device list
  • ftdi MPSSE / jtag: add option to use neg edge for TDO's sampling
  • xilinx: adding zynqmp support and a method to init this family of devices

update

  • jtag: better display for unknown IDCODE
  • jtag: improving jtag chain detection: now searching for masked and unmasked idcode
  • display: use a less dark blue
  • Nicer layout for the boards/fpga/cables table
  • main: bitstream default target depends on mode spi/jtag

fix

  • ftdiJtagMPSSE: fix read/write polarity: always write on neg, read is by default on pos but may on neg with arty
  • Darwin cmake config is missing Security framework
  • ftdiJtagMPSSE,ftdipp_mpsse: fix verbose level -> must be an int8_t not uint8_t
  • jtag: fix shiftIR: bypass_after must be computed in all case

cable

new

  • digilent jtag-smt2-nc
  • Olimex ARM-USB-OCD-H
  • SEGGER J-Link

board

new

  • alinx AXU2CGA
  • Xilinx AC701 development kit
  • Xilinx/TUL PYNQ-Z2
  • Xilinx Zynq-7000 SoC ZC702 Evaluation Kit
  • Xilinx Zynq-7000 SoC ZC706 Evaluation Kit
  • Xilinx ZynqMPSoC ZCU102 Evaluation Kit
  • CERN SPEC150
  • colorlight-i9
  • digilent genesys2
  • digilent zybo_z7 10/20
  • QMTech qmtechCycloneV_5cefa5f23 board
  • QMTech Kintex7 Core Board
  • sipeed tangnano1k
  • sipeed tangnano9k
  • Terasic DE1-SoC board

part

new

  • Xilinx Spartan6 xc6slx150T
  • Xilinx Kintex 160T
  • Xilinx Zynq XC7Z045
  • Xilinx ZynqMPSoC XCZU2CG
  • Xilinx ZynqMPSoC XCZU9EG
  • Gowin GW1NZ-1
  • Gowin GW1NR-9C
  • Altera CycloneV 5CEFA5
  • Altera CycloneV SoC 5CSEMA5

update

  • ice40: add CRAM support

fix

  • ice40: Add override specifier to resolve compiler warnings

spiFlash

new

  • Spansion S25FL256S
  • Spansion S25FL256L
  • Microchip SST26VF032B

update

  • spiFlash: add no block protect use case

fix

  • spiFlash: when no subsector_erase compute end_addr with correct block size
  • spiFlashdb: fix bp_offset list
  • spiFlash: force subsector only for SST26VF032B
  • spiFlash: fix overflow test (#172)

spiOverJtag

new

  • Xilinx spartan6 FTG 256 ucf
  • Xilinx spartan6 LX16 FTG256
  • Xilinx spartan6 LX16 CSG324
  • Xilinx Spartan6 LX150T
  • add spiOverJtag build process for Kintex7 ffg900-2 packages, amend and extend build process for ff676-1 package
  • Add spiOverJtag support for Xilinx xc7k325tffg676 part.
  • spiOverJtag/spiOverJtag_5cefa5f23.rbf.gz bitstream to write flash

update

  • compress the kintex7 bitstreams

CI

new

  • add CI for macOS
  • use reusable composite action and reusable workflow from msys2/setup-msys2

fix

  • fix msys2 build failure
  • fix step 'Show package content'

doc

new

  • FPGAs: ice40 memory support
  • cable: move to yml
  • declare board compatibility through a YAML file
  • declare FPGA compatibility list through YAML file
  • conf: add intersphinx mapping 'constraints'
  • cross-reference FPGA compatibility table and vendor notes
  • boards: iCE40UP5K-B-EVN
  • cable: RV-Debugger-BL702

update

  • board: add field 'Constraints'
  • install.rst
  • boards: iCE40-HX8K: memory ok

fix

  • debian command

Contributors

  • Dave Berkeley (@DaveBerkeley)
  • Fabien Marteau (@Martoni)
  • Hansem Ro (@hansemro)
  • Hirosh Dabui (@splinedrive)
  • Icenowy Zheng (@Icenowy)
  • Jean THOMAS (@jeanthom)
  • Jonathan Kimmitt (@jrrk2)
  • Karol Gugala (@kgugala)
  • Pepijn de Vos (@pepijndevos)
  • @RGD2
  • Rod Whitby (@rwhitby)
  • Stephan Ruloff (@rstephan)
  • Stephane Chevigny (@infphyny)
  • Tarik Graba (@tarikgraba)
  • Torsten Reuschel (@unbtorsten)
  • Unai Martinez-Corral (@umarcor)
  • Verneri Hirvonen (@chiplet)

nightly

2 years ago

v0.7.0

2 years ago

Evolution summary:

core

  • main: add protection for all devices. Add CLI args
  • main: fix SPI access

cables

update

  • dfu: add debug level, only print device open fails in debug mode

fix

  • jtag: ckeck highest nibble to prevent confusion between Cologne Chip GateMate and Efinix Trion T4/T8 devices
  • dfu: fix memory leak
  • dfu: check libusb_open return value in searchDFUDevices
  • dfu: when libusb_open fails: skip device instead of error and stop
  • dfu: force USB reset when download end in DFUIdle state
  • dfu: don't check filename -> let configBitstreamParser to do check

parts

new

  • Anlogic ELF2 EF2M45 support
  • colognechip GateMate: new vendor/device
  • all devices: add support to (un)protect flash, implement pre/post flash access
  • use new spiInterface methods
  • zynq xc7z010 support
  • arty A7 100t support

update

  • xilinx: use gz file by default

fix

  • ice40: flash reset powerup are done into spiFlash
  • efinix/titanium: add missing JTAG idcode

update

  • device.hpp: add (un)protect flash methods

boards

  • ulx3s_dfu
  • digilent add arty S7 50
  • Digilent arty s7 25
  • digilent arty_z7 10/20 support
  • Titanium Ti60 f225 dev kit

spi flash

new

  • windbond w25q devices
  • micron N25Q32
  • spansion S25FL 064P/128P
  • no more bypass flash protection: if protection, user has to agree.
  • (un)protect flash support
  • add common method to (un)protect, write and dump SPI flash content
  • conf register for tb

fix

  • fix tb_offset for ISSI devices
  • (un)protect flash, and generic pre/post flash access methods
  • spiFlash: enable/disable protection. now handle correctly device with protection enabled

spiOverJtag

new

  • add xc7s25csga324 support
  • add xc7a100tcsg324 support
  • gzip xilinx bitstream

update

  • constr_xc7a_csg324: enable compression
  • constr_xc7s_csg324: enable compression

fix

  • spiOverJtag_xc7a100tcsg324 compress
  • spiOverJtag_xc7s50csga324: compress

documentation

new

  • colognechip: vendor documentation

update

  • doc/guide/install: archlinux: list required libraries to build from source

fix

  • doc: fpga: fix anlogic AS -> OK

Contributors

  • Franck Jullien (@fjullien)
  • Icenowy Zheng (@Icenowy)
  • Patrick Urban (@pu-cc)
  • uis (@uis246)
  • emard (@emard)
  • Unai Martinez-Corral (@umarcor)

v0.6.1

2 years ago

Minor release

core

  • fix version number
  • zlib or zlib-ng are now required

CI

  • update action for windows
  • replace openFPGALoader-Documentation subdir with a tarball

files

  • add zlib-ng as possible decompress library if zlib not found.

Contributors

  • Jean THOMAS (@jeanthom)
  • Unai Martinez-Corral (@umarcor)