[PATCH 2/2] USB:ftdi_sio: enable two UART ports on ST Microconnect Lite

2013-04-24 Thread Adrian Thomasset
The FT4232H used in the ST Micro Connect Lite has four hi-speed UART ports.
The first two ports are reserved for the JTAG interface.

We enable by default ports 2 and 3 as UARTs (where port 2 is a
conventional RS-232 UART)

Signed-off-by: Adrian Thomasset adrian.thomas...@st.com
---
 drivers/usb/serial/ftdi_sio.c | 18 +++---
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 6be5853..f17ef04 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1794,20 +1794,24 @@ static int ftdi_8u2232c_probe(struct usb_serial *serial)
 }
 
 /*
- * First and second port on STMCLiteadaptors is reserved for JTAG interface
- * and the forth port for pio
+ * First two ports on JTAG adaptors using an FT4232 such as 
STMicroelectronics's
+ * ST Micro Connect Lite are reserved for JTAG or other non-UART interfaces and
+ * can be accessed from userspace.
+ * The next two ports are enabled as UARTs by default, where port 2 is
+ * a conventional RS-232 UART.
  */
 static int ftdi_stmclite_probe(struct usb_serial *serial)
 {
struct usb_device *udev = serial-dev;
struct usb_interface *interface = serial-interface;
 
-   if (interface == udev-actconfig-interface[2])
-   return 0;
-
-   dev_info(udev-dev, Ignoring serial port reserved for JTAG\n);
+   if (interface == udev-actconfig-interface[0] ||
+   interface == udev-actconfig-interface[1]) {
+   dev_info(udev-dev, Ignoring serial port reserved for 
JTAG\n);
+   return -ENODEV;
+   }
 
-   return -ENODEV;
+   return 0;
 }
 
 /*
-- 
1.8.1.2

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] USB:ftdi_sio: correct ST Micro Connect Lite PIDs

2013-04-23 Thread Adrian Thomasset
The current ST Micro Connect Lite uses the FT4232H hi-speed quad USB UART
FTDI chip. It is also possible to drive STM reference targets populated with an
on-board JTAG debugger based on the FT2232H chip with the same 
STMicroelectronics tools.

For this reason, the ST Micro Connect Lite PIDs should be
ST_STMCLT_2232_PID: 0x3746
ST_STMCLT_4232_PID: 0x3747

Signed-off-by: Adrian Thomasset adrian.thomas...@st.com
---
 drivers/usb/serial/ftdi_sio.c | 4 +++-
 drivers/usb/serial/ftdi_sio_ids.h | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 9886180..6be5853 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -870,7 +870,9 @@ static struct usb_device_id id_table_combined [] = {
{ USB_DEVICE(FTDI_VID, FTDI_DOTEC_PID) },
{ USB_DEVICE(QIHARDWARE_VID, MILKYMISTONE_JTAGSERIAL_PID),
.driver_info = (kernel_ulong_t)ftdi_jtag_quirk },
-   { USB_DEVICE(ST_VID, ST_STMCLT1030_PID),
+   { USB_DEVICE(ST_VID, ST_STMCLT_2232_PID),
+   .driver_info = (kernel_ulong_t)ftdi_jtag_quirk },
+   { USB_DEVICE(ST_VID, ST_STMCLT_4232_PID),
.driver_info = (kernel_ulong_t)ftdi_stmclite_quirk },
{ USB_DEVICE(FTDI_VID, FTDI_RF_R106) },
{ USB_DEVICE(FTDI_VID, FTDI_DISTORTEC_JTAG_LOCK_PICK_PID),
diff --git a/drivers/usb/serial/ftdi_sio_ids.h 
b/drivers/usb/serial/ftdi_sio_ids.h
index e79861e..04cb340 100644
--- a/drivers/usb/serial/ftdi_sio_ids.h
+++ b/drivers/usb/serial/ftdi_sio_ids.h
@@ -1150,7 +1150,8 @@
  * STMicroelectonics
  */
 #define ST_VID 0x0483
-#define ST_STMCLT1030_PID  0x3747 /* ST Micro Connect Lite STMCLT1030 */
+#define ST_STMCLT_2232_PID 0x3746
+#define ST_STMCLT_4232_PID 0x3747 
 
 /*
  * Papouch products (http://www.papouch.com/)
-- 
1.8.1.2

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] USB:ftdi_sio: enable two UART ports on ST Microconnect Lite

2013-04-23 Thread Adrian Thomasset
The FT4232H used in the ST Micro Connect Lite has four hi-speed UART ports.
The first two ports are reserved for the JTAG interface.

We enable by default ports 2 and 3 as UARTs (where port 2 is a
conventional RS-232 UART)

Signed-off-by: Adrian Thomasset adrian.thomas...@st.com
---
 drivers/usb/serial/ftdi_sio.c | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c
index 6be5853..6553920 100644
--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1794,20 +1794,24 @@ static int ftdi_8u2232c_probe(struct usb_serial *serial)
 }
 
 /*
- * First and second port on STMCLiteadaptors is reserved for JTAG interface
- * and the forth port for pio
+ * First two ports on JTAG adaptors using an FT4232 such as 
STMicroelectronics's
+ * ST Micro Connect Lite are reserved for JTAG or other non-UART interfaces and
+ * can be accessed from userspace.
+ * The next two ports are enabled as UARTs by default, where port 2 is
+ * a conventional RS-232 UART.
  */
 static int ftdi_stmclite_probe(struct usb_serial *serial)
 {
struct usb_device *udev = serial-dev;
struct usb_interface *interface = serial-interface;
 
-   if (interface == udev-actconfig-interface[2])
-   return 0;
-
+   if (interface == udev-actconfig-interface[0] ||
+   interface == udev-actconfig-interface[1]) {
dev_info(udev-dev, Ignoring serial port reserved for JTAG\n);
-
return -ENODEV;
+   }
+
+   return 0;
 }
 
 /*
-- 
1.8.1.2

--
To unsubscribe from this list: send the line unsubscribe linux-usb in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html