Skip to content

Commit e9b8dc5

Browse files
authored
Merge pull request #540 from trabucayre/esp_usb_jtag
Esp usb jtag Cable support
2 parents bc6ba85 + 7732300 commit e9b8dc5

File tree

7 files changed

+866
-0
lines changed

7 files changed

+866
-0
lines changed

99-openfpgaloader.rules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,7 @@ ATTRS{idVendor}=="1209", ATTRS{idProduct}=="3442", MODE="664", GROUP="plugdev",
6060
# QinHeng Electronics USB To UART+JTAG (ch347)
6161
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="55dd", MODE="664", GROUP="plugdev", TAG+="uaccess"
6262

63+
# ESP32-S3 (usb-jtag bridge)
64+
ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", MODE="664", GROUP="plugdev", TAG+="uaccess"
65+
6366
LABEL="openfpgaloader_rules_end"

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ set(OPENFPGALOADER_SOURCE
134134
src/xilinxMapParser.cpp
135135
src/colognechip.cpp
136136
src/colognechipCfgParser.cpp
137+
src/esp_usb_jtag.cpp
137138
)
138139

139140
set(OPENFPGALOADER_HEADERS
@@ -188,6 +189,7 @@ set(OPENFPGALOADER_HEADERS
188189
src/xilinxMapParser.hpp
189190
src/colognechip.hpp
190191
src/colognechipCfgParser.hpp
192+
src/esp_usb_jtag.hpp
191193
)
192194

193195
link_directories(

src/board.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ static std::map <std::string, target_board_t> board_list = {
237237
JTAG_BITBANG_BOARD("ulx3s", "", "ft231X", 0, 0,
238238
FT232RL_DCD, FT232RL_DSR, FT232RL_RI, FT232RL_CTS, CABLE_DEFAULT),
239239
DFU_BOARD("ulx3s_dfu", "", "dfu", 0x1d50, 0x614b, 0),
240+
JTAG_BOARD("ulx3s_esp", "", "esp32s3", 0, 0, CABLE_DEFAULT),
240241
JTAG_BOARD("usrpx300", "xc7k325tffg900", "digilent", 0, 0, CABLE_MHZ(15)),
241242
JTAG_BOARD("usrpx310", "xc7k410tffg900", "digilent", 0, 0, CABLE_MHZ(15)),
242243
JTAG_BOARD("vec_v6", "xc6vlx130tff784", "ft2232", 0, 0, CABLE_DEFAULT),

src/cable.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ enum communication_type {
2929
MODE_REMOTEBITBANG, /*! Remote Bitbang mode */
3030
MODE_CH347, /*! CH347 JTAG mode */
3131
MODE_GWU2X, /*! Gowin GWU2X JTAG mode */
32+
MODE_ESP, /*! esp32c3, esp32s3 */
3233
};
3334

3435
/*!
@@ -101,6 +102,7 @@ static std::map <std::string, cable_t> cable_list = {
101102
{"digilent_hs3", FTDI_SER(0x0403, 0x6014, FTDI_INTF_A, 0x88, 0x8B, 0x20, 0x30)},
102103
{"digilent_ad", FTDI_SER(0x0403, 0x6014, FTDI_INTF_A, 0x08, 0x0B, 0x80, 0x80)},
103104
{"dirtyJtag", CABLE_DEF(MODE_DIRTYJTAG, 0x1209, 0xC0CA )},
105+
{"esp32s3", CABLE_DEF(MODE_ESP, 0x303a, 0x1001 )},
104106
{"efinix_spi_ft4232", FTDI_SER(0x0403, 0x6011, FTDI_INTF_A, 0x08, 0x8B, 0x00, 0x00)},
105107
{"efinix_jtag_ft4232", FTDI_SER(0x0403, 0x6011, FTDI_INTF_B, 0x08, 0x8B, 0x00, 0x00)},
106108
{"efinix_spi_ft2232", FTDI_SER(0x0403, 0x6010, FTDI_INTF_A, 0x08, 0x8B, 0x00, 0x00)},

0 commit comments

Comments
 (0)