From 0e1cfe108bf1ef268613cce713c1ae2fbe9145ec Mon Sep 17 00:00:00 2001 From: Henry Gomersall Date: Thu, 30 Apr 2026 16:16:52 +0100 Subject: [PATCH] xilinx: fix to Xilinx::program so a reset is not performed in SPI_MODE when _skip_reset is set --- src/xilinx.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xilinx.cpp b/src/xilinx.cpp index 78573bb..133b799 100644 --- a/src/xilinx.cpp +++ b/src/xilinx.cpp @@ -659,7 +659,6 @@ void Xilinx::program(unsigned int offset, bool unprotect_flash) /* Check for BPI flash boards */ if (_is_bpi_board) { program_bpi(bit, offset); - reset(); } else { if (_flash_chips & PRIMARY_FLASH) { select_flash_chip(PRIMARY_FLASH); @@ -669,8 +668,6 @@ void Xilinx::program(unsigned int offset, bool unprotect_flash) select_flash_chip(SECONDARY_FLASH); program_spi(secondary_bit, _secondary_file_extension, offset, unprotect_flash); } - - reset(); } } else { if (_fpga_family == SPARTAN3_FAMILY) @@ -810,6 +807,9 @@ void Xilinx::program_bpi(ConfigBitstreamParser *bit, unsigned int offset) throw std::runtime_error("BPI flash programming failed"); } + /* Reset the board if skip_reset is not set */ + post_flash_access(); + printInfo("BPI flash programming complete"); }