add the skip_load_bridge and skip_reset arguments also for Xilinx devices

This commit is contained in:
hycrypt
2023-03-03 11:18:08 +01:00
parent 9c1876818f
commit 3d9717f7c3
3 changed files with 27 additions and 6 deletions
+22 -2
View File
@@ -128,9 +128,11 @@ Xilinx::Xilinx(Jtag *jtag, const std::string &filename,
Device::prog_type_t prg_type,
const std::string &device_package, const std::string &spiOverJtagPath,
const std::string &target_flash,
bool verify, int8_t verbose):
bool verify, int8_t verbose,
bool skip_load_bridge, bool skip_reset):
Device(jtag, filename, file_type, verify, verbose),
SPIInterface(filename, verbose, 256, verify),
SPIInterface(filename, verbose, 256, verify, skip_load_bridge,
skip_reset),
_device_package(device_package), _spiOverJtagPath(spiOverJtagPath),
_irlen(6), _filename(filename), _secondary_filename(secondary_filename)
{
@@ -434,6 +436,24 @@ void Xilinx::program(unsigned int offset, bool unprotect_flash)
delete bit;
}
bool Xilinx::post_flash_access()
{
if (_skip_reset)
printInfo("Skip resetting device");
else
reset();
return true;
}
bool Xilinx::prepare_flash_access()
{
if (_skip_load_bridge) {
printInfo("Skip loading bridge for spiOverjtag");
return true;
}
return load_bridge();
}
bool Xilinx::load_bridge()
{
std::string bitname;