Commit Graph

1158 Commits

Author SHA1 Message Date
Gwenhael Goavec-Merou 2580aed994 esp_usb_jtag: added support for https://github.com/espressif/esp-usb-bridge + small adjusts 2025-08-25 09:38:00 +02:00
Gwenhael Goavec-Merou c818641cae main: list_boards: print 'Undefined' when fpga_part or cable_name is empty 2025-08-07 11:00:49 +02:00
Gwenhael Goavec-Merou bc864100ff main: list_boards now displays fpga_part too 2025-08-07 09:53:28 +02:00
Denis Bodor c51c53ee33 Add Altera Cyclone 10 LP 10CL080 2025-07-28 13:27:06 +02:00
Gwenhael Goavec-Merou a53aedb137 gowin: added (undocumented) sequence to be performed when CRC Error bit is set 2025-07-20 10:23:19 +02:00
Gwenhael Goavec-Merou 388f0b4c90 spiFlashdb: added XTX XT25F32B-S chip 2025-07-20 09:32:12 +02:00
Gwenhael Goavec-Merou b99672b69e board: added ULX4M (DFU) 2025-07-19 09:45:04 +02:00
Patrick Urban 3b932dc542 colognechip: Simplify number of jtag bypass bits 2025-07-09 16:13:18 +02:00
Gwenhael Goavec-Merou 3b1a40b798 part.hpp: MAX10: only keep size+Single(S)/Dual-supply(D). Sort between single-supply and dual-supply 2025-07-04 07:28:05 +02:00
Gwenhael Goavec-Merou 4bd9840e46 altera: fix Wc99-designator 2025-07-02 07:17:17 +02:00
Gwenhael Goavec-Merou b2aa12b582 spiFlash, spiFlashdb: added global_lock flag and uses it instead of jedec_id (#566) 2025-06-30 18:26:22 +02:00
Yao Zi a1ea0c98fc cmsisDAP: Avoid memcpy() on possibly overlapping buffer
I observed strange cmsisDAP behavior when building openFPGALoader with
Clang/musl in release mode: CmsisDAP:display_info() shows the correct
hardware capability that supports JTAG,

	...
	firmware version : 0254
	hardware capabilities : 13
	SWO trace buffer size : NA
	...

but the detection of JTAG fails in the constructor with a strange
response sequence,

	Hardware cap 00 01 00
	JTAG init failed with: JTAG is not supported by the probe

With some digging, it's found that the CmsisDAP::xfer() method without
an instruction parameter may be called by the constructor with a rx_buff
pointer overlapping with _ll_buffer, for which memmove() instead of
memcpy() should be used. The behavior of memcpy() is undefined when dst
and src overlap.

Fixes: 53c5d35da6 ("add cmsis dap (hid) support")
Signed-off-by: Yao Zi <ziyao@disroot.org>
2025-06-28 11:53:25 +00:00
Gwenhael Goavec-Merou e3e93a394e main: SPI mode without board: check file_size (must be > 0) 2025-06-25 19:21:46 +02:00
Gwenhael Goavec-Merou dd3204a6e0 main, board: added --pins argument compatible with SPI mode 2025-06-25 19:10:13 +02:00
Gwenhael Goavec-Merou 319c08e841 latticeSSPI: uses registers struct for status 2025-06-19 09:51:44 +02:00
Gwenhael Goavec-Merou dede406ebc latticeSSPI: ECP5 driver for Slave SPI mode 2025-06-19 08:34:29 +02:00
Gwenhael Goavec-Merou 21d4fccf28 altera,libusb_ll,mcsParser: fix some compiler's warnings 2025-06-19 08:30:35 +02:00
Gwenhael Goavec-Merou 803bdfecce altera: MAX10: added --flash-sector support with arbitrary binary file 2025-06-18 18:57:26 +02:00
Gwenhael Goavec-Merou 775477ba8e part: added Lattice ECP3 LFE3-70E 2025-06-18 16:20:32 +02:00
Gwenhael Goavec-Merou a7b56c3732 lattice: added ECP3 family support (SRAM only) 2025-06-18 16:20:23 +02:00
Gwenhael Goavec-Merou 098cdd466a jtag: allows caller to specify tdi level in toggleClk method 2025-06-18 10:01:16 +02:00
José Miguel Sánchez García 3723bf7571 Add cable support for ARM-USB-TINY-H based off ARM-USB-OCD-H 2025-06-10 21:54:54 +02:00
Gwenhael Goavec-Merou 347088efb4 ice40: Reuses prepare_flash_access/post_flash_access as much as possible. Removed dupplicated Flash dump informations. Be coherent to status message 2025-06-08 07:20:00 +02:00
Gwenhael Goavec-Merou 2e1c7e29a4 spiFlash: cosmetic 'Read flash ' -> 'Reading' (#558) 2025-06-08 07:01:14 +02:00
Gwenhael Goavec-Merou 765ed526e3 spiFlash: dump: honour _verbose level 2025-06-04 21:38:00 +02:00
Gwenhael Goavec-Merou 32f744979c ice40: uses verbose_level for SPIFlash instead of verbose/quiet (#555) 2025-06-03 11:26:38 +02:00
Gwenhael Goavec-Merou c6d4a8bff1 device: added verbose_level attribute 2025-06-03 11:24:36 +02:00
Gwenhael Goavec-Merou 5f6c1bfcd4
Merge pull request #543 from trabucayre/spiOverJtag_v2
SpiOverJtag v2
2025-05-29 08:41:10 +02:00
Gwenhael Goavec-Merou 03045dc407 xilinx: adapted code to support existing spiOverJtag bitstreams (v1) and new bitstreams (v2) 2025-05-26 09:53:10 +02:00
Gwenhael Goavec-Merou ba48d53409 main: added detect_flash in SPI Mode and with a manufacturer 2025-05-24 07:50:51 +02:00
Gwenhael Goavec-Merou e135f1820b ice40: added detect_flash support 2025-05-24 07:48:21 +02:00
Gwenhael Goavec-Merou 10ba59c1ec libusb_ll,ftdipp_mpsse: Bus and Device must be both == 0 to use filter or uses VID/PID 2025-05-24 07:46:58 +02:00
Gwenhael Goavec-Merou 6c4dbe94cc
Merge pull request #553 from cheyao/master
Add support for icepi zero
2025-05-23 07:27:18 +02:00
Cyao 7c423c15fd Add icepi zero to board.hpp 2025-05-23 07:02:44 +02:00
Junhui Liu 5fefbb39af Add support for MILIANKE-S200-EG4D20 and update document
Add board definition and FPGA part ID for the MILIANKE S200 EG4D20
development board. Also update related documentation and outdated URL.

Tested ok by loading bitstream to SRAM and FLASH.

Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
2025-05-22 11:05:51 +08:00
Junhui Liu 951db00617 anlogicCable: Fix wrong ANLOGICCABLE_VIDv1
ANLOGICCABLE_VIDv1 should keep the old ANLOGICCABLE_VID to compatible
with the original device.

Fixes: 4b008a0 ("anlogicCable: refresh with new VID")
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
2025-05-22 10:37:04 +08:00
Gwenhael Goavec-Merou e18c139941 spiFlashdb.hpp: disables quad mode configuration for all N25Q. It's useless because the chip is able by default to support single and quad transaction and after this configuration the flash is unable to works in single mode. 2025-05-21 10:17:10 +02:00
Gwenhael Goavec-Merou e6ee4fb99a libusb_ll: probe type -> probe_type 2025-05-15 18:18:49 +02:00
Gwenhael Goavec-Merou 392b4c61ee libusb_ll/scan: improved display by align column according to max size (#549) 2025-05-15 08:09:25 +02:00
Julio Nunes Avelar c291aade70
Adding support for Open Source SDR Lab Kintex-7 325t FPGA PCIE Development Board 2025-05-12 12:38:30 -03:00
Gwenhael Goavec-Merou 4553bacb05 colognechip: performs reset after SPI Flash write 2025-05-01 16:19:05 +02:00
Dusk f6afb5ab9f Add support for Digilent Anvyl, the Big Red Board.
Programming to SRAM works. Programming flash works with a renamed
spiOverJtag bitfile - cs(g)484 is different from fg(g)484, but the
configuration flash IOs all end up on the same pads in the end.
2025-04-26 23:49:24 -07:00
Gwenhael Goavec-Merou 7a509b56ee
Merge pull request #541 from bl0x/numato-neso-support
Add support for Numatolab Neso board.
2025-04-24 06:59:25 +02:00
Mike Goelzer ff1e77debf adds GCM board type and FT4232H interface B cable 2025-04-23 07:04:40 -06:00
Gwenhael Goavec-Merou d942c79f62 jtag: added method to retrieves number of devices in the JTAG chain 2025-04-22 18:59:19 +02:00
Bastian Löher bdeb74b61e Add support for Numatolab Neso board. Programming SRAM over USB works, when board jumpers are set for JTAG programming mode. SPI flashing does not work properly (does not boot). 2025-04-21 21:17:54 +02:00
Gwenhael Goavec-Merou 198cfbe604 ihexParser: added type 04 (Extented Linear Address Record) and 05 (Start Linear Address Record) 2025-04-21 17:47:02 +02:00
Gwenhael Goavec-Merou c97369c241 spiFlash: only uses spi_put with distinct cmd parameter 2025-04-21 07:42:26 +02:00
Gwenhael Goavec-Merou 6c0c38d0cc esp_usb_jtag: added reference to esp32s3-jtag repository 2025-04-20 12:47:28 +02:00
Gwenhael Goavec-Merou b7967cf71a esp_usb_jtag: improves
- esp_usb_jtag: added xfer method to handle/simplify libusb_bulk_transfer calls
- src/esp_usb_jtag.cpp: simplify some operations
- src/esp_usb_jtag.cpp: writeTDI: fixed rx buffer index, added a basic code to handle end transaction
- src/esp_usb_jtag.cpp: writeTMS: store and uses _tdi & _tms
- src/esp_usb_jtag.cpp: toggleClock: re-uses _tdi/_tms
- src/esp_usb_jtag.cpp: writeTDI: ditto
- esp_usb_jtag: fixed verbosity level/be more quiet
- esp_usb_jtag: fixed writeTDI with end and tms transition: now integrated instead of distinct sequence. Fixed TDI value with tms transition. Working with ECP5
- esp_usb_jtag: added optional parameter to lower timeout error (useful when it's time to flush the device)
- esp_usb_jtag: fixed writeTDI when tx is NULL
2025-04-18 07:32:37 +02:00
Emard fa1d328b93 esp_usb_jtag: new cable
- copy dirtyjtag to esp_usb_jtag, it compiles
- copy protocol definiton, defines and private data/struct from openocd esp_usb_jtag.c
- ulx3s_esp board with esp32s3 cable
- esp_usb_jtag specify usb vid:pid in jtag.cpp
- hardcode usb interface and endpoints
- getting caps
- set chip id (not applicable for fpga)
- tms write done, untested
- cleanup and toggle clk
- 32bit counting
- setting divisor (todo read base freq)
- div range within 1-255
- base speed from descriptor
- fix doc typo with swapped tms/tdi some cleanup but it doesn't work.
2025-04-18 07:32:15 +02:00
Gwenhael Goavec-Merou d155bf6a35
Merge pull request #538 from nexthop-ai/nate-a7-15t
Add support for Artix A7 15t
2025-04-16 06:14:55 +02:00
Junhui Liu 68c7786f5f Add support for xc7k480t 2025-04-09 21:01:16 +08:00
Nate White 6e05a7fa25 Add support for Artix A7 15t
Tested on real hardware, connecting through Linux gpiod
2025-04-08 15:31:41 +00:00
Gwenhael Goavec-Merou ccb11ffe01
Merge pull request #534 from phdussud/master
Fix incompatibility with Lattice FPGA
2025-03-30 08:56:35 +02:00
Patrick Dussud 6623ceff28 Fix incompatibility with Lattice FPGA 2025-03-29 17:23:02 -07:00
Clemens Horch fd66d4a74a Added support for Everspin MRAM (EM008LX, EM016LX, EM032LX and EM064LX) 2025-03-28 09:06:02 +01:00
Gwenhael Goavec-Merou 5ced26c3f6 gowin: Improved eraseSRAM/SPI Flash prepare for Arora V devices 2025-03-26 13:14:39 +01:00
Franck Jullien 1698d6751e part.hpp: add Xilinx xc7s75 2025-03-25 11:12:05 +01:00
Gwenhael Goavec-Merou f5ed5c4400
Merge pull request #529 from mer0m/master
kcu105: add support for secondary QSPI
2025-03-21 19:12:44 +01:00
vbuitvydas b1f4c35312 Added support for MX25L25645G FLASH memory 2025-03-21 15:50:17 +02:00
Gwenhael Goavec-Merou 671224a544 mcsParser: check if _bit_data size is not larger than bitstream 2025-03-21 06:47:30 +01:00
bma 4e5fd9fabc Merge branch 'kcu105_dual_qspi' 2025-03-20 20:47:12 +01:00
bma 1c78344ca5 kcu105: add secondary qspi detection and dump 2025-03-20 20:11:02 +01:00
bma 1bb69dcf22 kcu105: add fpga package in description 2025-03-20 20:09:46 +01:00
Gwenhael Goavec-Merou 4c4f48ea93 fix to have an happy CI 2025-03-18 23:02:11 +01:00
Gwenhael Goavec-Merou 414a7259f0 altera: uses --flash-sector to only update a subset of internal flash sectors 2025-03-18 22:42:00 +01:00
Gwenhael Goavec-Merou 719697eabe common: added function to split a string to a vector by using a delimiter 2025-03-18 22:39:44 +01:00
Gwenhael Goavec-Merou 4a5a912b9d mcsParser: fixed warnings 2025-03-17 07:25:13 +01:00
Gwenhael Goavec-Merou 2ee72c0556 mcsParser: _bit_length/buffer size / addr sanity check 2025-03-17 07:19:19 +01:00
Gwenhael Goavec-Merou f86037231a altera: added max10_mem_t in max10_memory_map for 10M16SA Max10 variant 2025-03-16 08:50:13 +01:00
Gwenhael Goavec-Merou 1abb1c2453 altera: added sectors erase and UFM write
- updated max10_mem_t to have sectors erase addresses
- updated max10_flow_erase to perform a full erase or sectors per
  sectors
- added a dedicated method to perform UFM erase and write without full
  internal flash erase and with arbitrary file instead of POF
2025-03-15 07:45:16 +01:00
Marcus Comstedt 703af08c91
xvc_server: Make thread exit cleanly (#526) 2025-03-10 21:25:13 +01:00
Gwenhael Goavec-Merou b2c2ae80c0
Merge pull request #528 from mc-requtech/xvc-server-libgpiod
libgpiodJtagBitbang: add support for XVC server
2025-03-10 20:25:38 +01:00
Marcus Comstedt a39aa2d43e libgpiodJtagBitbang: add support for XVC server 2025-03-10 15:29:06 +01:00
Gwenhael Goavec-Merou 6f29d9ecd1 ftdispi: fixed ft2232_spi_wr_and_rd: buffer is empty when transaction is read-only 2025-03-09 08:37:29 +01:00
Marcus Comstedt 6dbde4c368 gowin: Fix compilation on musl 2025-03-07 15:38:14 +01:00
Gwenhael Goavec-Merou 3cf558ebe2 colognechip: added a workaround to drive reset pin with DirtyJTAG cable
(requires a recent DirtyJTAG firmware)
2025-03-07 07:19:39 +01:00
Gwenhael Goavec-Merou 3c7324d14d dirtyJtag: added SRST/TRST values. Added method to read/set GPIOs level 2025-03-07 07:19:14 +01:00
Gwenhael Goavec-Merou ab8d8fc0d3 gowin: Arora V: fix SRAM erase/load when flash is blank and timeout bit is set 2025-03-06 20:05:31 +01:00
Gwenhael Goavec-Merou ee8decdfe6 ftdispi: ft2232_spi_wr_and_rd: improved error messages 2025-03-02 09:11:49 +01:00
Gwenhael Goavec-Merou ecb22b2eeb ftdispi: ft2232_spi_wr_and_rd: use dedicated buffer for MPSSE command to
avoid overflow. Simplify code, improve error message (issue #524 and
2025-03-02 09:00:49 +01:00
Gwenhael Goavec-Merou 564485036e doc/boards: added alinx_ax7201/alinx_ax703 entries. 2025-02-27 06:44:52 +01:00
TarikHamedovic c0cfc0cc57 Added alinx_ax7203 and alinx_ax7201 boards 2025-02-27 04:13:42 +01:00
Gwenhael Goavec-Merou 989c8f8ccb ftdispi: lowlevel init/MPSSE configuration before pins manipulation (issue #519) 2025-02-26 19:48:42 +01:00
Gwenhael Goavec-Merou fbee81b1d0 efinix.cpp: programJTAG. Fixed IDCODE read 4 -> 32 (issue #520) 2025-02-26 19:38:10 +01:00
Gwenhael Goavec-Merou 2ff215dfff board, efinix: added SPI variant for efinix t20 BGA256 board 2025-02-24 20:33:01 +01:00
Gwenhael Goavec-Merou c6e5ec9cb0 anlogicCable: fixed typo 2025-02-24 19:42:30 +01:00
Gwenhael Goavec-Merou a8d5247650 anlogicCable: added pinout + link 2025-02-23 09:00:30 +01:00
Gwenhael Goavec-Merou 4b008a0196 anlogicCable: refresh with new VID 2025-02-23 08:59:08 +01:00
Gwenhael Goavec-Merou 7ed62601c7 altera: fixed UFM: MAX10 memory is in reverse order, UFM1 is BEFORE UFM0 2025-02-16 15:30:30 +01:00
AEW2015 d61e147989 added 1.35v csg325 build and Macronix flash 2025-02-15 14:24:42 -07:00
Gwenhael Goavec-Merou c4d4e8db7e doc/boards.yml, src/board.py: added tangconsole entry 2025-02-15 11:39:37 +01:00
Gwenhael Goavec-Merou 79054f3fa1
Merge pull request #512 from antmicro/fix-null-values-in-stdout
Fix snprintf usage
2025-02-13 19:47:45 +01:00
Gwenhael Goavec-Merou b839792220 altera: added internal flash dump support for MAX10 devices 2025-02-02 20:50:06 +01:00
Gwenhael Goavec-Merou 5f673c6f14 altera: max_10 -> max10 2025-02-02 09:11:14 +01:00
Gwenhael Goavec-Merou ab8bed3f26 altera: max10_program: respect _verbose variable 2025-02-02 09:10:37 +01:00
Gwenhael Goavec-Merou 182e30b637 part,gowin,fsparser: added Gowin Arora V GW5AT-60 Variant 2025-02-01 12:19:34 +01:00
Gwenhael Goavec-Merou 533dd1ea5f altera: cosmetic/linter 2025-02-01 08:28:17 +01:00
Gwenhael Goavec-Merou 959201a21f altera: MAX10 fully rework POF to internal flash mapping, added UFM write and note related to internal flash sections vs POF UFM/CFM sections 2025-02-01 08:14:07 +01:00