stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2] USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
@ 2017-04-17 11:56 Marek Vasut
  2017-04-18  9:56 ` Johan Hovold
  0 siblings, 1 reply; 3+ messages in thread
From: Marek Vasut @ 2017-04-17 11:56 UTC (permalink / raw)
  To: linux-usb; +Cc: Marek Vasut, stable, Johan Hovold

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.

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@denx.de>
Cc: stable <stable@vger.kernel.org>
Cc: usb <linux-usb@vger.kernel.org>
Cc: Johan Hovold <johan@kernel.org>
---
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.
+ */
+#define ACTEL_VID				0x1514
+#define MICROSEMI_ARROW_SF2PLUS_BOARD_PID	0x2008
+
 /* Olimex */
 #define OLIMEX_VID			0x15BA
 #define OLIMEX_ARM_USB_OCD_PID		0x0003
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH V2] USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
  2017-04-17 11:56 [PATCH V2] USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit Marek Vasut
@ 2017-04-18  9:56 ` Johan Hovold
  2017-04-18 18:09   ` Marek Vasut
  0 siblings, 1 reply; 3+ messages in thread
From: Johan Hovold @ 2017-04-18  9:56 UTC (permalink / raw)
  To: Marek Vasut; +Cc: linux-usb, stable, Johan Hovold

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?

> 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@denx.de>
> Cc: stable <stable@vger.kernel.org>
> Cc: usb <linux-usb@vger.kernel.org>
> Cc: Johan Hovold <johan@kernel.org>
> ---
> 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.

> + */
> +#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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH V2] USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
  2017-04-18  9:56 ` Johan Hovold
@ 2017-04-18 18:09   ` Marek Vasut
  0 siblings, 0 replies; 3+ messages in thread
From: Marek Vasut @ 2017-04-18 18:09 UTC (permalink / raw)
  To: Johan Hovold; +Cc: linux-usb, stable

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@denx.de>
>> Cc: stable <stable@vger.kernel.org>
>> Cc: usb <linux-usb@vger.kernel.org>
>> Cc: Johan Hovold <johan@kernel.org>
>> ---
>> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-04-18 18:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-17 11:56 [PATCH V2] USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit Marek Vasut
2017-04-18  9:56 ` Johan Hovold
2017-04-18 18:09   ` Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).