From 294e707924e88669b0e75628a7fa5332aee9086f Mon Sep 17 00:00:00 2001 From: Yaroslav Stetsyk Date: Fri, 20 Mar 2026 19:54:23 +0000 Subject: [PATCH] Device: NeoVIFIRE3T1SLIN: Add bootloader details --- include/icsneo/device/chipid.h | 1 + .../tree/neovifire3t1slin/neovifire3t1slin.h | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/include/icsneo/device/chipid.h b/include/icsneo/device/chipid.h index 36edd29..bdabd70 100644 --- a/include/icsneo/device/chipid.h +++ b/include/icsneo/device/chipid.h @@ -128,6 +128,7 @@ enum class ChipID : uint8_t { RADGALAXY2_SYSMON_CHIP = 123, RADCOMET3_ZCHIP = 125, Connect_LINUX = 126, + VEM_04_T1S_LIN_ZCHIP = 129, RADMOONT1S_ZCHIP = 130, RADGigastar2_ZYNQ = 131, RADGemini_MCHIP = 135, diff --git a/include/icsneo/device/tree/neovifire3t1slin/neovifire3t1slin.h b/include/icsneo/device/tree/neovifire3t1slin/neovifire3t1slin.h index be016e1..671cea4 100644 --- a/include/icsneo/device/tree/neovifire3t1slin/neovifire3t1slin.h +++ b/include/icsneo/device/tree/neovifire3t1slin/neovifire3t1slin.h @@ -62,6 +62,31 @@ public: ProductID getProductID() const override { return ProductID::neoVIFIRE3; } + + const std::vector& getChipInfo() const override { + static std::vector chips = { + {ChipID::neoVIFIRE3_ZCHIP, true, "ZCHIP", "fire3_zchip_ief", 0, FirmwareType::IEF}, + {ChipID::neoVIFIRE3_SCHIP, true, "SCHIP", "fire3_schip_ief", 1, FirmwareType::IEF}, + {ChipID::neoVIFIRE3_LINUX, true, "Linux Flash", "fire3_lnx_flash_ief", 2, FirmwareType::IEF}, + {ChipID::VEM_04_T1S_LIN_ZCHIP, true, "VEM-04-Z", "vem_04_t1s_lin_zchip_ief", 3, FirmwareType::IEF}, + }; + return chips; + } + + BootloaderPipeline getBootloader() override { + return BootloaderPipeline() + .add(ChipID::neoVIFIRE3_ZCHIP, BootloaderCommunication::Application, true, false) + .add(ChipID::neoVIFIRE3_SCHIP, BootloaderCommunication::Application, false, true) + .add(ChipID::neoVIFIRE3_LINUX, BootloaderCommunication::Application, false, false, false) + .add(ChipID::VEM_04_T1S_LIN_ZCHIP, BootloaderCommunication::Application, false, false) + .add(ChipID::neoVIFIRE3_ZCHIP, BootloaderCommunication::Application) + .add(ChipID::neoVIFIRE3_SCHIP, BootloaderCommunication::Application) + .add(ChipID::neoVIFIRE3_LINUX, BootloaderCommunication::Application) + .add(ChipID::VEM_04_T1S_LIN_ZCHIP, BootloaderCommunication::Application) + .add(ChipID::neoVIFIRE3_ZCHIP) + .add() + .addSetting(BootloaderSetting::UpdateAll, true); + } protected: NeoVIFIRE3T1SLIN(neodevice_t neodevice, const driver_factory_t& makeDriver) : Device(neodevice) { initialize(makeDriver);