Commit Graph

722 Commits

Author SHA1 Message Date
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