diff --git a/README.md b/README.md index f0e9c0e..9815d09 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ __Current support kits:__ * [Sipeed Lichee Tang](https://tang.sipeed.com/en/hardware-overview/lichee-tang/) (memory and spi flash) * [Terasic de0nano](https://www.terasic.com.tw/cgi-bin/page/archive.pl?No=593) (memory) * LambdaConcept ECPIX-5 (memory and flash) +* [Efinix Xyloni](https://www.efinixinc.com/products-devkits-xyloni.html) (spi flash (*xyloni_spi*)) __Supported (tested) FPGA:__ @@ -436,7 +437,7 @@ tangbit --input /somewhere.bit --svf bitstream.svf openFPGALoader -b licheeTang /somewhere/*.svf ``` -### Firant board (efinix trion T8) +### Firant and Xyloni boards (efinix trion T8) *.hex* file is the default format generated by *Efinity IDE*, so nothing special must be done to generates this file. @@ -448,8 +449,12 @@ __hex file load__ ```bash openFPGALoader -b fireant /somewhere/project/outflow/*.hex ``` +or, for xyloni board +```bash +openFPGALoader -b xyloni_spi /somewhere/project/outflow/*.hex +``` -Since openFPGALoader access the flash directly in SPI mode the *-b fireant* is required (no autodetection possible) +Since openFPGALoader access the flash directly in SPI mode the *-b fireant*, *-b xyloni_spi* is required (no autodetection possible) ### ice40 boards (icestick, iCE40-HX8K, iCEBreaker, iCE40HX1K-EVB) diff --git a/src/board.hpp b/src/board.hpp index d3a0513..d245517 100644 --- a/src/board.hpp +++ b/src/board.hpp @@ -112,6 +112,8 @@ static std::map board_list = { JTAG_BITBANG_BOARD("ulx3s", "ft231X", 0, 0, FT232RL_DCD, FT232RL_DSR, FT232RL_RI, FT232RL_CTS), JTAG_BOARD("ecpix5", "ecpix5-debug", 0, 0), JTAG_BOARD("xtrx", "" , 0, 0), + SPI_BOARD("xyloni_spi", "efinix", "efinix_spi", + DBUS4 | DBUS7, DBUS5, DBUS3, DBUS0, DBUS1, DBUS2, DBUS6, 0), }; #endif diff --git a/src/cable.hpp b/src/cable.hpp index 631c597..02dff5b 100644 --- a/src/cable.hpp +++ b/src/cable.hpp @@ -33,6 +33,7 @@ static std::map cable_list = { {"digilent_hs2", {MODE_FTDI_SERIAL, {0x0403, 0x6014, INTERFACE_A, 0xe8, 0xeb, 0x00, 0x60}}}, {"digilent_hs3", {MODE_FTDI_SERIAL, {0x0403, 0x6014, INTERFACE_A, 0x88, 0x8B, 0x20, 0x30}}}, {"dirtyJtag", {MODE_DIRTYJTAG, {}}}, + {"efinix_spi", {MODE_FTDI_SERIAL, {0x0403, 0x6011, INTERFACE_A, 0x08, 0x8B, 0x00, 0x00}}}, {"ft2232", {MODE_FTDI_SERIAL, {0x0403, 0x6010, INTERFACE_A, 0x08, 0x0B, 0x08, 0x0B}}}, {"ft231X", {MODE_FTDI_BITBANG, {0x0403, 0x6015, INTERFACE_A, 0x00, 0x00, 0x00, 0x00}}}, {"ft232", {MODE_FTDI_SERIAL, {0x0403, 0x6014, INTERFACE_A, 0x08, 0x0B, 0x08, 0x0B}}},