Commit Graph

974 Commits

Author SHA1 Message Date
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
Gwenhael Goavec-Merou 3e35944a4f xvc_server: fix message size 2022-07-06 21:36:57 +02:00
Gwenhael Goavec-Merou 975c40a00a enable xvc only for Linux OS 2022-07-06 21:14:25 +02:00
Gwenhael Goavec-Merou a90a7b6fa5 main: enable xvc_server 2022-07-06 21:00:24 +02:00
Gwenhael Goavec-Merou 34ff4f4020 xvc_server: first draft 2022-07-06 20:58:19 +02:00
Gwenhael Goavec-Merou e91ae5e65b xvc_client: fix frequency convertion 2022-07-06 20:57:47 +02:00
Gwenhael Goavec-Merou de42f8b239 ftdiJtagMPSSE: add writeTMSTDI method with full tms & tdi buffer. Always return TDO buffer 2022-07-03 21:44:03 +02:00
Gwenhael Goavec-Merou f364ea2c8f
Merge pull request #239 from BBBSnowball/better-message-if-cmsisdap-disabled
cmsisDAP: better error message if support is not enabled
2022-07-02 22:30:18 +02:00
Benjamin Koch 8c9a86699b cmsisDAP: better error message if support is not enabled 2022-07-02 17:24:02 +02:00
Benjamin Koch 80cf8edc31 cmsisDAP: fix crash in case hid device cannot be opened 2022-07-02 17:03:31 +02:00
Gwenhael Goavec-Merou 2f30668dbc ORBTrace Mini support (DFU mode) 2022-06-18 22:55:58 +02:00
Gwenhael Goavec-Merou 702ca39300 stop using get_state and promote the use of get_status 2022-06-18 22:50:55 +02:00
Gwenhael Goavec-Merou de2cdcb67a ftdispi: add missing index param 2022-06-18 20:21:13 +02:00
Gwenhael Goavec-Merou 780ea66384 DFU: fix potential leak 2022-06-18 18:47:27 +02:00
Gwenhael Goavec-Merou e21a251af3 DFU: fix detect -> bypass bitstream 2022-06-18 18:39:58 +02:00
Gwenhael Goavec-Merou e278b87a64
Merge pull request #236 from Icenowy/gw2a
Add GW2A support
2022-06-16 07:06:41 +02:00
Gwenhael Goavec-Merou 0779034921
Merge pull request #233 from Icenowy/ep4ce115
Add EP4CE115 support
2022-06-16 06:23:35 +02:00
Icenowy Zheng 3e00756976 part: add GW2A(R)-18(C)
Add JTAG ID code for GW2A(R)-18(C), tested with GW2A-18C on Sipeed Tang
Primer 20K.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
2022-06-16 09:54:02 +08:00
Icenowy Zheng fe0b4d347b gowin: add support for GW2A
GW2A has no internal flash, and it uses a yet unknown checksum
algorithm.

Support it by forcing external flash and skip checksum check now.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
2022-06-16 09:52:44 +08:00
Icenowy Zheng 37dbaba6b8 part: add EP4CE115
Altera EP4CE115 is a part from Cyclone IV E line.

