From b8e29397768c00b06cc973e6e3f35693d248a550 Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Sat, 17 Jul 2021 08:34:44 +0200 Subject: [PATCH] board: add vid/pid for DFU at board level --- src/board.hpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/board.hpp b/src/board.hpp index 7ef01d0..4025e9b 100644 --- a/src/board.hpp +++ b/src/board.hpp @@ -81,20 +81,23 @@ typedef struct { jtag_pins_conf_t jtag_pins_config; /*! for bitbang, provide struct with pins value */ spi_pins_conf_t spi_pins_config; /*! for SPI, provide struct with pins value */ uint32_t default_freq; /* Default clock speed: 0 = use cable default */ + uint16_t vid; /* optional VID: used only with DFU */ + uint16_t pid; /* optional VID: used only with DFU */ } target_board_t; #define CABLE_DEFAULT 0 #define CABLE_MHZ(_m) ((_m) * 1000000) #define JTAG_BOARD(_name, _fpga_part, _cable, _rst, _done, _freq) \ - {_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, {}, {}, _freq}} + {_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, {}, {}, _freq, 0, 0}} #define JTAG_BITBANG_BOARD(_name, _fpga_part, _cable, _rst, _done, _tms, _tck, _tdi, _tdo, _freq) \ - {_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, { _tms, _tck, _tdi, _tdo }, {}, _freq}} + {_name, {"", _cable, _fpga_part, _rst, _done, COMM_JTAG, { _tms, _tck, _tdi, _tdo }, {}, \ + _freq, 0, 0}} #define SPI_BOARD(_name, _manufacturer, _cable, _rst, _done, _cs, _sck, _si, _so, _holdn, _wpn, _freq) \ {_name, {_manufacturer, _cable, "", _rst, _done, COMM_SPI, {}, \ - {_cs, _sck, _so, _si, _holdn, _wpn}, _freq}} -#define DFU_BOARD(_name, _fpga_part, _cable) \ - {_name, {"", _cable, _fpga_part, 0, 0, COMM_DFU, {}, {}, 0}} + {_cs, _sck, _so, _si, _holdn, _wpn}, _freq, 0, 0}} +#define DFU_BOARD(_name, _fpga_part, _cable, _vid, _pid) \ + {_name, {"", _cable, _fpga_part, 0, 0, COMM_DFU, {}, {}, 0, _vid, _pid}} static std::map board_list = { JTAG_BOARD("acornCle215", "xc7a200tsbg484", "", 0, 0, CABLE_DEFAULT), @@ -114,7 +117,7 @@ static std::map board_list = { JTAG_BOARD("ecp5_evn", "", "ft2232", 0, 0, CABLE_DEFAULT), SPI_BOARD("fireant", "efinix", "ft232", DBUS4, DBUS5, DBUS3, DBUS0, DBUS1, DBUS2, DBUS6, 0, CABLE_DEFAULT), - DFU_BOARD("fomu", "", "dfu" ), + DFU_BOARD("fomu", "", "dfu", 0x1209, 0x5bf0), /* most ice40 boards uses the same pinout */ SPI_BOARD("ice40_generic", "lattice", "ft2232", DBUS7, DBUS6, @@ -129,7 +132,7 @@ static std::map board_list = { JTAG_BOARD("spartanEdgeAccelBoard", "", "",0, 0, CABLE_DEFAULT), JTAG_BOARD("pipistrello", "xc6slx45csg324", "ft2232", 0, 0, CABLE_DEFAULT), JTAG_BOARD("minispartan6", "", "ft2232", 0, 0, CABLE_DEFAULT), - DFU_BOARD("orangeCrab", "", "dfu" ), + DFU_BOARD("orangeCrab", "", "dfu", 0x1209, 0x5af0), JTAG_BOARD("qmtechCycloneV", "5ce223", "", 0, 0, CABLE_DEFAULT), JTAG_BOARD("runber", "", "ft232", 0, 0, CABLE_DEFAULT), JTAG_BOARD("tangnano", "", "ft2232", 0, 0, CABLE_DEFAULT),