Commit Graph

868 Commits

Author SHA1 Message Date
Gwenhael Goavec-Merou 8ffa024a95 spiFlash: temporary disable read extended (#345) 2023-07-24 14:45:13 +02:00
Stéphane Chevigny 91f2900f0c add support for colorlight-i9+ board + spiOverJtag/spiOverJtag_xc7a50tfgg484.bit.gz 2023-06-30 11:36:32 +02:00
Gwenhael Goavec-Merou 3e25a33346 boards: added support for 14bits 125MHz redpitaya board (7010) 2023-06-29 16:59:42 +02:00
Gwenhael Goavec-Merou 1f5d6cb373 xilinx: rework error message for zynqXX in SPI_MODE 2023-06-01 20:33:27 +02:00
Andrew Dennison 87b17ed9bf efinix: support using JTAG interfaces 2023-06-01 11:05:26 +10:00
Andrew Dennison ec82dd6467 jlink: support J-Link BASE and J-Trace PRO 2023-05-29 11:57:47 +10:00
Andrew Dennison 23d65823aa jlink: report skipped devices with verbose 2023-05-29 11:57:47 +10:00
Andrew Dennison bddfe97997 jlink: suport writeTDI() with tx=NULL
fixes crash and is consistent with other jtag cables
2023-05-29 11:57:47 +10:00
Gwenhael Goavec-Merou d2f7040527 main: parse_opt: busdev-num: explicitly set hex base 2023-05-28 17:14:48 +02:00
wonderfullook 9331bf7a6b
add sipeed tang nano 20k 2023-05-25 19:24:48 +08:00
William D. Jones 5e98333a8d Fix off-by-one errors in calculating UFM start page. 2023-05-05 02:00:35 -04:00
Gwenhael Goavec-Merou d8bc361e7f lattice: UFM printf -> printInfo 2023-05-01 21:11:22 +02:00
Gwenhael Goavec-Merou caafc8edc3 lattice: bypass refresh instruction for machXO2 2023-05-01 21:07:32 +02:00
Gwenhael Goavec-Merou a0fdccc2a4 lattice: fix cast int vs uint8_t 2023-05-01 01:05:36 +02:00
William D. Jones 0db174ed7e
Add support for flashing UFM on MachXO2 using JEDEC file. (#339)
* Add support for flashing UFM on MachXO2 using JEDEC file.

* Use a better guard value for getUFMStartPageFromJEDEC.

* Fix if-else style in  getUFMStartPageFromJEDEC.
2023-05-01 00:50:16 +02:00
Gwenhael Goavec-Merou 873de96a3b spiOverJtag: added efinix Titanium Ti60 support 2023-04-27 16:41:58 +02:00
Gwenhael Goavec-Merou 07a0708eb8 efinix:
- jtag mode: added spiOverJtag support;
- spiOverJtag: added efinix support: verilog file and t8f81 bitstream
- xyloni: part code for spiOverJtag flash access/load bridge
2023-04-27 16:41:17 +02:00
Balint Cristian 933ed793e8 Add libgpiod v2 api support
Signed-off-by: Balint Cristian <cristian.balint@gmail.com>
2023-04-19 23:27:09 +03:00
Gwenhael Goavec-Merou cd8a143164 DATA_DIR override with environment variable (#333) 2023-04-17 20:55:10 +02:00
Viktor P 4100675a6b Allow VID:PID override for JLink probe 2023-04-17 19:15:04 +03:00
Gwenhael Goavec-Merou 0a9e8a7e4b src/xx: cppcheck 2023-04-15 08:20:05 +02:00
chenzhuoyu cf04d64377 feat: option to use an extra GPIO as the status indicator 2023-04-11 00:36:16 +08:00
nulltek 9aa0e72afb
Add Support for Xilinx Artix-7 a25t (xc7a25t) 2023-04-07 17:33:16 +12:00
Gwenhael Goavec-Merou a43f94fcf5 spiFlashdb: Windbond w25q80bv 2023-04-03 23:26:03 +02:00
Gwenhael Goavec-Merou ccdcc49cb0 gowin: fix typo 2023-03-17 19:42:23 +01:00
Gwenhael Goavec-Merou 6161e550c1 main: deduplicate messages about board's default cable/user's selection, display warn always instead of when verbose mode is set. 2023-03-09 21:19:35 +01:00
Maik Ender 4161c79920
Add Support for Xilinx KCU116 (#322)
* initial kcu116 support

* add kintex ultrascale plus family to xilinx.cpp

* add docs

* combine xcku and xcvu check

* rebuild bitstream for -1 speedgrade
2023-03-09 20:48:19 +01:00
Gwenhael Goavec-Merou d5f5593421 cmake,usbBlaster: add option to fix firmware path at build time 2023-03-05 23:20:16 +01:00
Gwenhael Goavec-Merou 8c7b110766 spiFlashdb: Macronix MX25L12833 2023-03-05 16:02:22 +01:00
Gwenhael Goavec-Merou 0675cadfe7 spiFlashdb: ST M25P16 2023-03-05 13:14:01 +01:00
Gwenhael Goavec-Merou 4a6e6f0d35 lattice: when loadConfiguration fails -> check if external flash is blank 2023-03-05 10:16:08 +01:00
Gwenhael Goavec-Merou 3babd5d07d spiInterface: add read method 2023-03-05 10:13:08 +01:00
Gwenhael Goavec-Merou a5489e62f8 spiFlash: ST M25P16 2023-03-04 18:14:37 +01:00
Gwenhael Goavec-Merou cda14f24e3 board: hseda-xc6slx16 2023-03-04 17:55:02 +01:00
Gwenhael Goavec-Merou c35f21a5be latticeBitParser: add SPI_MODE missing instruction (issue #324) 2023-03-04 08:02:24 +01:00
hycrypt 3d9717f7c3 add the skip_load_bridge and skip_reset arguments also for Xilinx devices 2023-03-03 11:18:08 +01:00
Gwenhael Goavec-Merou 9c1876818f README,main: add remote bitbang for ip and port 2023-03-02 13:55:40 +01:00
Gwenhael Goavec-Merou 500c33e037
Merge pull request #318 from trabucayre/remoteBitbang
remoteBitbang_client: adding new protocol (client side)
2023-03-02 13:50:12 +01:00
Gwenhael Goavec-Merou fd97c244d9 remoteBitbang_client: adding new protocol (client side) 2023-03-02 13:47:11 +01:00
Gwenhael Goavec-Merou 7de494f666 adding Opal Kelly XEM8320 board 2023-02-28 22:40:41 +01:00
AEW2015 fe0f0ac0c0 Artix+ AU25P support for Opal Kelly Board 2023-02-28 14:24:49 -07:00
Gwenhael Goavec-Merou 657d98f3c3 args: better --offset description (#319) 2023-02-27 21:15:34 +01:00
Gwenhael Goavec-Merou 567d854edf efinix: fix JTAG: detect family, fix irlen for titanium, add support for bit file, hex file can't be used with titanium 2023-02-26 10:10:46 +01:00
Gwenhael Goavec-Merou 6799115451 parts: fix Efinix titanium irlen 2023-02-26 10:02:26 +01:00
Gwenhael Goavec-Merou 64d6b614b6 efinix: in jtag mode fix access to the ll driver 2023-02-25 18:36:04 +01:00
Gwenhael Goavec-Merou d7d414ea55 jtag: adding getter to lowlevel transport driver 2023-02-25 17:15:25 +01:00
Gwenhael Goavec-Merou daf233d983 efinix: in JTAG mode keep bus_addr, device_addr between jtag and spi interfaces 2023-02-25 17:11:55 +01:00
Gwenhael Goavec-Merou ea6b1989d0 ftdipp_mpsse: adding bus_addr, device_addr getters 2023-02-25 17:10:40 +01:00
Gwenhael Goavec-Merou 7f1f9445d4 cable: bus_addr, device_addr: int -> uint8_t 2023-02-25 17:10:01 +01:00
Jiajie Chen 49ae479833 Add flash support for VCU128
VCU128 does not have secondary flash.
2023-02-22 09:51:16 +08:00
Jiajie Chen f54781471b Add initial support for VCU128 2023-02-19 18:39:14 +08:00
Gwenhael Goavec-Merou a0180f0bc6 xvc_server: fix comm when Vivado acts as client 2023-02-18 09:31:25 +01:00
Gwenhael Goavec-Merou a481c1e699 gowin: merge CRC check into one method, check usercode/checksum as fallback when usercode register doesn't match computed file's checksum (issue #279) 2023-02-16 20:02:36 +01:00
Gwenhael Goavec-Merou 6f070d8e97 fsParser: fix usercode/checksum size 2023-02-16 19:59:58 +01:00
Gwenhael Goavec-Merou 2869db7580 libusb_ll: fix typo in scan method 2023-02-16 08:00:39 +01:00
Gwenhael Goavec-Merou 391dcb3dee dirtyJtag: throw exception when getVersion fails, use a #define for TIMEOUT value 2023-02-16 07:59:54 +01:00
Bastian Löher 8e20f1eb7d Fix typo in part name and family. 2023-02-15 15:06:02 +01:00
wdevore 9a09e427e3 Added Lone Dynamics Schoko and Konfekt SBCs 2023-02-11 17:15:45 +01:00
Gwenhael Goavec-Merou 2c7334cc35 src/part: add LCMXO2-256HC, update doc/FPGAs 2023-02-08 20:18:04 +01:00
Bastian Löher b93862bd65 Sort. 2023-02-08 14:08:45 +01:00
Bastian Löher d4095ddb93 Add ID code for part xa2c64a (Coolrunner-II). 2023-02-08 14:05:45 +01:00
Ricardo Barbedo 090a16656d Only delete bitstream objects if non-null 2023-02-07 10:30:28 +01:00
Ricardo Barbedo beb93d8321 Replace the string arguments usage with a bitfield 2023-02-06 15:17:53 +01:00
Ricardo Barbedo 0536ab4754 Add target-flash and secondary-bitstream CLI options for VCU118 2023-02-06 11:23:10 +01:00
Olivier Galibert 5a00f0d184 part: Add all cyclone V variant
board: Add the Terasic C5G
2023-01-29 15:35:47 +01:00
Gwenhael Goavec-Merou 4a07ffa2b8
Merge pull request #297 from barbedo/vcu118-flash-ir-codes
Add support for XCVU9P IR length and codes
2023-01-24 06:31:40 +01:00
Ricardo Barbedo 43e6c0c867
Add support for 4-byte QSPI flash addressing (#295)
* Add support for 4-byte QSPI flash addressing

* Avoid code duplication
2023-01-23 15:18:46 +01:00
Ricardo Barbedo ad9ad539ff Add support for XCVU9P IR length and codes 2023-01-21 14:45:50 +01:00
Ricardo Barbedo e5481787d8 Fix VCU118 board part name and IR length 2023-01-21 14:45:50 +01:00
Ricardo Barbedo 85fd2f316f Add support for MT25QU01 flash 2023-01-21 13:47:51 +01:00
Michal Sieron d127fb9554 bitparser: replace _raw_data.size() with _file_size
Signed-off-by: Michal Sieron <msieron@antmicro.com>
2023-01-20 09:09:41 +01:00
Michal Sieron bc53c1d022 bitparser: check bitstream length in the file
It was present before, but for some reason was removed in 16932786.

Signed-off-by: Michal Sieron <msieron@antmicro.com>
2023-01-19 21:07:40 +01:00
Marcus Andrade 67563983f9 feat(board): add support for Terasic DE10-Lite 2023-01-09 15:52:54 -06:00
Icenowy Zheng fdf4c94d83 boards: add Sitlinv STLV7325
Sitlinv STLV7325 is a board with XC7K325T-FFG676.

Add support for it.

The board does not have JTAG cables on board, however its vendor
provides an option to buy a FT4232-based JTAG cable with the board, so
the default cable is set to ft4232.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
2023-01-06 15:22:43 +08:00
Marcus Andrade 14fce33109 feat(board): add support for Arrow/Terasic DECA 2023-01-04 13:11:21 -06:00
Gwenhael Goavec-Merou cc1bc89f29 boards: Trenz TEI0010 - AnalogMax 2023-01-04 19:00:08 +01:00
Gwenhael Goavec-Merou 751b057596 parts: Intel MAX10 (10M08) 2023-01-04 18:53:25 +01:00
Gwenhael Goavec-Merou 8ee65e7f9d usbBlaster,ftdiJtagMPSSE: fix alignment for 1 bit len read transaction 2023-01-04 18:50:13 +01:00
Gwenhael Goavec-Merou 84aa0d14b9 main: xvc_server: catch exception 2023-01-02 18:02:43 +01:00
Gwenhael Goavec-Merou 2182a8ff7f xvc_server: don't stop when connection close, rework read to return code for error and for disconnect 2023-01-02 18:02:28 +01:00
Gwenhael Goavec-Merou c28e955bb9 usbBlaster: change tx_len size (16 -> 32) to fix a potential overflow when log2(xfer_len) > 16 in toggleClk method 2023-01-02 08:57:52 +01:00
Marcus Andrade 0591af56b7 feat(board): add support for Trenz C10LP-RefKit 2022-12-25 15:53:45 -06:00
Cedric de Wijs 483304344f more typo fixes 2022-12-18 23:29:21 +01:00
Cedric de Wijs 0bdef7bab1 typo's, added git as dependency 2022-12-18 13:56:54 +01:00
Ricardo Barbedo 0855efb29f Add initial support for the VCU118 board 2022-12-11 22:11:50 +01:00
Gwenhael Goavec-Merou e536634ada adding LiteX-Acorn-Baseboards support 2022-12-11 20:39:32 +01:00
Gwenhael Goavec-Merou fb8c1a5f97 altera,intel: adding an option to bypass spiOverJtag automatic bitstream selection by providing the bitstream file path 2022-12-10 22:05:37 +01:00
Gwenhael Goavec-Merou 94d0ad6c85 src/ftdispi: typo: replace _holdn by _wpn for spi_config.wpn_pi (fix issue #277). 2022-11-27 15:29:25 +01:00
Gwenhael Goavec-Merou 175312423c src/libusb_ll: typo (ft2232RL -> ft232RL). Fix #276 2022-11-27 09:51:31 +01:00
Haakan T. Johansson 0048431fb2 ALINX AX516 board. 2022-11-26 23:05:30 +01:00
Gwenhael Goavec-Merou 6dfc762b7c src/lattice: allows to use bit file for machxo2 2022-11-26 12:11:41 +01:00
Gwenhael Goavec-Merou 2d885ce064 src/latticeBitParser: support machxo2 (check compress & fill vector<string>) 2022-11-26 12:06:24 +01:00
Gwenhael Goavec-Merou b078aa393a adding nexys A7 (50/100) aka nexys 4 DDR 2022-11-23 13:47:07 +01:00
Martin Braun 42193f1db8 boards: Add USRP X300 and X310
Signed-off-by: Martin Braun <martin.braun@ettus.com>
2022-11-22 20:15:16 +01:00
Gwenhael Goavec-Merou 13fa66bc22 src/xilinx: zynqXX: load only (#268) 2022-11-20 17:08:49 +01:00
Gwenhael Goavec-Merou 2df7606300 posParser: introducing intel/altera POF file parser 2022-11-20 16:46:51 +01:00
Gwenhael Goavec-Merou d5190a3bd4 src/main.cpp: lint/cppcheck 2022-11-12 22:58:17 +01:00
Gwenhael Goavec-Merou a0a68282cd src/main: simplify svf type search 2022-11-12 22:38:10 +01:00
Patrick Dussud 4a5bd0279b Removed the svf programming code from devices and added device independent svf programming in main.cpp
Fixed a type error in svf_jtag.cpp
2022-11-12 13:14:13 -08:00
Gwenhael Goavec-Merou e595953546 src/svf_jtag: cppcheck/lint 2022-11-06 18:33:43 +01:00
Gwenhael Goavec-Merou 0b0055495c
Merge pull request #264 from phdussud/master
improve svf parsing.
2022-11-06 18:13:49 +01:00
Rod Whitby c36eb1d0a8 spiFlash: Fix return value checking polarity and error reporting in protect_flash() and unprotect_flash()
The return value fro flash.enable_protection is an integer, where 0 means success.  So it must be compared to 0 to result in a true value for ret.
If flash.disable_protect() returns non-zero, then ret will be false, so there's no point in doing a std::to_string on ret.  You would need an integer intermediate value if you wanted to print the error value.
2022-11-06 18:56:07 +10:30
Rod Whitby de5aff7a96 spiFlash: Add --bulk-erase command line option
Adds a --bulk-erase command line option for bulk erasure of SPI flash.
2022-11-06 18:56:07 +10:30
Dvir Cohen 2da7696f19
Update board.hpp 2022-10-30 15:05:22 +02:00
phdussud 319d74f872 fix placement of leading { in if and for blocks 2022-10-26 09:16:04 -07:00
phdussud e979f4dd03 improve svf parsing. 2022-10-25 10:55:02 -07:00
Gwenhael Goavec-Merou 02424ca6cd
Merge pull request #263 from gregdavill/bugfix/xilinx-flash
msys2: Fix windows paths
2022-10-23 10:37:48 +02:00
Greg Davill 53e72a944a
pathHelper: Only compile on win builds 2022-10-23 18:52:47 +10:30
Greg Davill 74ac8bba24
msys2: Fix absolute windows paths
- Ensure path DATA_DIR isn't made absolute during compilation
- Use cygpath to create absolute path at runtime
2022-10-23 13:10:45 +10:30
Gwenhael Goavec-Merou 106cdecc14
Merge pull request #260 from jeanbie0/jetson-nano-gpio
Add cable jetson-nano-gpio
2022-10-22 15:07:00 +02:00
Gwenhael Goavec-Merou 077f335dbd src/libusb_ll: adding a libusb_open() return code check: when fails skip rest of the loop 2022-10-19 07:40:31 +02:00
Petr Nechaev 1bbe448f3a Limit automatic read burst length to 64K
Reading of very large binaries (e.g. 32 MB) can cause stack overflow.
Put a reasonable limit on read burst length.
2022-10-16 15:44:33 +03:00
Petr Nechaev 7185bbd127 Support for microchip SST26VF064B flash 2022-10-16 15:32:16 +03:00
Gwenhael Goavec-Merou 228f71d9b5 src/libusb_ll: libusb wrapper (currently limited to scan device), src/main: add scan-usb option 2022-10-15 22:28:06 +02:00
Gwenhael Goavec-Merou 2311f2c6ec src/main: add busdev-num option to select a probe by his bus number / device address 2022-10-15 17:41:30 +02:00
Gwenhael Goavec-Merou 68e519e4af src/ftdipp_mpsse: _bus/_addr: change type to uint8_t, default value to 0 and use cable_t bus_addr/device_addr$ 2022-10-15 17:18:38 +02:00
Gwenhael Goavec-Merou 9e5fcdbe0d src/cable: rename bus/device to bus_addr/device_addr 2022-10-15 16:19:24 +02:00
Gwenhael Goavec-Merou 48126cf84c src/xx: cable implementation: rework to use cable_t directly 2022-10-15 16:17:32 +02:00
Gwenhael Goavec-Merou 3e20dc7082 src/cable: rework cable list. move vid/pid from mpsse_bit_config to cable_t 2022-10-15 16:15:23 +02:00
J Biemar 5a7e73b586 Add cable jetson-nano-gpio 2022-10-14 11:15:02 +02:00
Gwenhael Goavec-Merou 2d66236533 xvc_client: allows to select port 2022-10-06 07:07:17 +02:00
Bastian Löher b3e25bc650 Add support for xc7s_csga225 and the Digilent CMOD S7 board. 2022-09-30 22:27:20 +02:00
Hirosh Dabui 3c9792645e add support for CmodA7-35T digilent fpga board 2022-09-30 21:17:45 +02:00
Gwenhael Goavec-Merou c3fcbaee07 removing test_sfl.svf 2022-09-30 13:59:39 +02:00
Gwenhael Goavec-Merou 47f59d68ef libgpiodJtagBitbang: fix warning 2022-09-17 17:33:58 +02:00
Gwenhael Goavec-Merou 8f59294f45 src/main: add specific -D to enable/disable --device arg 2022-09-17 17:33:25 +02:00
Gwenhael Goavec-Merou fe259fb78d gowin: add MSPI support when GW2A 2022-09-06 21:25:32 +02:00
Gwenhael Goavec-Merou d50b8102aa ftdiJtagBitbang: fix int vs uint32_t 2022-09-04 14:16:56 +02:00
Gwenhael Goavec-Merou 09b65ef4cc gowin: better error message when mismatch between fs idcode and target's idcode 2022-09-04 14:16:02 +02:00
Gwenhael Goavec-Merou 93aa9f4dd3 cable: add lpc-link2 support 2022-08-29 21:03:30 +02:00
Gwenhael Goavec-Merou 27309d4931 cmsisDAP: allows to select interface number 2022-08-29 21:00:32 +02:00
Gwenhael Goavec-Merou 61e959f93d main,board,ftdiJtagBitbang: use pin ID instead of shift 2022-08-23 18:37:43 +02:00
Maciej Nowak 5f7d4d2078 Add Xilinx Kintex UltraScale KCU035 IDCode 2022-08-18 15:25:09 +02:00
Diego Herranz f115608cb1 Add Steppenprobe cable
https://github.com/diegoherranz/steppenprobe

Config taken from OpenOCD repo:
https://sourceforge.net/p/openocd/code/ci/master/tree/tcl/interface/ftdi/steppenprobe.cfg
2022-08-09 18:31:16 +02:00
Gwenhael Goavec-Merou 6a00466137 xilinx: flow_program/xc95: verify write: replace hardcoded number of sections by nb_section 2022-08-04 08:15:29 +02:00
Gwenhael Goavec-Merou c6d79ec2e8 xilinx: flow_program/xc95: increase delay and use getClkFreq (issue #104) 2022-08-04 08:08:01 +02:00
Gwenhael Goavec-Merou 51628c38f5 typo 2022-07-26 20:29:11 +02:00
Gwenhael Goavec-Merou b4d343ce05 board: adding sipeed Tang Primer 20k 2022-07-26 20:25:43 +02:00
Gwenhael Goavec-Merou e77b8fb022
Merge pull request #243 from balika011/master
Gowin GW1NSR-4C MCU support
2022-07-25 19:09:01 +02:00
Gwenhael Goavec-Merou 61aa0d4785 libgpiodJtagBitbang: update copyright + lint 2022-07-25 19:08:23 +02:00
balika011 421eefc605 MCU firmware isn't added to the checksum 2022-07-24 17:51:24 +02:00
balika011 e44af80776 use RawParser for gowin mcu flashing 2022-07-24 17:31:36 +02:00
balika011 c3d13e8b75 remove unneeded code 2022-07-24 17:30:59 +02:00
Niklas Ekström bb6d286736 Remove unnecessary null check 2022-07-22 10:14:53 +02:00
Niklas Ekström f69ce8a465 Only show libgpiod cable in list if enabled 2022-07-22 10:01:23 +02:00
Niklas Ekström 4ed3ff835c Clarify code by using different API function
Use gpiod_chip_open instead of gpiod_chip_open_by_name, and thus avoid
having to remove "/dev/" prefix.
2022-07-22 09:52:12 +02:00
balika011 e847c3a7b0 Add connecting MCU to JTAG support for GW1NSR-4C 2022-07-20 23:32:21 +02:00
balika011 0581803def Add MCU Firmware flashing support for GW1NSR-4C 2022-07-20 23:32:16 +02:00
Niklas Ekström 8d920d7ed0 Bugfix to allow NULL tx pointer
Also set the _clkHZ variable which is needed for timing operations
such as erase.
2022-07-18 18:09:34 +02:00
Niklas Ekström 12955b8711 Initial commit of libgpiod JTAG driver
Not tested yet.
2022-07-18 18:09:34 +02:00