Releases: trabucayre/openFPGALoader
Releases Β· trabucayre/openFPGALoader
nightly
main.cpp: added default value for user_flash in struct arguments args
v0.12.1 release
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 release
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 release
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 release
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()
andunprotect_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 release
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 release
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 release
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)
v0.7.0 release
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