Commit Graph

527 Commits

Author SHA1 Message Date
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
Gwenhael Goavec-Merou 98a025d68e lattice: improve message for idcode mismatch 2021-11-22 07:01:19 +01:00
Gwenhael Goavec-Merou 9f4ed8aaf6 latticeBitParser: fix loop type 2021-11-20 18:36:09 +01:00
Gwenhael Goavec-Merou 2e2e325a9b lattice: check matching idcode between bitstream and FPGA 2021-11-20 17:01:40 +01:00
Gwenhael Goavec-Merou ab43af7f0e latticeBitParser: extract FPGA idcode from configuration data 2021-11-20 17:01:13 +01:00
Gwenhael Goavec-Merou 1637d6f484 lattice: fix REG_STATUS_CNF_CHK_MASK offset: not the same for machXO3D and others 2021-11-20 16:57:31 +01:00
Gwenhael Goavec-Merou 7f6a68ae2c lattice: cppcheck/lint 2021-11-20 16:07:53 +01:00
Gwenhael Goavec-Merou 5f78204f22
Merge pull request #130 from abacomartin/master
adding support for MachXO3D
2021-11-20 15:35:01 +01:00
Martin Beynon 482141c556 verbose/verify modifications + common code moved to calling func + more white space! 2021-11-19 15:21:52 +00:00
Martin Beynon 393bf1d28b Unused variables (plus some more white space fixes) 2021-11-19 15:11:02 +00:00
Gwenhael Goavec-Merou 7ed432cba2 board: add QMTECH Cyclone IV Core Board 2021-11-14 08:45:11 +01:00
Gwenhael Goavec-Merou 48c326130a part: EP3C16 and EP4CE15 have same idcode 2021-11-14 08:44:39 +01:00
Gwenhael Goavec-Merou 952084cd1d all jtag interface: don't convert verbosity level to bool 2021-11-11 17:42:51 +01:00
Gwenhael Goavec-Merou 8df01663ff main: raise error when board name is provided but not found 2021-11-11 17:20:51 +01:00
Martin Beynon 07752c37e2 fix up line endings and white space issues - also moved the flash sector if block into MachXO3D family - as not required for other types 2021-11-11 09:04:50 +00:00
Martin Beynon b6979f54f7 adding support for MachXO3D 2021-11-09 08:54:09 +00:00
Gwenhael Goavec-Merou 3b15a633fa ch552_jtag: cleanup and fix buffer flush with previous libftdi version 2021-11-06 10:52:53 +01:00
Gwenhael Goavec-Merou 745844f0a0 ftdipp_mpsse: check mpsse_write return value 2021-11-06 10:33:48 +01:00
Gwenhael Goavec-Merou f843dc2eb2 ch552_jtag: driver for ch552_jtag firmware (ft2232c clone) 2021-11-06 10:33:25 +01:00
Gwenhael Goavec-Merou fb6a3b9f03 all cables: writeTMS len int -> uint32_t 2021-11-06 10:31:00 +01:00
Gwenhael Goavec-Merou 28620f8ce9 altera: check file type: for an unknown type user has to explicitly provides flash mode fails otherwise 2021-11-06 08:37:14 +01:00
Gwenhael Goavec-Merou b27422cbe9 Merge branch 'master' of github.com:trabucayre/openFPGALoader 2021-10-23 08:44:28 +02:00
Gwenhael Goavec-Merou 649554f3fd efinix: add jtag support, introduce oe_pin in board configuration, add xyloni jtag interface 2021-10-23 08:44:23 +02:00
Gwenhael Goavec-Merou 859c1a1a0f spiFlash: erase using 4 or 64Kb 2021-10-20 08:00:21 +02:00
Gwenhael Goavec-Merou c043da874c spiFlash: enable_protection method 2021-10-20 07:43:47 +02:00
Gwenhael Goavec-Merou 3730e8189d spiFlash: extract status register display from read_status_reg 2021-10-19 07:06:46 +02:00
Gwenhael Goavec-Merou 6714400909 spiFlashdb: introduce tb_register to know tb location register 2021-10-19 06:55:30 +02:00
Gwenhael Goavec-Merou d8b8afce99 spiFlash: fix len_to_bp mask 2021-10-18 07:34:27 +02:00
Florent Kermarrec 7d8c8b2dcb Add Trion T120 BGA 576 Dev Kit support.
This Dev Kit uses a FT2232 chip, so also rename efinix_spi with efinix_spi_ft4232
and introduce efinix_spi_ft2232.
2021-10-15 09:20:36 +02:00
emard 103de667f7 protection descriptor for IS25LP128 2021-10-14 20:55:42 +02:00
emard eb545b5256 typo 2021-10-14 20:52:46 +02:00
Gwenhael Goavec-Merou 4b3755f368 cmsisDAP: fix buffer length 2021-10-13 07:16:30 +02:00
Gwenhael Goavec-Merou b1b1e5a4a8 main: don't limit vid/pid to dfu 2021-10-13 06:51:22 +02:00
Gwenhael Goavec-Merou de88698b0c cmsisDAP: close device and context after use/ when fail 2021-10-13 06:46:05 +02:00
Gwenhael Goavec-Merou 2d26b9d485 cmsisDAP: typo 2021-10-12 16:38:03 +02:00
Gwenhael Goavec-Merou 6a4d24cf7a cmsisDAP: send disconnect after use 2021-10-12 07:52:38 +02:00
Gwenhael Goavec-Merou dd4e3e40df spiFlash: typo 2021-10-10 18:27:41 +02:00
Gwenhael Goavec-Merou ddcf8fd1b1 spiFlash: add flash_model, method to convert len to block protect and block protect to len 2021-10-10 18:26:04 +02:00
Gwenhael Goavec-Merou 22c095547e spi: introduce list of known spi flash devices (required for protection) 2021-10-10 18:25:09 +02:00
Gwenhael Goavec-Merou 4c2a091ab1 xilinx: introduce coolrunner-II support 2021-10-06 08:46:00 +02:00
Gwenhael Goavec-Merou 69ac10e2f7 Merge branch 'master' of github.com:trabucayre/openFPGALoader 2021-10-03 18:34:07 +02:00
Gwenhael Goavec-Merou 6858cabc7d main: introduce vid/pid args 2021-10-03 18:33:55 +02:00
Gwenhael Goavec-Merou 2adf4d585e dfu: throw exception when vid & pid == 0; change altsetting type 2021-10-03 18:33:07 +02:00
Gwenhael Goavec-Merou e6c01f75ad board: fix altsetting default for non-DFU boards, use signed type 2021-10-03 18:31:55 +02:00
Uwe Bonnes f6dfee2db0 xilinx: Adapt wait times with JTAG frequency.
Allowed frequency is up to 10 MHz according to xc95XXXxl_1532.bsd
2021-10-03 17:37:28 +02:00
Gwenhael Goavec-Merou c165154317 xilinxMapParser: typo 2021-10-03 16:46:12 +02:00
Gwenhael Goavec-Merou 1233459528 xilinxMapParser: fuse mapping for xc2c jed 2021-10-03 16:25:41 +02:00
Gwenhael Goavec-Merou a38d0b2d36 board: force 0 for altsetting in non-DFU type 2021-10-03 15:23:21 +02:00