Commit Graph

51 Commits

Author SHA1 Message Date
Gwenhael Goavec-Merou 1dbc9e664b gowin: programFlash/writeFlash: disable previous rewrite (fix write with tangnano4k) 2023-12-14 11:38:34 +01:00
Gwenhael Goavec-Merou d8186c5e8a gowin: GW5AST work around 2023-12-11 07:20:37 +01:00
Gwenhael Goavec-Merou bd917d51ef gowin: try second eraseSRAM before writeSRAM. Not always working but better... 2023-12-10 08:14:06 +01:00
Gwenhael Goavec-Merou fb587e73d8 gowin: Fix clk cycle after sending a command, don't read status register programSRAM sequence 2023-12-04 07:25:43 +01:00
Gwenhael Goavec-Merou 0dcd851187 gowin: avoid multiple status register access 2023-12-04 07:05:40 +01:00
Gwenhael Goavec-Merou 01d6244a0f gowin: Fix status register parse for GW5AST 2023-12-04 07:01:56 +01:00
Gwenhael Goavec-Merou b119a955a6 gowin: GW5A SPI flash support 2023-11-19 13:29:15 +01:00
Gwenhael Goavec-Merou a5f2aa56c8 gowin: displayReadReg update. Now GW5A field are correctly displayed 2023-11-19 10:25:06 +01:00
Gwenhael Goavec-Merou 31c89e21a3 gowin: detectFamily new function 2023-11-19 10:18:45 +01:00
Alexey Starikovskiy f71858f96a Rewrite GOWIN algorithms 2023-10-29 08:07:48 +01:00
Gwenhael Goavec-Merou ec35f15a51 altera,efinix,gowin,xilinx: Fix 'Flash SRAM' -> 'Load SRAM' 2023-10-09 14:53:57 +02:00
Alexey Starikovskiy 0f3afbcaea Make IDCODE unsigned 2023-08-29 20:01:21 +03:00
Alexey Starikovskiy 8976404b78 Use JTAG state 2023-08-29 20:00:28 +03:00
Alexey Starikovskiy 1908ccd83b make output buffer const 2023-08-29 19:51:41 +03:00
Icenowy Zheng 0de2ea6b39 gowin: add preliminary support for GW5AST-138
Arora V series is a new series of Gowin FPGA, in which the flashing
process has changed.

Add preliminary support by adding FS file line count and deal with the
SRAM writing process. Flash writing is not yet done.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
2023-08-12 12:36:06 +08:00
Gwenhael Goavec-Merou ccdcc49cb0 gowin: fix typo 2023-03-17 19:42:23 +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 fe259fb78d gowin: add MSPI support when GW2A 2022-09-06 21:25:32 +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
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 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
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
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 3730e8189d spiFlash: extract status register display from read_status_reg 2021-10-19 07:06:46 +02:00
Gwenhael Goavec-Merou 85b53b5918 add gowin external spi in bscan and --external-flash option 2021-09-15 20:18:49 +02:00
Gwenhael Goavec-Merou 304ec0071c mask idcode upper nibble (version in IEEE 1149.1) 2021-08-27 15:10:12 +02:00
Gwenhael Goavec-Merou 8f95303daf move to APACHE-2.0 license 2021-06-26 15:24:07 +02:00
Gwenhael Goavec-Merou 2af64e9af4 all: propagate verify with a message when not supported 2021-06-25 08:58:45 +02:00
Gwenhael Goavec-Merou c471d25bb5 xilinx,lattice,device: add verify write into flash 2021-06-24 18:08:02 +02:00
Gwenhael Goavec-Merou b150bbdd23 gowin: checks if fs is targeted for connected device 2021-06-24 08:57:18 +02:00
Gwenhael Goavec-Merou c36d29e5e3 gowin: don't use read_write 2021-05-16 12:13:31 +02:00
Gwenhael Goavec-Merou 16932786db all parser:
- _raw_data is now filled in configBitstreamParser
- source may be a file or a pipe
- displayHeader become a common method (configBitstreamParser)
- improve/rewrite some parser (efinixHexparser 1s -> 11ms)
2021-02-24 06:36:48 +01:00
Gwenhael Goavec-Merou df52d523bf All devices: new CLI argument to bypass file type autodetection 2021-02-21 18:30:13 +01:00
Gwenhael Goavec-Merou 7cc5676e8e ftdi: drop divide_by_5 param, now it's automatically set/unset according to the frequency. Better freq display 2021-02-19 07:07:10 +01:00
Gwenhael Goavec-Merou 5f9a8835da devices: simplify write RAM/Flash 2021-02-18 21:09:34 +01:00
Gwenhael Goavec-Merou 590553e432 src/fsparser: rewrite to use header instead of comments, add support for compressed bitstream 2021-02-12 07:34:14 +01:00
Gwenhael Goavec-Merou ad21a3bb36 recast verbose to int8_t to have more level of verbosity (-1 quiet, 0 normal, 1 verbose), add --quiet option, display progress bar when verbosity level >= 0 2021-01-30 07:57:49 +01:00
Gwenhael Goavec-Merou 235505c660 gowin:
- increase delay before checking CRC
- fix message
2020-10-12 15:34:50 +02:00
Gwenhael Goavec-Merou 23c9733a6d gowin: force flush when it's mandatory 2020-10-09 21:29:48 +02:00
Gwenhael Goavec-Merou 06d0e44f71 gowin: eraseFLASH(): fix buffer size, set this to 0 2020-10-09 21:22:03 +02:00
Gwenhael Goavec-Merou 5d99237652 gowin: Fix flash write message and display checksum when SRAM fail 2020-09-28 16:25:33 +02:00
Gwenhael Goavec-Merou cd124d2830 gowin: add missing stdexcept required by runtime_error
fix:
src/gowin.cpp:73:11: error: 'runtime_error' is not a member of 'std'
      throw std::runtime_error("both write-flash and write-sram can't be set");
            ^
src/gowin.cpp:81:10: error: 'runtime_error' is not a member of 'std'
      throw std::runtime_error("incompatible file format");
            ^
2020-08-24 08:16:48 +02:00
Ed Bordin c86dae6b62 link against winsock system lib rather than implementing ad-hoc ntohs, fix warning about redefined macro on windows 2020-07-25 16:21:27 +10:00
Ed Bordin d24c63ec8a trabucayre/openFPGALoader#38 minor adjustments for MinGW build - use memset instead of bzero, errno_t may be replaced by int, provide ad-hoc ntohs on windows (alternative is link against winsock) 2020-07-25 12:55:41 +10:00
Gwenhael Goavec-Merou 50fa17b62f gowin: add flash GW1N1 support
- eraseFlash need 65 x 32bits for GW1N1, 1 x 32bits for others
- improve flashFlash with delay according to the model
2020-05-23 14:51:48 +02:00
Gwenhael Goavec-Merou 8cd6f3fe2c gowin: fix internal flash 2020-05-12 10:49:58 +02:00
Vlatko Kosturjak 81d8a8494d Initial Mac OS X support 2020-03-15 08:22:29 +01:00
Gwenhael Goavec-Merou 9c9348f7d0 rename ftdijtag to jtag
- drop everything about ftdi
- use jtagInterface to communicate with hardware
- for all class using jtag: rename FtdiJtag -> Jtag
2020-03-06 09:05:57 +01:00