From 320fec74bd0b5d0f2c2f2846909d526d58cf025e Mon Sep 17 00:00:00 2001 From: Max Brombach Date: Fri, 23 Oct 2026 16:42:08 +0000 Subject: [PATCH] Device: Add SFP-AD1101 --- bindings/python/icsneopy/device/chipid.cpp | 1 + device/extensions/bootloader/api.cpp | 2 ++ include/icsneo/device/chipid.h | 1 + include/icsneo/device/device.h | 1 + include/icsneo/device/tree/radgigastar/radgigastar.h | 3 ++- include/icsneo/device/tree/radgigastar2/radgigastar2.h | 6 ++++-- include/icsneo/icsneoc2types.h | 1 + test/unit/icsneoc2.cpp | 4 +++- 8 files changed, 15 insertions(+), 4 deletions(-) diff --git a/bindings/python/icsneopy/device/chipid.cpp b/bindings/python/icsneopy/device/chipid.cpp index 760ae309..42ad6d05 100644 --- a/bindings/python/icsneopy/device/chipid.cpp +++ b/bindings/python/icsneopy/device/chipid.cpp @@ -135,6 +135,7 @@ void init_chipid(pybind11::module_& m) { .value("RADGigastar2_ZYNQ", ChipID::RADGigastar2_ZYNQ) .value("SFPModule_ent11100_MCHIP", ChipID::SFPModule_ent11100_MCHIP) .value("RADArgos_MCHIP", ChipID::RADArgos_MCHIP) + .value("SFPModule_ad1101_MCHIP", ChipID::SFPModule_ad1101_MCHIP) .value("Invalid", ChipID::Invalid) .finalize(); } diff --git a/device/extensions/bootloader/api.cpp b/device/extensions/bootloader/api.cpp index a640cd19..0a4dff35 100644 --- a/device/extensions/bootloader/api.cpp +++ b/device/extensions/bootloader/api.cpp @@ -348,6 +348,7 @@ bool Bootloader::isSFPChip(const icsneo::Bootloader::Chip& chip) { icsneo::ChipID::SFPModule_88q3244_MCHIP, icsneo::ChipID::SFPModule_ent11100_MCHIP, icsneo::ChipID::SFPModule_lan8670_MCHIP, + icsneo::ChipID::SFPModule_ad1101_MCHIP, }; return sfpChipIDs.find(chip.getID()) != sfpChipIDs.end(); } @@ -359,6 +360,7 @@ bool Bootloader::isSFPIEF(const icsneo::Bootloader::IEF& ief) { icsneo::Device::ProductID::SFPModule_88q4364, icsneo::Device::ProductID::SFPModule_ent11100, icsneo::Device::ProductID::SFPModule_lan8670, + icsneo::Device::ProductID::SFPModule_ad1101, }; return sfpProductIDs.find(static_cast(ief.getVersion().prodId)) != sfpProductIDs.end(); } diff --git a/include/icsneo/device/chipid.h b/include/icsneo/device/chipid.h index 88877547..97443830 100644 --- a/include/icsneo/device/chipid.h +++ b/include/icsneo/device/chipid.h @@ -139,6 +139,7 @@ enum class ChipID : icsneoc2_chip_id_t { RADGigastar2_ZYNQ = icsneoc2_chip_id_radgigastar2_zynq, SFPModule_ent11100_MCHIP = icsneoc2_chip_id_sfpmodule_ent11100_mchip, RADArgos_MCHIP = icsneoc2_chip_id_radargos_mchip, + SFPModule_ad1101_MCHIP = icsneoc2_chip_id_sfpmodule_ad1101_mchip, Invalid = icsneoc2_chip_id_invalid }; diff --git a/include/icsneo/device/device.h b/include/icsneo/device/device.h index f06d6795..e9fc4438 100644 --- a/include/icsneo/device/device.h +++ b/include/icsneo/device/device.h @@ -152,6 +152,7 @@ public: RADGigastar2 = 57, SFPModule_ent11100 = 58, RADArgos = 60, + SFPModule_ad1101 = 61, }; virtual ProductID getProductID() const = 0; diff --git a/include/icsneo/device/tree/radgigastar/radgigastar.h b/include/icsneo/device/tree/radgigastar/radgigastar.h index 97735bd6..4f21b0fb 100644 --- a/include/icsneo/device/tree/radgigastar/radgigastar.h +++ b/include/icsneo/device/tree/radgigastar/radgigastar.h @@ -41,7 +41,8 @@ public: {ChipID::SFPModule_88q2221_MCHIP, true, "SFP-MV2221M", "sfp_mv2221m_b2_mchip_ief", 3, FirmwareType::IEF}, {ChipID::SFPModule_lan8670_MCHIP, true, "SFP-MC8670", "sfp_module_lan8670_ief", 3, FirmwareType::IEF}, {ChipID::SFPModule_88q3244_MCHIP, true, "SFP-MV3244", "sfp_module_88q3244_ief", 3, FirmwareType::IEF}, - {ChipID::SFPModule_ent11100_MCHIP, true, "SFP-EN11100", "sfp_module_ent11100_ief", 3, FirmwareType::IEF} + {ChipID::SFPModule_ent11100_MCHIP, true, "SFP-EN11100", "sfp_module_ent11100_ief", 3, FirmwareType::IEF}, + {ChipID::SFPModule_ad1101_MCHIP, true, "SFP-AD1101", "sfp_module_adi1101_ief", 3, FirmwareType::IEF}, }; return chips; } diff --git a/include/icsneo/device/tree/radgigastar2/radgigastar2.h b/include/icsneo/device/tree/radgigastar2/radgigastar2.h index 51afec1a..ea44d810 100644 --- a/include/icsneo/device/tree/radgigastar2/radgigastar2.h +++ b/include/icsneo/device/tree/radgigastar2/radgigastar2.h @@ -135,7 +135,8 @@ public: {ChipID::SFPModule_88q2221_MCHIP, true, "SFP-MV2221M", "sfp_mv2221m_b2_mchip_ief", 3, FirmwareType::IEF}, {ChipID::SFPModule_lan8670_MCHIP, true, "SFP-MC8670", "sfp_module_lan8670_ief", 3, FirmwareType::IEF}, {ChipID::SFPModule_88q3244_MCHIP, true, "SFP-MV3244", "sfp_module_88q3244_ief", 3, FirmwareType::IEF}, - {ChipID::SFPModule_ent11100_MCHIP, true, "SFP-EN11100", "sfp_module_ent11100_ief", 3, FirmwareType::IEF} + {ChipID::SFPModule_ent11100_MCHIP, true, "SFP-EN11100", "sfp_module_ent11100_ief", 3, FirmwareType::IEF}, + {ChipID::SFPModule_ad1101_MCHIP, true, "SFP-AD1101", "sfp_module_adi1101_ief", 3, FirmwareType::IEF}, }; static std::vector t1sChips = { @@ -147,7 +148,8 @@ public: {ChipID::SFPModule_88q2221_MCHIP, true, "SFP-MV2221M", "sfp_mv2221m_b2_mchip_ief", 3, FirmwareType::IEF}, {ChipID::SFPModule_lan8670_MCHIP, true, "SFP-MC8670", "sfp_module_lan8670_ief", 3, FirmwareType::IEF}, {ChipID::SFPModule_88q3244_MCHIP, true, "SFP-MV3244", "sfp_module_88q3244_ief", 3, FirmwareType::IEF}, - {ChipID::SFPModule_ent11100_MCHIP, true, "SFP-EN11100", "sfp_module_ent11100_ief", 3, FirmwareType::IEF} + {ChipID::SFPModule_ent11100_MCHIP, true, "SFP-EN11100", "sfp_module_ent11100_ief", 3, FirmwareType::IEF}, + {ChipID::SFPModule_ad1101_MCHIP, true, "SFP-AD1101", "sfp_module_adi1101_ief", 3, FirmwareType::IEF}, }; if(variantToFlash == FirmwareVariant::T1Sx8_CANx4_LINx6) { diff --git a/include/icsneo/icsneoc2types.h b/include/icsneo/icsneoc2types.h index 3f32c27f..5f6e95af 100644 --- a/include/icsneo/icsneoc2types.h +++ b/include/icsneo/icsneoc2types.h @@ -679,6 +679,7 @@ typedef enum _icsneoc2_chip_id_t { icsneoc2_chip_id_radgigastar2_zynq = 131, icsneoc2_chip_id_sfpmodule_ent11100_mchip = 132, icsneoc2_chip_id_radargos_mchip = 135, + icsneoc2_chip_id_sfpmodule_ad1101_mchip = 136, icsneoc2_chip_id_maxsize, // Must be last entry, Don't use as a chip ID. // Used for unknown or invalid chip ID diff --git a/test/unit/icsneoc2.cpp b/test/unit/icsneoc2.cpp index 7b09328f..7d4b7e39 100644 --- a/test/unit/icsneoc2.cpp +++ b/test/unit/icsneoc2.cpp @@ -948,7 +948,8 @@ TEST(icsneoc2, test_icsneoc2_chip_id_t) ASSERT_EQ(icsneoc2_chip_id_radgigastar2_zynq, 131); ASSERT_EQ(icsneoc2_chip_id_sfpmodule_ent11100_mchip, 132); ASSERT_EQ(icsneoc2_chip_id_radargos_mchip, 135); - ASSERT_EQ(icsneoc2_chip_id_maxsize, 136); + ASSERT_EQ(icsneoc2_chip_id_sfpmodule_ad1101_mchip, 136); + ASSERT_EQ(icsneoc2_chip_id_maxsize, 137); ASSERT_EQ(icsneoc2_chip_id_invalid, 255); @@ -1085,6 +1086,7 @@ TEST(icsneoc2, test_chip_id_enum_alignment) ASSERT_EQ(static_cast(icsneo::ChipID::RADGigastar2_ZYNQ), icsneoc2_chip_id_radgigastar2_zynq); ASSERT_EQ(static_cast(icsneo::ChipID::SFPModule_ent11100_MCHIP), icsneoc2_chip_id_sfpmodule_ent11100_mchip); ASSERT_EQ(static_cast(icsneo::ChipID::RADArgos_MCHIP), icsneoc2_chip_id_radargos_mchip); + ASSERT_EQ(static_cast(icsneo::ChipID::SFPModule_ad1101_MCHIP), icsneoc2_chip_id_sfpmodule_ad1101_mchip); ASSERT_EQ(static_cast(icsneo::ChipID::Invalid), icsneoc2_chip_id_invalid); }