From e4971897d7f9186446926a55255bbe27b8ea389e Mon Sep 17 00:00:00 2001 From: Patrick Urban Date: Sat, 11 Dec 2021 16:35:30 +0100 Subject: [PATCH] jtag: ckeck highest nibble to prevent confusion between Cologne Chip GateMate and Efinix Trion T4/T8 devices --- src/jtag.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/jtag.cpp b/src/jtag.cpp index cbfe6aa..c95577e 100644 --- a/src/jtag.cpp +++ b/src/jtag.cpp @@ -136,7 +136,13 @@ int Jtag::detectChain(int max_dev) for (int ii=0; ii < 4; ii++) tmp |= (rx_buff[ii] << (8*ii)); if (tmp != 0 && tmp != 0xffffffff) { - tmp &= 0xffffffff; + /* ckeck highest nibble to prevent confusion between Cologne Chip + * GateMate and Efinix Trion T4/T8 devices + */ + if (tmp != 0x20000001) + tmp &= 0x0fffffff; + else + tmp &= 0xffffffff; _devices_list.insert(_devices_list.begin(), tmp); /* search for irlength in fpga_list or misc_dev_list */