Commit Graph

77 Commits

Author SHA1 Message Date
Gwenhael Goavec-Merou 2103316baf lattice: added support for reset method (only tested with ECP5 2024-12-19 14:59:35 +01:00
Gwenhael Goavec-Merou 02c33271e0 lattice,xilinx: new try to fix (again) uint64_t print format 2024-03-18 06:57:59 +01:00
Giovanni Bruni ffc519c0e2 lattice: improve info about "BSE Error Code" from Device Status Register 2024-02-13 09:32:30 +01:00
Sean Anderson 9943c3072a lattice: Add all MachXO[23] part IDs
The version field is the only difference between many parts in the
MachXO[23] family, including between different families. Add the version
field to all parts, fixing detection of some MachXO3 parts as MachXO2s.
The id codes were extracted from the BSDL files on Lattice's website.
2024-01-18 13:48:50 -05:00
Catherine bca3bd6623 Use correct format specifier for printing uint64_t. 2023-12-22 21:07:23 +00:00
Giovanni Bruni fa5ff873e4 lattice.cpp: restore bypass instruction in clearSRAM() 2023-11-08 09:49:14 +01:00
Giovanni Bruni d58a1c3fc7 lattice: correct mask for sram erase for NEXUS_FAMILY, as it is 0x00 2023-10-26 11:30:24 +02:00
Giovanni Bruni 917e42127b lattice: fix bscan register initialization inside clearSRAM()
For NEXUS family fpgas, the Bscan register is 362 bits long
or 45.25 bytes => 46 bytes.

This error was already correct when programming the sram.
clearSRAM() is instead used when programming the spi flash memory.
2023-10-25 17:43:49 +02:00
Gwenhael Goavec-Merou 988bedefb6 lattice: fix typo / warning 2023-10-23 07:12:45 +02:00
Giovanni Bruni 590611a8d5 lattice: fix the warning "left shift count >= width of type" shown in win32/64 builds 2023-10-20 08:44:20 +02:00
Giovanni Bruni 5f6074a7fc lattice: fix bscan width and other minor things for NEXUS family 2023-10-20 07:55:53 +02:00
Giovanni Bruni dafe350fbe lattice nexus family: REFRESH (plus config logic reset) in case of fpga in error state and add capabilities to handle the whole 64-bits status register 2023-10-12 09:06:54 +02:00
Giovanni Bruni 5733ca29c3 fix lattice programming and add nexus boards
Fix to lattice programming:
we considered a svf file generated by Lattice Radiant-Programmer
and compared it with the current way lattice devices were programmed.
There were few differences dealing with configuration reset and REFRESH.
These fixes allow us to program an fpga when it is in a state
of error (e.g. there's no bitstream in the SPI Flash).

Lattice parts added:
- CertusPro FPGA

Nexus boards added:
- Certus Versa Evaluation board
- CertusPro Evaluation board
- CertusPro Versa Evaluation board
2023-10-11 09:52:45 +02:00
Rodrigo Rengifo 5e9cc7c440 pass along reset paramaters to provide control to the caller
Upsteam-Status: Submitted [https://github.com/traucucayre/openFPGALoader]
  - Submitted to upstream, waiting approval
2023-09-10 20:46:08 -07:00
Gwenhael Goavec-Merou c417ce6746 lattice: spi_put: avoid loop when tx == NULL 2023-09-06 15:50:28 +02:00
Alexey Starikovskiy 9e91c31e31 Fixes for PVS errors 2023-09-01 22:30:24 +03: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
Gwenhael Goavec-Merou 1dba0572ff lattice: fix warning (uninitialized rx_buf) 2023-07-27 07:18:59 +02:00
William D. Jones 5e98333a8d Fix off-by-one errors in calculating UFM start page. 2023-05-05 02:00:35 -04:00
Gwenhael Goavec-Merou d8bc361e7f lattice: UFM printf -> printInfo 2023-05-01 21:11:22 +02:00
Gwenhael Goavec-Merou caafc8edc3 lattice: bypass refresh instruction for machXO2 2023-05-01 21:07:32 +02:00
Gwenhael Goavec-Merou a0fdccc2a4 lattice: fix cast int vs uint8_t 2023-05-01 01:05:36 +02:00
William D. Jones 0db174ed7e
Add support for flashing UFM on MachXO2 using JEDEC file. (#339)
* Add support for flashing UFM on MachXO2 using JEDEC file.

* Use a better guard value for getUFMStartPageFromJEDEC.

* Fix if-else style in  getUFMStartPageFromJEDEC.
2023-05-01 00:50:16 +02:00
Gwenhael Goavec-Merou 0a9e8a7e4b src/xx: cppcheck 2023-04-15 08:20:05 +02:00
Gwenhael Goavec-Merou 4a6e6f0d35 lattice: when loadConfiguration fails -> check if external flash is blank 2023-03-05 10:16:08 +01:00
Cedric de Wijs 483304344f more typo fixes 2022-12-18 23:29:21 +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 a4d5fd8448 lattice: MACHXO3D no exception when flash-sector is not provided in SRAM mode 2022-05-14 18:54:01 +02: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
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 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 2e2e325a9b lattice: check matching idcode between bitstream and FPGA 2021-11-20 17:01:40 +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
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
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 3730e8189d spiFlash: extract status register display from read_status_reg 2021-10-19 07:06:46 +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 faedb0cfd7 lattice: throw exception when program fails 2021-08-23 16:27:28 +02:00
Gwenhael Goavec-Merou 3983726a66 all devices: use spiFlash dump & verify 2021-07-11 11:34:14 +02:00
Gwenhael Goavec-Merou 8f95303daf move to APACHE-2.0 license 2021-06-26 15:24:07 +02:00