Add it to the part database.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
2022-06-16 08:52:32 +08:00
Gwenhael Goavec-Merou 82c17f6a7d dfu: display error code 2022-06-14 23:14:01 +02:00
Gwenhael Goavec-Merou 4d69675041 dfu: check iProduct and iInterface -> set to a default string when empty 2022-06-14 23:09:43 +02:00
Gwenhael Goavec-Merou c64f1970d6 spiFlash: stop if jedec_id == 0xffffff 2022-06-02 08:52:56 +02:00
Gwenhael Goavec-Merou 1f842e4ebc cable: add missing mpsse_bit_config index 2022-06-02 08:51:47 +02:00
Rengifo, Rodrigo dec1a0920f add means to set cable index from command line 2022-06-01 07:17:38 -07:00
Gwenhael Goavec-Merou 610a495898 main: skip-reset fix typo 2022-05-28 18:06:51 +02:00
Gwenhael Goavec-Merou 26ea58c305 main: always check if board is not null before access 2022-05-28 17:20:53 +02:00
Gwenhael Goavec-Merou 051e2ecbfb add option to bypass reset in SPI write mode. Adapt altera accordingly 2022-05-24 07:29:35 +02:00
Gwenhael Goavec-Merou e066c7f5b0
Merge pull request #222 from el-coder-sb/add-skip-sram-cmd
Add skip sram cmd
2022-05-24 07:16:24 +02:00
Simon Buhrow 847a5040cf add skip_load_bridge cmd-line parameter 2022-05-23 11:51:16 +02:00
Gwenhael Goavec-Merou 056518e7c7 ihexParser: check buffer size, increase if required 2022-05-22 07:34:09 +02:00
Gwenhael Goavec-Merou e1eff76162
Merge pull request #228 from MPLew-is/zcu106
Correct part number for ZCU106 board
2022-05-16 08:52:28 +02:00
Mike Lewis 5295544200 Correct part number for ZCU106 board 2022-05-16 00:44:59 -06:00
Gwenhael Goavec-Merou c9fb3f4065 latticeBitParser: fix end header position with MACHOX3D .bit file 2022-05-14 19:00:21 +02:00
Gwenhael Goavec-Merou a4d5fd8448 lattice: MACHXO3D no exception when flash-sector is not provided in SRAM mode 2022-05-14 18:54:01 +02:00
Xiretza ee3b6965f0 fix(part.hpp): use uint32_t instead of int for fpga_list index
This resulted in an error with GCC 12:

In file included from src/main.cpp:29:
src/part.hpp:148:1: error: narrowing conversion of ‘2165379139’ from ‘unsigned int’ to ‘int’ [-Wnarrowing]
  148 | };
      | ^
