diff --git a/doc/compatibility/board.rst b/doc/compatibility/board.rst
index 52f73b9..09c4ca0 100644
--- a/doc/compatibility/board.rst
+++ b/doc/compatibility/board.rst
@@ -64,6 +64,8 @@ Boards
tangnano `Sipeed Tang Nano `__ littleBee GW1N-1 OK
tangnano4k `Sipeed Tang Nano 4K `__ littleBee GW1NSR-4C OK IF/EF
tec0117 `Trenz Gowin LittleBee (TEC0117) `__ littleBee GW1NR-9 OK IF
+ ulx3s `Radiona ULX3S `__ ECP5 LFE5U OK OK
+ ulx3s_dfu `Radiona ULX3S DFU mode `__ ECP5 LFE5U NA OK
xtrx `FairWaves XTRXPro `__ Artix xc7a50tcpg236 OK OK
xyloni_spi `Efinix Xyloni `__ Trion T8F81 NA AS
trion_t120_bga576_spi `Efinix Trion T120 BGA576 Dev Kit `__ Trion T120BGA576 NA AS
diff --git a/src/board.hpp b/src/board.hpp
index 8ed0d5c..6750ec0 100644
--- a/src/board.hpp
+++ b/src/board.hpp
@@ -162,6 +162,7 @@ static std::map board_list = {
FT232RL_RI, FT232RL_DSR, FT232RL_CTS, FT232RL_DCD, CABLE_DEFAULT),
JTAG_BITBANG_BOARD("ulx3s", "", "ft231X", 0, 0,
FT232RL_DCD, FT232RL_DSR, FT232RL_RI, FT232RL_CTS, CABLE_DEFAULT),
+ DFU_BOARD("ulx3s_dfu", "", "dfu", 0x1d50, 0x614b, 0),
JTAG_BOARD("ecpix5", "", "ecpix5-debug", 0, 0, CABLE_DEFAULT),
JTAG_BOARD("xtrx", "xc7a50tcpg236", "" , 0, 0, CABLE_DEFAULT),
JTAG_BOARD("xyloni_jtag", "", "efinix_jtag_ft4232" , 0, 0, CABLE_DEFAULT),