From fb587e73d876e3681aa25c9d38bb0ea2d520d057 Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Mon, 4 Dec 2023 07:25:43 +0100 Subject: [PATCH] gowin: Fix clk cycle after sending a command, don't read status register programSRAM sequence --- src/gowin.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/gowin.cpp b/src/gowin.cpp index b2148c6..1e5f52a 100644 --- a/src/gowin.cpp +++ b/src/gowin.cpp @@ -223,7 +223,7 @@ bool Gowin::detectFamily() bool Gowin::send_command(uint8_t cmd) { _jtag->shiftIR(&cmd, nullptr, 8); - _jtag->toggleClk(5); + _jtag->toggleClk(6); return true; } @@ -782,16 +782,18 @@ bool Gowin::eraseSRAM() return false; } - uint32_t status_reg = readStatusReg(); - if (_verbose) - displayReadReg("after erase sram", status_reg); - if (status_reg & STATUS_DONE_FINAL) { - printError("FAIL"); - return false; - } else { - printSuccess("DONE"); - return true; + if (_mode == Device::FLASH_MODE) { + uint32_t status_reg = readStatusReg(); + if (_verbose) + displayReadReg("after erase sram", status_reg); + if (status_reg & STATUS_DONE_FINAL) { + printError("FAIL"); + return false; + } else { + printSuccess("DONE"); + } } + return true; } inline void Gowin::spi_gowin_write(const uint8_t *wr, uint8_t *rd, unsigned len) {