Skip to content

Commit 18e0885

Browse files
ngboonkhaijhovold
authored andcommitted
USB: serial: ftdi_sio: add support for Altera USB Blaster 3
The Altera USB Blaster 3, available as both a cable and an on-board solution, is primarily used for programming and debugging FPGAs. It interfaces with host software such as Quartus Programmer, System Console, SignalTap, and Nios Debugger. The device utilizes either an FT2232 or FT4232 chip. Enabling the support for various configurations of the on-board USB Blaster 3 by including the appropriate VID/PID pairs, allowing it to function as a serial device via ftdi_sio. Note that this check-in does not include support for the cable solution, as it does not support UART functionality. The supported configurations are determined by the hardware design and include: 1) PID 0x6022, FT2232, 1 JTAG port (Port A) + Port B as UART 2) PID 0x6025, FT4232, 1 JTAG port (Port A) + Port C as UART 3) PID 0x6026, FT4232, 1 JTAG port (Port A) + Port C, D as UART 4) PID 0x6029, FT4232, 1 JTAG port (Port B) + Port C as UART 5) PID 0x602a, FT4232, 1 JTAG port (Port B) + Port C, D as UART 6) PID 0x602c, FT4232, 1 JTAG port (Port A) + Port B as UART 7) PID 0x602d, FT4232, 1 JTAG port (Port A) + Port B, C as UART 8) PID 0x602e, FT4232, 1 JTAG port (Port A) + Port B, C, D as UART These configurations allow for flexibility in how the USB Blaster 3 is used, depending on the specific needs of the hardware design. Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com> Cc: stable@vger.kernel.org Signed-off-by: Johan Hovold <johan@kernel.org>
1 parent 6232f0d commit 18e0885

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

drivers/usb/serial/ftdi_sio.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1079,6 +1079,20 @@ static const struct usb_device_id id_table_combined[] = {
10791079
.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
10801080
/* GMC devices */
10811081
{ USB_DEVICE(GMC_VID, GMC_Z216C_PID) },
1082+
/* Altera USB Blaster 3 */
1083+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6022_PID, 1) },
1084+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6025_PID, 2) },
1085+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6026_PID, 2) },
1086+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6026_PID, 3) },
1087+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_6029_PID, 2) },
1088+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602A_PID, 2) },
1089+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602A_PID, 3) },
1090+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602C_PID, 1) },
1091+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602D_PID, 1) },
1092+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602D_PID, 2) },
1093+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602E_PID, 1) },
1094+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602E_PID, 2) },
1095+
{ USB_DEVICE_INTERFACE_NUMBER(ALTERA_VID, ALTERA_UB3_602E_PID, 3) },
10821096
{ } /* Terminating entry */
10831097
};
10841098

drivers/usb/serial/ftdi_sio_ids.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1612,3 +1612,16 @@
16121612
*/
16131613
#define GMC_VID 0x1cd7
16141614
#define GMC_Z216C_PID 0x0217 /* GMC Z216C Adapter IR-USB */
1615+
1616+
/*
1617+
* Altera USB Blaster 3 (http://www.altera.com).
1618+
*/
1619+
#define ALTERA_VID 0x09fb
1620+
#define ALTERA_UB3_6022_PID 0x6022
1621+
#define ALTERA_UB3_6025_PID 0x6025
1622+
#define ALTERA_UB3_6026_PID 0x6026
1623+
#define ALTERA_UB3_6029_PID 0x6029
1624+
#define ALTERA_UB3_602A_PID 0x602a
1625+
#define ALTERA_UB3_602C_PID 0x602c
1626+
#define ALTERA_UB3_602D_PID 0x602d
1627+
#define ALTERA_UB3_602E_PID 0x602e

0 commit comments

Comments
 (0)