Merge pull request #427 from jgroman/master

Fix Tang Primer 25K SRAM loading when flash is erased
This commit is contained in:
Gwenhael Goavec-Merou 2024-02-02 13:09:45 +01:00 committed by GitHub
commit 39be00fd56
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 1 deletions

View File

@ -883,8 +883,19 @@ void Gowin::sendClkUs(unsigned us)
bool Gowin::eraseSRAM()
{
printInfo("Erase SRAM ", false);
uint32_t status = readStatusReg();
if (_verbose)
displayReadReg("before erase sram", readStatusReg());
displayReadReg("before erase sram", status);
// If flash is invalid, send extra cmd 0x3F before SRAM erase
// This is required on GW5A-25
bool auto_boot_2nd_fail = (status & 0x8) >> 3;
if ((_idcode == 0x0001281B) && auto_boot_2nd_fail)
{
disableCfg();
send_command(0x3F);
send_command(NOOP);
}
if (!enableCfg()) {
printError("FAIL");