Commit Graph

1839 Commits

Author SHA1 Message Date
Gwenhael Goavec-Merou 936fe64c4a ftdipp_mpsse.cpp: setClkFreq: flush buffers before changing clock frequency 2025-12-31 12:09:58 +01:00
Gwenhael Goavec-Merou 2c6dac2d9c lattice: fixed SRAM for NEXUS family 2025-12-30 15:50:19 +01:00
Gwenhael Goavec-Merou 6f920360fc lattice: fixed SPI Flash access for NEXUS Family 2025-12-30 11:34:35 +01:00
Gwenhael Goavec-Merou dd7b74d2f5 lattice: uses reg_content to defines status registers bits for Nexus family 2025-12-30 09:15:10 +01:00
Gwenhael Goavec-Merou 667f8de666
Merge pull request #606 from germaneguise/feature/dirtyjtag-custom-vid-pid
dirtyjtag: Allow custom VID/PID via command line options
2025-12-29 13:27:58 +01:00
germaneguise c1c6e438a5 dirtyjtag: Allow custom VID/PID via command line options
Pass cable.vid and cable.pid to DirtyJtag constructor instead of using
hardcoded DIRTYJTAG_VID/PID. This allows users to use DirtyJTAG-compatible
firmware with custom USB VID/PID using the --vid and --pid flags:

  openFPGALoader -c dirtyJtag --vid 0x1337 --pid 0x0001 bitstream.fs

This is useful for custom DirtyJTAG implementations, embedded microcontrollers
with built-in JTAG adapters, or devices that use MS OS 2.0 descriptors for
automatic WinUSB driver loading with different VID/PID.

The default VID/PID (0x1209:0xC0CA) is preserved for backward compatibility.
2025-12-27 16:12:31 +09:00
Gwenhael Goavec-Merou ac3ed1266d CMakeLists.txt: bump cmake_minimum_required to 3.10 2025-12-26 09:17:15 +01:00
Gwenhael Goavec-Merou 6bac72cd68 Global: added option to select/deselect all cables, added variables ENABLE_xxx to enable corresponding cables. Some vendor drivers needs to to be disabled accordlingly 2025-12-26 09:17:06 +01:00
Gwenhael Goavec-Merou a81067bf63
Merge pull request #604 from phdussud/master
Enable support for CH347F
2025-12-25 11:17:32 +01:00
Patrick Dussud 84897ffa78 Enable support for CH347F
FIx a Windows issue
2025-12-24 12:13:56 -08:00
Gwenhael Goavec-Merou 63a42344bc lattice: rework program_extFlash method to uses new mcsParser features when extension == mcs 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou 3706236b43 xilinx: rework program_spi method to uses new mcsParser features when extension == mcs 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou f349377f5f mcsParser: reworks code to uses FlashDataSection 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou d7b9d58768 spiInterface: added write method variant with vector of FlashDataSection 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou f2c013daab spiFlash: added erase_and_prog method with vector of FlashDataSection 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou 4a593c258c spiFlash: moved BP status, unlock step into a dedicatedmethod 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou a7e4303563 spiFlash: bulk_erase method: allows BP bypass and printXX with a verbose level 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou e302bb6edc spiFlash: added FlashDataSection to handle bitstream per sections when gap or 0xff area are present 2025-12-17 20:05:11 +01:00
Gwenhael Goavec-Merou 7ed4954c91
Merge pull request #599 from zh522130/fix-analogic-high-freq-flash
anlogic: fix high frequency flash programming issue
2025-12-13 08:55:14 +01:00
Gwenhael Goavec-Merou fe115e10dd
Merge pull request #598 from zh522130/efinix-header-verify
efinix: Add header parsing and flash programming validation
2025-12-13 08:53:37 +01:00
zhangyh 4c17327a65 anlogic: fix high frequency flash programming issue 2025-12-12 04:14:14 +00:00
zhangyh ebf2f6fd80 efinix: Add header parsing and flash programming validation
Parse bitstream header to extract Mode, Width and Device fields.
Add validation for flash programming:
- Check device matches --fpga-part parameter
- Reject passive mode (only active mode supported for flash)

This prevents flashing incorrect bitstreams that would fail to boot.
2025-12-12 02:55:31 +00:00
Gwenhael Goavec-Merou c16e6d0f65
Merge pull request #597 from zh522130/add-t120f324
spiOverJtag: Add support for Efinix T120F324
2025-12-11 17:09:12 +01:00
zhangyh 251d7fde58 spiOverJtag: Add support for Efinix T120F324 2025-12-11 20:09:26 +08:00
Gwenhael Goavec-Merou 8411153d49 doc/FPGAs.yml: added GW5AT-15 variant 2025-12-10 11:15:11 +01:00
Gwenhael Goavec-Merou 9f6887e082
Merge pull request #596 from enjoy-digital/gw5at-15
src/gowin: Add support for GW5AT-15 (used on Sipeed Slogic16U3).
2025-12-10 11:12:21 +01:00
Florent Kermarrec 206cbd68b7 src/gowin: Add support for GW5AT-15 (used on Sipeed Slogic16U3).
JTAG pinout on Sipeed Slogic16U3 is similar to Sipeed Tang Primier 20K JTAG pinout and
extension cable from Tang Primer 20K can be used.

