Commit Graph

62 Commits

Author SHA1 Message Date
Jean THOMAS 46ff6cb2eb gowin: Implement user flash programming for GW1N9 2024-12-11 12:19:07 +01:00
Jean THOMAS ffa006d0ee Add 'user-flash' CLI argument 2024-12-11 12:01:37 +01:00
Jean THOMAS a1108ca981 gowin: Add GW1N9 detection 2024-12-11 11:49:29 +01:00
Jean THOMAS 91608ca206 gowin: Use std::unique_ptr instead of manual RAII 2024-12-11 11:43:07 +01:00
jgroman eba9c37027 Fix SRAM loading on invalid flash 2024-02-02 12:54:17 +01:00
Gwenhael Goavec-Merou a3826614b3 gowin: writeFLASH: increase delay before CRC check (required for 9K device) 2024-01-09 19:56:53 +01:00
Gwenhael Goavec-Merou 0b59efcb42 src/gowin: GW5A/SPI flash: adding delay after erase flash and after SPI mode instruction. Seems fixed write error. 2024-01-09 18:48:21 +01:00
Gwenhael Goavec-Merou 62ad3a3003 gowin: fix flash erase for GW1NSR-4C: during shiftDR sequence TDI MUST be 0x0000 2024-01-04 07:24:02 +01:00
Catherine 8c6c0ee85a Add WebAssembly support. 2023-12-22 21:07:33 +00:00
Gwenhael Goavec-Merou 22f33618b0 gowin: mcufw may be written without fs (but this erase all memory) 2023-12-14 13:13:29 +01:00
Gwenhael Goavec-Merou 2093ce7520 gowin: fix gw1n external flash access 2023-12-14 11:48:14 +01:00
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