On 04/18/2017 11:56 AM, Johan Hovold wrote: > On Mon, Apr 17, 2017 at 01:56:54PM +0200, Marek Vasut wrote: >> This development kit has an FT4232 on it with a custom USB VID/PID. >> The FT4232 provides four UARTs, but only two are used. The UART 0 >> is used by the FlashPro5 programmer and UART 2 is connected to the >> SmartFusion2 CortexM3 SoC UART port. > > Thanks for verifying that you do not want to bind to interface 0. > > Judging from the above description, it seems we can do even even better > and only bind to interface 2 using > > USB_DEVICE_INTERFACE_NUMBER() > > since you only have one uart connected that you want to expose, right? Yes >> Note that the USB VID is registered to Actel according to Linux USB >> VID database, but that was acquired by Microsemi. >> >> Signed-off-by: Marek Vasut <marex@xxxxxxx> >> Cc: stable <stable@xxxxxxxxxxxxxxx> >> Cc: usb <linux-usb@xxxxxxxxxxxxxxx> >> Cc: Johan Hovold <johan@xxxxxxxxxx> >> --- >> V2: - Move the ID in ftdi_sio_ids.h to keep it sorted by VIDs >> - Use the JTAG quirk to avoid binding channel 0, this is needed by >> the Libero software, otherwise it cannot use the programmer. >> --- >> drivers/usb/serial/ftdi_sio.c | 2 ++ >> drivers/usb/serial/ftdi_sio_ids.h | 10 ++++++++++ >> 2 files changed, 12 insertions(+) >> >> diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c >> index 80c6d3deb80d..a42e7f2af420 100644 >> --- a/drivers/usb/serial/ftdi_sio.c >> +++ b/drivers/usb/serial/ftdi_sio.c >> @@ -873,6 +873,8 @@ static const struct usb_device_id id_table_combined[] = { >> { USB_DEVICE_AND_INTERFACE_INFO(MICROCHIP_VID, MICROCHIP_USB_BOARD_PID, >> USB_CLASS_VENDOR_SPEC, >> USB_SUBCLASS_VENDOR_SPEC, 0x00) }, >> + { USB_DEVICE(ACTEL_VID, MICROSEMI_ARROW_SF2PLUS_BOARD_PID), >> + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, >> { USB_DEVICE(JETI_VID, JETI_SPC1201_PID) }, >> { USB_DEVICE(MARVELL_VID, MARVELL_SHEEVAPLUG_PID), >> .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, >> diff --git a/drivers/usb/serial/ftdi_sio_ids.h b/drivers/usb/serial/ftdi_sio_ids.h >> index 168ccb03ce08..7b6edb8e9ee2 100644 >> --- a/drivers/usb/serial/ftdi_sio_ids.h >> +++ b/drivers/usb/serial/ftdi_sio_ids.h >> @@ -877,6 +877,16 @@ >> #define FIC_VID 0x1457 >> #define FIC_NEO1973_DEBUG_PID 0x5118 >> >> +/* >> + * Microsemi/Arrow SF2PLUS Dev Kit >> + * >> + * This board has an FT4232 on it which provides four UART ports. >> + * UART 0 is used by the FlashPro5 programmer, UART 2 is connected >> + * to the UART of an CortexM3 SoC-FPGA on the board. > > You can remove this comment (having it in the git history should be > sufficient), and just make this a "Microsemi (formerly Actel)" header. OK >> + */ >> +#define ACTEL_VID 0x1514 >> +#define MICROSEMI_ARROW_SF2PLUS_BOARD_PID 0x2008 >> + >> /* Olimex */ >> #define OLIMEX_VID 0x15BA >> #define OLIMEX_ARM_USB_OCD_PID 0x0003 > > Thanks, > Johan > -- Best regards, Marek Vasut