Merge pull request #1242 from mariusgreuel/pr-add-ft2232h-support

Add FT2232H support for Windows, Tigard programmer
This commit is contained in:
mcuee 2022-12-27 22:12:36 +08:00 committed by GitHub
commit 3e08177450
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 56 additions and 41 deletions

View File

@ -247,7 +247,7 @@ if(USE_EXTERNAL)
FetchContent_Declare(libftdi FetchContent_Declare(libftdi
GIT_REPOSITORY https://github.com/avrdudes/libftdi.git GIT_REPOSITORY https://github.com/avrdudes/libftdi.git
GIT_TAG f3a54da710002a7d25a32a69e667a69ef84cc120 GIT_TAG f9fe6e96b97c3a08efd081632c1859cb83aa14e3
) )
message(STATUS "Fetching external libraries, please wait...") message(STATUS "Fetching external libraries, please wait...")

View File

@ -788,7 +788,7 @@ programmer
; ;
#------------------------------------------------------------ #------------------------------------------------------------
# avrftdi # ft2232h
#------------------------------------------------------------ #------------------------------------------------------------
# this will interface with the chips on these programmers: # this will interface with the chips on these programmers:
@ -812,26 +812,28 @@ programmer
# these FTDI ICs has been designed. # these FTDI ICs has been designed.
programmer programmer
id = "avrftdi"; id = "ft2232h";
desc = "FT2232D based generic programmer"; desc = "FT2232H based generic programmer";
type = "avrftdi"; type = "avrftdi";
prog_modes = PM_TPI | PM_ISP; prog_modes = PM_TPI | PM_ISP;
connection_type = usb; connection_type = usb;
usbvid = 0x0403; usbvid = 0x0403;
usbpid = 0x6010; usbpid = 0x6010;
usbdev = "A"; usbdev = "A";
# ISP-signals - lower ADBUS-Nibble (default) # ISP-signals - lower ADBUS-Nibble (default)
reset = 3; reset = 3; # AD3 (TMS)
sck = 0; sck = 0; # AD0 (TCK)
sdo = 1; sdo = 1; # AD1 (TDI)
sdi = 2; sdi = 2; # AD2 (TDO)
# LED SIGNALs - higher ADBUS-Nibble ;
# errled = 4;
# rdyled = 5; #------------------------------------------------------------
# pgmled = 6; # avrftdi
# vfyled = 7; #------------------------------------------------------------
# Buffer Signal - ACBUS - Nibble
# buff = 8; programmer parent "ft2232h"
id = "avrftdi";
desc = "FT2232D based generic programmer";
; ;
#------------------------------------------------------------ #------------------------------------------------------------
@ -841,25 +843,11 @@ programmer
# This is an implementation of the above with a buffer IC (74AC244) and # This is an implementation of the above with a buffer IC (74AC244) and
# 4 LEDs directly attached, all active low. # 4 LEDs directly attached, all active low.
programmer programmer parent "ft2232h"
id = "2232HIO"; id = "2232hio";
desc = "FT2232H based generic programmer"; desc = "FT2232H based generic programmer";
type = "avrftdi";
prog_modes = PM_TPI | PM_ISP;
connection_type = usb;
usbvid = 0x0403;
# Note: This PID is reserved for generic H devices and
# should be programmed into the EEPROM
# usbpid = 0x8A48;
usbpid = 0x6010;
usbdev = "A";
buff = ~4; buff = ~4;
#ISP-signals # LED SIGNALs
reset = 3;
sck = 0;
sdo = 1;
sdi = 2;
#LED SIGNALs
errled = ~11; errled = ~11;
rdyled = ~14; rdyled = ~14;
pgmled = ~13; pgmled = ~13;
@ -867,18 +855,45 @@ programmer
; ;
#------------------------------------------------------------ #------------------------------------------------------------
# 4232h # tigard
#------------------------------------------------------------
# Tigard - FT2232H based multi-protocol tool for hardware hacking.
# https://github.com/tigard-tools/tigard
programmer parent "ft2232h"
id = "tigard";
desc = "Tigard interface board";
usbdev = "B";
# ISP-signals
reset = 5; # BD5 (GPIOL1)
sck = 0; # BD0 (TCK)
sdo = 1; # BD1 (TDI)
sdi = 2; # BD2 (TDO)
;
#------------------------------------------------------------
# ft4232h
#------------------------------------------------------------ #------------------------------------------------------------
#The FT4232H can be treated as FT2232H, but it has a different USB #The FT4232H can be treated as FT2232H, but it has a different USB
#device ID of 0x6011. #device ID of 0x6011.
programmer parent "avrftdi" programmer parent "ft2232h"
id = "4232h"; id = "ft4232h";
desc = "FT4232H based generic programmer"; desc = "FT4232H based generic programmer";
usbpid = 0x6011; usbpid = 0x6011;
; ;
#------------------------------------------------------------
# 4232h
#------------------------------------------------------------
programmer parent "ft4232h"
id = "4232h";
desc = "FT4232H based generic programmer";
;
#------------------------------------------------------------ #------------------------------------------------------------
# jtagkey # jtagkey
#------------------------------------------------------------ #------------------------------------------------------------
@ -910,14 +925,14 @@ programmer
programmer programmer
id = "ft232h"; id = "ft232h";
desc = "FT232H in MPSSE mode"; desc = "FT232H based generic programmer";
type = "avrftdi"; type = "avrftdi";
prog_modes = PM_TPI | PM_ISP; prog_modes = PM_TPI | PM_ISP;
connection_type = usb; connection_type = usb;
usbvid = 0x0403; usbvid = 0x0403;
usbpid = 0x6014; usbpid = 0x6014;
usbdev = "A"; usbdev = "A";
#ISP-signals # ISP-signals
reset = 3; # AD3 (TMS) reset = 3; # AD3 (TMS)
sck = 0; # AD0 (TCK) sck = 0; # AD0 (TCK)
sdo = 1; # AD1 (TDI) sdo = 1; # AD1 (TDI)
@ -1027,7 +1042,7 @@ programmer
usbproduct = "LM3S811 Evaluation Board"; usbproduct = "LM3S811 Evaluation Board";
# Enable correct buffers # Enable correct buffers
buff = 7; buff = 7;
#ISP-signals - lower ACBUS-Nibble (default) # ISP-signals - lower ACBUS-Nibble (default)
reset = 3; reset = 3;
sck = 0; sck = 0;
sdo = 1; sdo = 1;
@ -1335,7 +1350,7 @@ programmer
programmer programmer
id = "ft245r"; id = "ft245r";
desc = "FT245R Synchronous BitBang"; desc = "FT245R based generic programmer";
type = "ftdi_syncbb"; type = "ftdi_syncbb";
prog_modes = PM_TPI | PM_ISP; prog_modes = PM_TPI | PM_ISP;
connection_type = usb; connection_type = usb;
@ -1351,7 +1366,7 @@ programmer
programmer programmer
id = "ft232r"; id = "ft232r";
desc = "FT232R Synchronous BitBang"; desc = "FT232R based generic programmer";
type = "ftdi_syncbb"; type = "ftdi_syncbb";
prog_modes = PM_TPI | PM_ISP; prog_modes = PM_TPI | PM_ISP;
connection_type = usb; connection_type = usb;