2022-05-14 15:36:02 +02:00
Mike Lewis 76f13604d1 Add initial support for ZCU106 development board 2022-05-14 02:48:23 -06:00
Gwenhael Goavec-Merou f83670996e spiFlashdb: adding S25FL512S 2022-05-14 10:16:08 +02:00
Gwenhael Goavec-Merou 74eda1cd8a spiFlashdb: N25Q64 part 2022-05-10 19:07:56 +02:00
Hans Baier 6a2a62cae6 support Kintex XC7K420T 2022-05-10 13:07:47 +07:00
Gwenhael Goavec-Merou 2bbf372a1d
Merge pull request #218 from ejdan/efinix-jtag
efinix: support loading a bitstream to SRAM using only JTAG pins (no GPIO)
2022-05-02 07:05:37 +02:00
Gwenhael Goavec-Merou 84d5c59dfe ftdipp_mpsse: don't throw exception when iProduct is empty: display warn and use empty string 2022-05-01 17:09:53 +02:00
Gwenhael Goavec-Merou db410839af spiInterface: unprotect_flash: fix return. Improve messages 2022-04-30 20:16:30 +02:00
Anders Ejdeling e094494a59 efinix: support loading a bitstream to memory using only JTAG pins (no GPIO). Tested with Trion T120 BGA324 Development Kit but should work on T20BGA324, T20BGA400, T35, T55, T85, and T120 FPGA. 2022-04-29 15:57:20 +02:00
Gwenhael Goavec-Merou d7365495aa spiFlash: fix display: when bp_len==0 -> set bp/tb = 0, otherwise parse reg 2022-04-23 17:58:33 +02:00
Gwenhael Goavec-Merou 5692482152 jlink: write_data -> writeTMSTDI. Fix behaviour 2022-04-17 12:33:37 +02:00
Gwenhael Goavec-Merou b12d174131 part: add 5CEBA9 entry (issue #213) 2022-04-11 19:14:58 +02:00
Gwenhael Goavec-Merou 80eeaef6ab ip CLI arg for XVC 2022-04-11 06:53:22 +02:00
Gwenhael Goavec-Merou 188d7518d1 jlink: check usb_claim error 2022-04-11 06:51:34 +02:00
Gwenhael Goavec-Merou 7bfce0fb2b xvc_client: Xilinx Virtual Cable client PoC 2022-04-10 16:02:39 +02:00
Patrick Urban dce9406599 gatemate: fix failed signal polarity and update documentation
* CFG_FAILED signal is no longer inverted
* minor fix in CFG_MD settings in doc/vendors/colognechip.rst
* update evaluation board URL

Signed-off-by: Patrick Urban <patrick.urban@web.de>
2022-04-09 13:08:57 +02:00
Gwenhael Goavec-Merou 08c460135e xilinx: fix wait until done for spartan3e 2022-04-02 11:53:46 +02:00
Gwenhael Goavec-Merou 285cbde7f4 part: explictly add spartan3e and xc3s250e 2022-04-02 11:52:58 +02:00
Gwenhael Goavec-Merou 7a8ed993f3 spiFlash: bulk_erase: check bp before erase 2022-03-31 06:36:37 +02:00
Gwenhael Goavec-Merou f615627b3c
Merge pull request #204 from rstephan/p_one_flash
Support for the Microchip SST25VF040B flash
2022-03-30 06:45:53 +02:00
Stephan Ruloff 648d8b9e3b Removed `must_relock` part for the "SST25VF040B" as requested 2022-03-29 18:30:23 +02:00
Sylvain Munaut 7a5284212b part: Add support for Kintex Ultrascale XCKU040
Signed-off-by: Sylvain Munaut <tnt@asuka.home.246tnt.com>
2022-03-29 10:40:52 +02:00
Sylvain Munaut 6578bed6aa part: Add support for ZynqMP Ultrascale Plus XCZU11EG
Signed-off-by: Sylvain Munaut <tnt@asuka.home.246tnt.com>
2022-03-29 10:40:38 +02:00
Gwenhael Goavec-Merou f9eb32c778 spiFlash: handle case where TB is not configurable 2022-03-29 07:49:08 +02:00
Gwenhael Goavec-Merou b8fd59e770 ftdipp_mpsse: don't display error when attach kernel driver, when the device hasn't been detach before or when driver isn't loaded. 2022-03-28 18:53:36 +02:00
Gwenhael Goavec-Merou 27f0ff2816
Merge pull request #205 from rstephan/spartan3e
Spartan3E (xc3s500evq100) and Papilio One
2022-03-28 18:37:43 +02:00
Stephan Ruloff 6da87c3d24 xc3s500e IDCODE: revision set to zero. 2022-03-28 18:14:25 +02:00
Stephan Ruloff 8337a926fb Removed TOP/BOTTOM settings from SST25VF040B 2022-03-28 17:54:43 +02:00
Steven Koo 8b6b09ea25 part: Add kintex7 variant xc7k410t 2022-03-28 10:43:11 -05:00
Gwenhael Goavec-Merou 9243a21fe2 xilinx: adapts flow_disable/flow_enable for xc3s, adding custom method to load bitstream for xc3s 2022-03-27 18:11:31 +02:00
Gwenhael Goavec-Merou 386f89ea3a latticeBitParser: when .bit is encrypted use Part: from header to retrieve idcode 2022-03-27 07:51:18 +02:00
Gwenhael Goavec-Merou da3dfff609 part: re-adding version nibble to remove ambiguities between U, UM and UM5G 2022-03-27 07:47:38 +02:00
Gwenhael Goavec-Merou 10ee84bb6d jtag: when verbose > 1: display unfiltered/raw IDCODE 2022-03-27 07:14:14 +02:00
Gwenhael Goavec-Merou 65c1d2ff0e ftdipp_mpsse: change verbose level 2022-03-27 07:13:40 +02:00
Stephan Ruloff b60f37b56d Support for the Papilio One board 2022-03-25 21:44:05 +01:00
Stephan Ruloff 8c4b1b3afd Support for the Microchip SST25VF040B flash.
Programming is slow, only one byte at a time :-(
2022-03-25 21:15:09 +01:00
Gwenhael Goavec-Merou 7d730eeeb6 ftdiJtagxx: check lowlevel init return value 2022-03-20 16:27:51 +01:00
Gwenhael Goavec-Merou 5d22374408 ftdipp_mpsse: robustness: check all function return code / improve a bit error message 2022-03-20 16:20:57 +01:00
Gwenhael Goavec-Merou 7ed9c201ce anlogicCable: remove unused _verbose, _tdi, _tms 2022-03-20 10:10:30 +01:00
Gwenhael Goavec-Merou cdc68b5dfc efinixHexParser: remove unused reverseOrder 2022-03-20 08:51:18 +01:00
Gwenhael Goavec-Merou 3f5aca5248 colognechip: explicitly set _spi or _ftdi_jtag to null, drop useless else if -> if not _spi it must be jtag 2022-03-20 08:44:55 +01:00
Gwenhael Goavec-Merou 684a4363ba efinix: fix dumpFlash: add override, remove filename param and use _filename from constructor 2022-03-20 08:27:13 +01:00
Gwenhael Goavec-Merou 648de05e6d colognechip: fix dumpFlash: add override, remove filename param and use _filename from constructor 2022-03-20 08:25:51 +01:00
Gwenhael Goavec-Merou 74790c40b6 configBitstreamParser: string::find return size_t not uint32_t 2022-03-20 08:24:49 +01:00
Jean THOMAS 80e917fcf1 Use uint32_t for misc_dev_list (fixes #196) 2022-03-19 12:13:07 +01:00
Gwenhael Goavec-Merou 3cef7f920d board: Xilinx ZCU102 2022-03-19 10:08:51 +01:00
Gwenhael Goavec-Merou 8d3310d486 part: ZynqMPSoC XCZU9EG 2022-03-19 10:06:44 +01:00
Gwenhael Goavec-Merou 3210bcd9cb
Merge pull request #194 from infphyny/qmtech_5cefa5f23
Add qmtechCycloneV_5cefa5f23 board and spiOverJtag/spiOverJtag_5cefa5…
2022-03-13 15:25:01 +01:00
Stéphane Chevigny 2ed5eb5eec Rename 5cefa5f23 to 5ce523, add documentation for board and fpga 2022-03-13 09:14:52 -04:00
Gwenhael Goavec-Merou 9f025e8278 jlink: fix workflow failure 2022-03-12 19:01:54 +01:00
Gwenhael Goavec-Merou 18100ec0f3 cable: new SEGGER J-Link support (PoC) 2022-03-12 18:46:23 +01:00
Stéphane Chevigny 7b36bdc893 Add qmtechCycloneV_5cefa5f23 board and spiOverJtag/spiOverJtag_5cefa5f23.rbf.gz bitstream to write flash 2022-03-12 09:25:22 -05:00
Gwenhael Goavec-Merou 15fb5ac591 board: PYNQ-Z2 2022-03-12 14:54:24 +01:00
Stéphane Chevigny ee08b1ac39 add Cyclone V 5CEFA5 in part database 2022-03-11 14:01:50 -05:00
Gwenhael Goavec-Merou 964c7d6659 ftdi MPSSE / jtag: add option to use neg edge for TDO's sampling 2022-03-11 07:45:48 +01:00
Gwenhael Goavec-Merou 86b2e14dbd
Merge pull request #191 from rwhitby/ice40_warnings
ice40: Add override specifier to resolve compiler warnings
2022-03-11 06:50:16 +01:00
Gwenhael Goavec-Merou 259914910f board: Xilinx ZC706 2022-03-10 18:53:41 +01:00
Gwenhael Goavec-Merou 6ba1968952 part: Zynq XC7Z045 2022-03-10 18:53:12 +01:00
Gwenhael Goavec-Merou 74eb812c6d cable: digilent jtag-smt2-nc 2022-03-10 18:52:47 +01:00
Rod Whitby 94c5fbb854 ice40: Add override specifier to resolve compiler warnings
The following compiler warnings are resolved by adding appropriate override specifiers:

In file included from openFPGALoader/src/ice40.cpp:6:
openFPGALoader/src/ice40.hpp:26:8: warning: 'dumpFlash' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
                bool dumpFlash(uint32_t base_addr, uint32_t len);
                     ^
openFPGALoader/src/device.hpp:46:16: note: overridden virtual function is here
                virtual bool dumpFlash(uint32_t base_addr, uint32_t len) {
                             ^
In file included from openFPGALoader/src/ice40.cpp:6:
openFPGALoader/src/ice40.hpp:34:7: warning: 'spi_put' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
                int spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx,
                    ^
openFPGALoader/src/spiInterface.hpp:65:14: note: overridden virtual function is here
        virtual int spi_put(uint8_t cmd, uint8_t *tx, uint8_t *rx,
                    ^
In file included from openFPGALoader/src/ice40.cpp:6:
openFPGALoader/src/ice40.hpp:39:7: warning: 'spi_put' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
                int spi_put(uint8_t *tx, uint8_t *rx, uint32_t len) {
                    ^
openFPGALoader/src/spiInterface.hpp:75:14: note: overridden virtual function is here
        virtual int spi_put(uint8_t *tx, uint8_t *rx, uint32_t len) = 0;
                    ^
In file included from openFPGALoader/src/ice40.cpp:6:
openFPGALoader/src/ice40.hpp:43:7: warning: 'spi_wait' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
                int spi_wait(uint8_t cmd, uint8_t mask, uint8_t cond,
                    ^
openFPGALoader/src/spiInterface.hpp:85:14: note: overridden virtual function is here
        virtual int spi_wait(uint8_t cmd, uint8_t mask, uint8_t cond,
                    ^
4 warnings generated.
2022-03-10 18:19:49 +10:30
Gwenhael Goavec-Merou 2eac30c24e ftdiJtagMPSSE: fix read/write polarity: always write on neg, read is by default on pos but may on neg with arty 2022-03-10 07:43:14 +01:00
Gwenhael Goavec-Merou 28ebc98b1b board: add CERN SPEC150 2022-03-03 15:40:42 +01:00
Gwenhael Goavec-Merou 75e3d82a92 part: xc6slx150T 2022-03-03 15:37:18 +01:00
Gwenhael Goavec-Merou 86fa1e01de spiFlash: force subsector only for SST26VF032B 2022-02-26 19:10:18 +01:00
Gwenhael Goavec-Merou 02e93ffec6 spiFlashdb: fix bp_offset list 2022-02-26 17:02:38 +01:00
Gwenhael Goavec-Merou add794ab67 spiFlashdb: add microchip SST26VF032B 2022-02-26 16:31:41 +01:00
Gwenhael Goavec-Merou aada7fe26b spiFlash: when no subsector_erase compute end_addr with correct block size 2022-02-26 16:17:49 +01:00
Gwenhael Goavec-Merou 655f2c61ec spiFlash: add no block protect use case 2022-02-26 16:15:50 +01:00
Torsten Reuschel 3cfdfb1856
Update board.hpp
Use default cable. This is equivalent to 6MHz setting, albeit more versatile.
2022-02-21 23:05:37 -04:00
jonathan kimmitt d4e8eef676 Add board and cable defaults for genesys2 2022-02-21 08:11:57 +00:00
Gwenhael Goavec-Merou 52696309bb spiFlashdb: spansion S25FL256S 2022-02-21 08:27:33 +01:00
Hirosh Dabui 7a7f1723ea add support for colorlight-i9 2022-02-20 01:41:17 +01:00
Rod Whitby 6059c9dbfb Remove the Tigard default cable, as the board does not have an on-board JTAG adapter. 2022-02-19 17:14:49 +10:30
Rod Whitby 7022e2101a Add support for the QMTech Kintex7 Core Board 2022-02-19 14:22:55 +10:30
Rod Whitby 1cb85a5a21 Add support for the Spansion S25FL256L flash on the QMTech Kintex 7 board 2022-02-19 14:22:26 +10:30
Hansem Ro 905e96dfec Add digilent_zybo_z7 10/20 support 2022-02-15 21:01:11 -08:00
Gwenhael Goavec-Merou 5099b57ce3
Merge pull request #174 from tarikgraba/master
Add support  for Terasic DE1-SoC board
2022-02-09 20:14:38 +01:00
Gwenhael Goavec-Merou 56457a4023
Merge pull request #173 from rstephan/tables
Nicer layout for the boards/fpga/cables table
2022-02-09 18:17:35 +01:00
Stephan Ruloff 63c9ec01b7 Fixed right alignment problem. 2022-02-09 17:55:16 +01:00
TG 5aa34c6364 board: add Terasic DE1-SoC board 2022-02-09 17:22:38 +01:00
TG d188314ae3 part: add altera 5CSEMA5 (cyclone V Soc) 2022-02-09 17:21:19 +01:00
Gwenhael Goavec-Merou a0ef85d516 display: use a less dark blue 2022-02-09 08:33:21 +01:00
Gwenhael Goavec-Merou 687503673e jtag: for unknown IDCODE display a more complete error 2022-02-09 08:32:41 +01:00
Gwenhael Goavec-Merou 0a43d1b797 part: add map manufacturer id <-> name 2022-02-09 08:32:06 +01:00
Stephan Ruloff 12c5e6ba19 Nicer layout for the boards/fpga/cables table 2022-02-08 19:31:37 +01:00
Gwenhael Goavec-Merou 498c01889f spiFlash: fix overflow test (#172) 2022-02-07 07:44:11 +01:00
Verneri Hirvonen 350570ad2d board: add tangnano1k to board_list 2022-01-28 13:53:33 +02:00
Verneri Hirvonen 977900954e part: add GW1NZ-1 2022-01-27 22:55:21 +02:00
Fabien Marteau db407a4263 adding xilinx AC701 development kit 2022-01-26 16:42:03 +01:00
Fabien Marteau f30cca46d8 no dash for zedboard fpga name 2022-01-26 16:29:35 +01:00
Fabien Marteau 0d1905425c add board zc702 in board.hpp 2022-01-26 16:21:52 +01:00
Gwenhael Goavec-Merou b4ffe4bf66 xilinx: fix typo 2022-01-24 18:58:32 +01:00
Icenowy Zheng acf677dd46 tangnano9k: new board, with the same cable w/ tangnano4k
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
2022-01-22 20:51:05 +08:00
Icenowy Zheng dc4a454b94 gowin: add support for GW1NR-9C
GW1NR-9C has a different idcode with GW1NR-9.

Add support for it by adding the idcode.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
2022-01-22 20:49:35 +08:00
Gwenhael Goavec-Merou fb2aadadad cable: adding Olimex ARM-USB-OCD-H 2022-01-20 19:37:50 +01:00
Gwenhael Goavec-Merou 1ab454359f ftdiJtagMPSSE,ftdipp_mpsse: fix verbose level -> must be an int8_t not uint8_t 2022-01-19 18:42:15 +01:00
Gwenhael Goavec-Merou 5365a9f9cf ice40: program_cram, add TN ref 2022-01-18 08:37:07 +01:00
Gwenhael Goavec-Merou eb462d2bec main: bitstream default target depends on mode spi/jtag 2022-01-18 08:09:54 +01:00
Gwenhael Goavec-Merou 60ba2b1ccc ice40: add CRAM support 2022-01-18 08:08:48 +01:00
Karol Gugala dbc6551a3c part: add Kintex 160T
Signed-off-by: Karol Gugala <kgugala@antmicro.com>
2022-01-14 09:01:23 +01:00
Gwenhael Goavec-Merou ecc76baa97 board: alinx AXU2CGA 2022-01-13 08:55:26 +01:00
Gwenhael Goavec-Merou 904bf46315 part: adding zynqmp xczu2cg idcode 2022-01-13 08:48:53 +01:00
Gwenhael Goavec-Merou f44f92ea4b xilinx: adding zynqmp support and a method to init this family of devices 2022-01-13 08:41:38 +01:00
Gwenhael Goavec-Merou dddee79f53 jtag: adding method to inject device into active device list 2022-01-13 07:42:14 +01:00
Gwenhael Goavec-Merou 1f59dfd671 jtag: improving jtag chain detection: now searching for masked and unmasked idcode 2022-01-13 07:34:00 +01:00
Gwenhael Goavec-Merou 796483f61f jtag: fix shiftIR: bypass_after must be computed in all case 2022-01-09 15:38:37 +01:00
Gwenhael Goavec-Merou ce7f4566c3 board: ulx3s_dfu 2021-12-24 18:10:22 +01:00
Gwenhael Goavec-Merou 2c5a162cc4 dfu: add debug level, only print device open fails in debug mode 2021-12-24 15:48:16 +01:00
Gwenhael Goavec-Merou 17a874fc04 main: fix SPI access 2021-12-24 11:19:30 +01:00
Gwenhael Goavec-Merou cbae44e1ee ice40: flash reset powerup are done into spiFlash 2021-12-24 11:13:36 +01:00
Gwenhael Goavec-Merou 39ed7ec7f1 colognechip: suppress warnings 2021-12-24 10:29:21 +01:00
Gwenhael Goavec-Merou 310d21ebf5 dfu: when libusb_open fails: skip device instead of error and stop 2021-12-24 10:26:31 +01:00
Gwenhael Goavec-Merou 35efeb3eee dfu: check libusb_open return value in searchDFUDevices 2021-12-23 14:08:54 +01:00
Gwenhael Goavec-Merou f943a8d3f0 Merge branch 'master' of github.com:trabucayre/openFPGALoader 2021-12-23 10:29:59 +01:00
Gwenhael Goavec-Merou 3244f2e92a dfu: fix memory leak 2021-12-23 10:29:47 +01:00
Patrick Urban 4cab198915 colognechip integration: create CologneChip SPI object in dynamic fashion as well 2021-12-23 08:54:48 +01:00
Gwenhael Goavec-Merou 0979194da2 dfu: force USB reset when download end in DFUIdle state 2021-12-23 07:22:06 +01:00
Gwenhael Goavec-Merou db92ea068c main: add protection for all devices. Add CLI args 2021-12-22 19:12:33 +01:00
Gwenhael Goavec-Merou fefea9fe8e board: generic FTDI SPI 2021-12-22 19:12:02 +01:00
Gwenhael Goavec-Merou 45f7f72030 all devices: add support to (un)protect flash, implement pre/post flash access. Use new spiInterface methods 2021-12-22 19:11:35 +01:00
Gwenhael Goavec-Merou af14e9b518 ftdispi: pre/post flash access 2021-12-22 19:09:04 +01:00
Gwenhael Goavec-Merou ffa90fb6fb ftdipp_mpsse: better verbose level 2021-12-22 19:08:44 +01:00
Gwenhael Goavec-Merou b25e2e0125 spiFlash: enable/disable protection. now handle correctly device with protection enabled 2021-12-22 19:07:00 +01:00
Gwenhael Goavec-Merou 21b44fc22f spiInterface.hpp: add constructor, (un)protect flash, and generic pre/post flash access methods 2021-12-22 19:05:21 +01:00
Gwenhael Goavec-Merou 7e91d97828 device.hpp: add (un)protect flash methods 2021-12-22 19:03:57 +01:00
Gwenhael Goavec-Merou de2917428e spiInterface: add common method to (un)protect, write and dump SPI flash content 2021-12-22 19:01:58 +01:00
Gwenhael Goavec-Merou 55d5cba9fb spiFlashdb: add spansion S25FL 064P/128P 2021-12-22 18:59:52 +01:00
Gwenhael Goavec-Merou 50bdbde809 spiFlashdb: add micron N25Q32 2021-12-22 18:58:51 +01:00
Gwenhael Goavec-Merou 5df1d9775d spiFlashdb: add windbond w25q devices 2021-12-22 18:58:07 +01:00
Gwenhael Goavec-Merou b18191b0ba spiFlashdb: fix tb_offset for ISSI devices 2021-12-22 18:57:34 +01:00
Gwenhael Goavec-Merou 496e6678ec spiFlashdb: introduce conf register for tb 2021-12-22 18:56:53 +01:00
Gwenhael Goavec-Merou 56a1e0310d board: add arty S7 50 2021-12-21 18:21:39 +01:00
Gwenhael Goavec-Merou 03c7d7faad arty A7 100t support 2021-12-21 07:02:48 +01:00
Gwenhael Goavec-Merou f3e9a9fa6d digilent_arty_z7 10/20 support 2021-12-20 18:10:17 +01:00
Gwenhael Goavec-Merou ee7570b251 zynq xc7z010 support 2021-12-20 18:09:52 +01:00
Gwenhael Goavec-Merou e026aa28c7 Digilent arty s7 25 2021-12-19 17:35:23 +01:00
Gwenhael Goavec-Merou 37abf105aa xilinx: use gz file by default 2021-12-19 17:34:14 +01:00
uis 648f5e8bdb size_t is actually unsigned 2021-12-18 17:03:52 +03:00
Franck Jullien bae403c3a9 efinix/titanium: add missing JTAG idcode 2021-12-14 09:16:08 +01:00
Franck Jullien 18349fb6e8 efinix: add support for Titanium Ti60 f225 dev kit 2021-12-13 22:13:29 +01:00
Patrick Urban 1c91928175
Merge branch 'master' into colognechip/gatemate 2021-12-13 10:18:41 +01:00
Patrick Urban 1e1b93c27a colognechip integration: introduce waitCfgDone() and check for raw data 2021-12-12 15:34:25 +01:00
Patrick Urban e252e713dd colognechip integration: apply review remarks
* add missing #include <string>
* add comment to part.hpp why highest nibble should be kept
* remove _reverseOrder variable from colognechipCfgParser.{hpp,cpp}
* rename cfgDone() to to a more meaningfull waitCfgDone()
2021-12-12 11:55:10 +01:00
Patrick Urban dd0d668d96 colognechip integration: update code style 2021-12-11 16:36:29 +01:00
Patrick Urban e4971897d7 jtag: ckeck highest nibble to prevent confusion between Cologne Chip GateMate and Efinix Trion T4/T8 devices 2021-12-11 16:35:30 +01:00
Icenowy Zheng bc610383cd part: add support for Anlogic ELF2 EF2M45
Anlogic EF2M45 is a FPGA with a co-packaged 4Mbit SPI Flash, and the
JTAG interface is the same with EG4S20.

Add support for it by adding it to the part database.

SPI Flash programming and SRAM programming are both tested.

The support of EF2M45 is also documented in this commit.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
2021-12-11 02:12:32 +08:00
Patrick Urban d09e5da0ba colognechip integration: initial commit
This commit adds support for the Cologne Chip GateMate FPGA series. Both
Evaluation Board and Programmer Cable are supported. Configurations can be
loaded into the FPGA with both devices via JTAG or SPI. In addition to
reading/writing data from/to flashes directly via SPI, this can also be done
via the built-in JTAG-SPI-bypass. A direct wiring between programming hardware
and flash is no longer necessary in this case.

Signed-off-by: Patrick Urban <patrick.urban@web.de>
2021-12-10 12:12:32 +01:00
Gwenhael Goavec-Merou e182a53659 dfu: don't check filename -> let configBitstreamParser to do check 2021-12-07 14:17:09 +01:00
Gwenhael Goavec-Merou dfed1d1799 configBitstreamParser: cleanup 2021-12-03 07:21:22 +01:00
Gwenhael Goavec-Merou 9005b2880b CMakeList/configBitstreamParser: add optional zlib-ng support. No zlibxx is required 2021-12-02 07:20:58 +01:00
Gwenhael Goavec-Merou 7ceaab0126 spiOverJtag: add bitstream for ECP4CE15F23 2021-11-28 16:51:42 +01:00
Gwenhael Goavec-Merou 49b6bc6ce3 device: check if it's a compressed file -> extract real extension 2021-11-26 07:35:03 +01:00
abacomartin ac09ac9b96
Merge branch 'trabucayre:master' into master 2021-11-25 15:10:14 +00:00
Martin Beynon 8fc67762f6 merged 2021-11-25 15:09:38 +00:00
Martin Beynon c06e920143 updated to set authentication mode 2021-11-25 14:59:37 +00:00
Martin Beynon 7fe0a5ab66 wip: adding pubkey programming 2021-11-25 14:50:33 +00:00
Martin Beynon 7e7e030661 wip: adding pubkey programming 2021-11-25 14:13:17 +00:00
Gwenhael Goavec-Merou 7a19f94f19 add zlib support (currently limited to altera spiOverJtag) 2021-11-25 08:11:50 +01:00
Gwenhael Goavec-Merou 70e9671b3a device: if filename has no extension -> use raw type 2021-11-24 07:35:33 +01:00
Gwenhael Goavec-Merou 533cd64f37 lattice: if unknown file type, fails only for SRAM 2021-11-24 07:35:10 +01:00