spiOverJtag: added efinix Titanium Ti60 support

This commit is contained in:
Gwenhael Goavec-Merou 2023-04-20 18:56:34 +02:00
parent 07a0708eb8
commit 873de96a3b
3 changed files with 7 additions and 4 deletions

Binary file not shown.

View File

@ -193,7 +193,7 @@ static std::map <std::string, target_board_t> board_list = {
JTAG_BOARD("tec0117", "", "ft2232", 0, 0, CABLE_DEFAULT),
SPI_BOARD("titanium_ti60_f225","efinix", "efinix_spi_ft4232",
DBUS4, DBUS5, DBUS7, DBUS3, DBUS0, DBUS1, DBUS2, DBUS6, 0, CABLE_DEFAULT),
JTAG_BOARD("titanium_ti60_f225_jtag", "","efinix_jtag_ft4232", 0, 0, CABLE_DEFAULT),
JTAG_BOARD("titanium_ti60_f225_jtag", "ti60f225","efinix_jtag_ft4232", 0, 0, CABLE_DEFAULT),
SPI_BOARD("trion_t120_bga576","efinix", "efinix_spi_ft2232",
DBUS4, DBUS5, DBUS7, DBUS3, DBUS0, DBUS1, DBUS2, DBUS6, 0, CABLE_DEFAULT),
JTAG_BOARD("trion_t120_bga576_jtag", "", "ft2232_b", 0, 0, CABLE_DEFAULT),

View File

@ -58,9 +58,12 @@ Efinix::Efinix(Jtag* jtag, const std::string &filename,
const uint32_t idcode = _jtag->get_target_device_id();
const std::string family = fpga_list[idcode].family;
if (family == "Titanium") {
if (_file_extension == "hex") {
throw std::runtime_error("Error: loading hex file is not allowed "
"for Titanium devices");
if (_file_extension == "hex" && prg_type == Device::WR_SRAM) {
throw std::runtime_error("Error: loading (RAM) hex file is not "
"allowed for Titanium devices");
} else if (_file_extension == "bit" && prg_type == Device::WR_FLASH) {
throw std::runtime_error("Error: writing bit (FLASH) file is not "
"allowed for Titanium devices");
}
_fpga_family = TITANIUM_FAMILY;
} else if (family == "Trion") {