./openFPGALoader -c digilent_hs2 --detect
empty
Jtag frequency : requested 6.00MHz    -> real 6.00MHz
index 0:
	idcode 0x1681b
	manufacturer Gowin
	family GW5AT
	model  GW5AT-15
	irlength 8
2025-12-10 10:57:18 +01:00
Gwenhael Goavec-Merou 432cdc2dd7 lattice: added SPI Flash access support for ECP3 family 2025-12-08 16:24:40 +01:00
Gwenhael Goavec-Merou b76840b20d doc/FPGAs.yml: added Kintex UltraScale+ reference 2025-11-05 18:43:38 +01:00
Gwenhael Goavec-Merou 530b7a9993
Merge pull request #593 from AEW2015/master
basic PDI prog for Spartan Ultrascale+
2025-10-23 06:50:14 +02:00
Andrew E Wilson 648a4a833a basic PDI prog for Spartan Ultrascale+ 2025-10-23 06:44:19 +02:00
Gwenhael Goavec-Merou 03be134cdd
Merge pull request #591 from hennomann/patch-1
Update part.hpp to support Lattice LFE3-150EA device
2025-10-02 12:02:15 +02:00
hennomann 617cd29dff
Update part.hpp to support Lattice LFE3-150EA device
This PR adds device ID support for the Lattice ECP3 LFE3-150EA.
Previously, only the LFE3-70E was supported.

We've tested the implementation and confirmed it works as expected.
We're happy to contribute to expanding ECP3 device support!
2025-10-02 11:32:19 +02:00
Gwenhael Goavec-Merou 205e6f9ea5 spiOverJtag/build.py: fixed model value for kintex7 with ISE 2025-09-25 17:09:38 +02:00
Gwenhael Goavec-Merou f8ae76e771 spiOverJtag/build.py: added default value for pkg variable 2025-09-25 15:47:48 +02:00
Gwenhael Goavec-Merou 8694b3c295 board: added HyVision PCIe OPT01 rev.F (Kintex7 xc7k70tfbg676) 2025-09-24 16:56:46 +02:00
Gwenhael Goavec-Merou a7b72321fe spiOverJtag: added xc7k70tfbg676 variant 2025-09-24 16:48:02 +02:00
Gwenhael Goavec-Merou 8e6eb1085c spiOverJtag/build.py: simplify Kintex7 uses 2025-09-24 16:46:57 +02:00
Gwenhael Goavec-Merou 13cf0c59b9 xilinx: load_bridge: uses configBitstreamParser getFilename to print real name instead of theorical (with or without .gz) 2025-09-24 08:07:27 +02:00
Gwenhael Goavec-Merou 6935936a92 configBitstreamParser: added filename getter 2025-09-24 08:06:28 +02:00
Gwenhael Goavec-Merou 39b3ca5871 spiInterface: all methods: added a \n after command displayed (avoids unclear message when calee methods uses printxxx) 2025-09-24 08:06:06 +02:00
Gwenhael Goavec-Merou fdc9edc6cb spiOverJtag/xilinx_spiOverJtag.v: spartan3e: spi_drck -> drck 2025-09-22 10:18:24 +02:00
Gwenhael Goavec-Merou 29a5bc3515 spiOverJtag/xilinx_spiOverJtag.v: fixed code for virtex6 targets 2025-09-20 18:05:55 +02:00
Gwenhael Goavec-Merou 6df4bce1fd xilinx: allows Flash write for Xilinx Spartan3 targets 2025-09-20 17:31:32 +02:00
Gwenhael Goavec-Merou 1ccc2a0d5b spiOverJtag/xilinx_spiOverJtag.v: can't declare spi_clk for spartan3e device. Fixed sck assign for spartan3e 2025-09-20 17:30:10 +02:00
Gwenhael Goavec-Merou 5e67fee9f5 spiOverJtag/build.py: gzip file must be produces for all Xilinx devices 2025-09-17 20:16:03 +02:00
Gwenhael Goavec-Merou 06b4e2f143 spiOverJtag/xilinx_spiOverJtag.v: don't redeclares tdo for spartan3e 2025-09-17 11:55:52 +02:00
Gwenhael Goavec-Merou 1fc7539538 Prepare v1.0.0 release 2025-09-12 16:00:32 +02:00
Gwenhael Goavec-Merou e2c55f24c0 part: fixed cyclone III/IV/10 LP IDCODE (same code for all families) 2025-09-12 13:26:36 +02:00
Andy c102426b78
Add altera EP4CE30 (#584) 2025-09-08 08:34:37 +02:00