Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 71d9a2b9 authored by Adrian Thomasset's avatar Adrian Thomasset Committed by Greg Kroah-Hartman
Browse files

USB: ftdi_sio: enable two UART ports on ST Microconnect Lite



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: default avatarAdrian Thomasset <adrian.thomasset@st.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ee5d5499
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -1789,22 +1789,26 @@ 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;
}

/*
 * The Matrix Orbital VK204-25-USB has an invalid IN endpoint.
 * We have to correct it if we want to read from it.