* [PATCH] Support FlashPro5 serial ports
@ 2025-10-30 21:49 Andreas Messer
2025-10-31 13:40 ` Johan Hovold
0 siblings, 1 reply; 3+ messages in thread
From: Andreas Messer @ 2025-10-30 21:49 UTC (permalink / raw)
To: Johan Hovold, Greg Kroah-Hartman, linux-usb
[-- Attachment #1: Type: text/plain, Size: 2588 bytes --]
Hello,
I'm currently working with a Microchip Polarfire Discovery Kit. It has
integrated a FTDI USB Converter IC connected to JTAG and 3x UART of the
SoC in the kit. It identifies itself on USB as "Microsemi Embedded FlashPro5"
Only one of the UART ports is working with the current ftdio_sio driver.
I found a device id entry for Microsemi Arrow SF2+ Board
which has same Vendor & Product ID like my board but enables only one UART.
I have added more entries to the device list to make all UART Channels
working with my board. However it will make these UARTS show up with SF2+
Board too. I found at least four different device which have the
same Vendor/Product ID, but I assume there are more:
- Trenz SMF2000: FT2232H
Channel A -> JTAG, Channel B -> UART
- Microchip Polarfire Discovery Kit: FT4232H
Channel A -> JTAG, Channel B/C/D -> UART
- Microsemi/Microchip FlashPro5: FT4232H
Channel A -> JTAG
- Arrow SF2+ Development Kit:
Channel A -> JTAG, Channel C -> UART
Not sure what would be the proper solution, attached my changes.
Best regards,
Andreas
---
drivers/usb/serial/ftdi_sio.c | 4 +++-
drivers/usb/serial/ftdi_sio_ids.h | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 49666c33b41f..44f35aeb0b04 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -908,7 +908,9 @@ 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_INTERFACE_NUMBER(ACTEL_VID, MICROSEMI_ARROW_SF2PLUS_BOARD_PID, 2) },
+ { USB_DEVICE_INTERFACE_NUMBER(ACTEL_VID, MICROSEMI_FLASHPRO5_PID, 1) },
+ { USB_DEVICE_INTERFACE_NUMBER(ACTEL_VID, MICROSEMI_FLASHPRO5_PID, 2) },
+ { USB_DEVICE_INTERFACE_NUMBER(ACTEL_VID, MICROSEMI_FLASHPRO5_PID, 3) },
{ 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 4cc1fae8acb9..7e4eb4c3295b 100644
--- a/drivers/usb/serial/ftdi_sio_ids.h
+++ b/drivers/usb/serial/ftdi_sio_ids.h
@@ -929,7 +929,7 @@
* Actel / Microsemi
*/
#define ACTEL_VID 0x1514
-#define MICROSEMI_ARROW_SF2PLUS_BOARD_PID 0x2008
+#define MICROSEMI_FLASHPRO5_PID 0x2008
/* Olimex */
#define OLIMEX_VID 0x15BA
--
2.47.3
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] Support FlashPro5 serial ports
2025-10-30 21:49 [PATCH] Support FlashPro5 serial ports Andreas Messer
@ 2025-10-31 13:40 ` Johan Hovold
2025-10-31 17:45 ` Andreas Messer
0 siblings, 1 reply; 3+ messages in thread
From: Johan Hovold @ 2025-10-31 13:40 UTC (permalink / raw)
To: Andreas Messer; +Cc: Greg Kroah-Hartman, linux-usb
[-- Attachment #1: Type: text/plain, Size: 1595 bytes --]
On Thu, Oct 30, 2025 at 10:49:22PM +0100, Andreas Messer wrote:
> I'm currently working with a Microchip Polarfire Discovery Kit. It has
> integrated a FTDI USB Converter IC connected to JTAG and 3x UART of the
> SoC in the kit. It identifies itself on USB as "Microsemi Embedded FlashPro5"
>
> Only one of the UART ports is working with the current ftdio_sio driver.
> I found a device id entry for Microsemi Arrow SF2+ Board
> which has same Vendor & Product ID like my board but enables only one UART.
>
> I have added more entries to the device list to make all UART Channels
> working with my board. However it will make these UARTS show up with SF2+
> Board too. I found at least four different device which have the
> same Vendor/Product ID, but I assume there are more:
>
> - Trenz SMF2000: FT2232H
> Channel A -> JTAG, Channel B -> UART
>
> - Microchip Polarfire Discovery Kit: FT4232H
> Channel A -> JTAG, Channel B/C/D -> UART
Where did you find these two? Do you have access to the devices?
> - Microsemi/Microchip FlashPro5: FT4232H
> Channel A -> JTAG
I guess you forgot "Channel B/C/D -> UART" here?
> - Arrow SF2+ Development Kit:
> Channel A -> JTAG, Channel C -> UART
>
> Not sure what would be the proper solution, attached my changes.
It would be good to avoid enabling unused ports on devices that only
have one UART (e.g. to avoid regressing udev rules).
You could use something like ftdi_8u2232c_probe() and only enable the
other ports (i.e. B and D) after comparing the product name to a
whitelist.
Johan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Support FlashPro5 serial ports
2025-10-31 13:40 ` Johan Hovold
@ 2025-10-31 17:45 ` Andreas Messer
0 siblings, 0 replies; 3+ messages in thread
From: Andreas Messer @ 2025-10-31 17:45 UTC (permalink / raw)
To: Johan Hovold; +Cc: Greg Kroah-Hartman, linux-usb
[-- Attachment #1: Type: text/plain, Size: 1754 bytes --]
Am Fri, Oct 31, 2025 at 02:40:23PM +0100 schrieb Johan Hovold:
> On Thu, Oct 30, 2025 at 10:49:22PM +0100, Andreas Messer wrote:
>
> > I have added more entries to the device list to make all UART Channels
> > working with my board. However it will make these UARTS show up with SF2+
> > Board too. I found at least four different device which have the
> > same Vendor/Product ID, but I assume there are more:
> >
> > - Trenz SMF2000: FT2232H
> > Channel A -> JTAG, Channel B -> UART
> >
> > - Microchip Polarfire Discovery Kit: FT4232H
> > Channel A -> JTAG, Channel B/C/D -> UART
>
> Where did you find these two? Do you have access to the devices?
For the Trenz I found the information in the web here:
https://wiki.trenz-electronic.de/display/PD/TEM0001+TRM
I own the Discovery Kit but the schematic is also public
available here:
https://ww1.microchip.com/downloads/aemDocuments/documents/FPGA/ProductDocuments/BoardDesignFiles/PolarFire_SoC_Discovery_Kit_Schematics.zip
> > - Microsemi/Microchip FlashPro5: FT4232H
> > Channel A -> JTAG
>
> I guess you forgot "Channel B/C/D -> UART" here?
No, the standalone FlashPro5 hardware has only a JTAG Port
https://www.microchip.com/en-us/development-tool/flashpro5
> It would be good to avoid enabling unused ports on devices that only
> have one UART (e.g. to avoid regressing udev rules).
>
> You could use something like ftdi_8u2232c_probe() and only enable the
> other ports (i.e. B and D) after comparing the product name to a
> whitelist.
Ok, I'll have a look at it and try to come with a solution.
Thanks for the pointer!
Andreas
--
gnuPG keyid: 8C2BAF51
fingerprint: 28EE 8438 E688 D992 3661 C753 90B3 BAAA 8C2B AF51
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-10-31 17:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-30 21:49 [PATCH] Support FlashPro5 serial ports Andreas Messer
2025-10-31 13:40 ` Johan Hovold
2025-10-31 17:45 ` Andreas Messer
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).