stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	"Mychaela N. Falconia" <falcon@freecalypso.org>,
	Johan Hovold <johan@kernel.org>
Subject: [PATCH 4.4 12/16] USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters
Date: Fri, 16 Oct 2020 11:07:05 +0200	[thread overview]
Message-ID: <20201016090436.019351051@linuxfoundation.org> (raw)
In-Reply-To: <20201016090435.423923738@linuxfoundation.org>

From: Mychaela N. Falconia <falcon@freecalypso.org>

commit 6cf87e5edd9944e1d3b6efd966ea401effc304ee upstream.

There exist many FT2232-based JTAG+UART adapter designs in which
FT2232 Channel A is used for JTAG and Channel B is used for UART.
The best way to handle them in Linux is to have the ftdi_sio driver
create a ttyUSB device only for Channel B and not for Channel A:
a ttyUSB device for Channel A would be bogus and will disappear as
soon as the user runs OpenOCD or other applications that access
Channel A for JTAG from userspace, causing undesirable noise for
users.  The ftdi_sio driver already has a dedicated quirk for such
JTAG+UART FT2232 adapters, and it requires assigning custom USB IDs
to such adapters and adding these IDs to the driver with the
ftdi_jtag_quirk applied.

Boutique hardware manufacturer Falconia Partners LLC has created a
couple of JTAG+UART adapter designs (one buffered, one unbuffered)
as part of FreeCalypso project, and this hardware is specifically made
to be used with Linux hosts, with the intent that Channel A will be
accessed only from userspace via appropriate applications, and that
Channel B will be supported by the ftdi_sio kernel driver, presenting
a standard ttyUSB device to userspace.  Toward this end the hardware
manufacturer will be programming FT2232 EEPROMs with custom USB IDs,
specifically with the intent that these IDs will be recognized by
the ftdi_sio driver with the ftdi_jtag_quirk applied.

Signed-off-by: Mychaela N. Falconia <falcon@freecalypso.org>
[johan: insert in PID order and drop unused define]
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/usb/serial/ftdi_sio.c     |    5 +++++
 drivers/usb/serial/ftdi_sio_ids.h |    7 +++++++
 2 files changed, 12 insertions(+)

--- a/drivers/usb/serial/ftdi_sio.c
+++ b/drivers/usb/serial/ftdi_sio.c
@@ -1032,6 +1032,11 @@ static const struct usb_device_id id_tab
 	/* U-Blox devices */
 	{ USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ZED_PID) },
 	{ USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ODIN_PID) },
+	/* FreeCalypso USB adapters */
+	{ USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_BUF_PID),
+		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
+	{ USB_DEVICE(FTDI_VID, FTDI_FALCONIA_JTAG_UNBUF_PID),
+		.driver_info = (kernel_ulong_t)&ftdi_jtag_quirk },
 	{ }					/* Terminating entry */
 };
 
--- a/drivers/usb/serial/ftdi_sio_ids.h
+++ b/drivers/usb/serial/ftdi_sio_ids.h
@@ -38,6 +38,13 @@
 
 #define FTDI_LUMEL_PD12_PID	0x6002
 
+/*
+ * Custom USB adapters made by Falconia Partners LLC
+ * for FreeCalypso project, ID codes allocated to Falconia by FTDI.
+ */
+#define FTDI_FALCONIA_JTAG_BUF_PID	0x7150
+#define FTDI_FALCONIA_JTAG_UNBUF_PID	0x7151
+
 /* Sienna Serial Interface by Secyourit GmbH */
 #define FTDI_SIENNA_PID		0x8348
 



  parent reply	other threads:[~2020-10-16  9:06 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-16  9:06 [PATCH 4.4 00/16] 4.4.240-rc1 review Greg Kroah-Hartman
2020-10-16  9:06 ` [PATCH 4.4 01/16] Bluetooth: A2MP: Fix not initializing all members Greg Kroah-Hartman
2020-10-16  9:06 ` [PATCH 4.4 02/16] Bluetooth: MGMT: Fix not checking if BT_HS is enabled Greg Kroah-Hartman
2020-10-16  9:06 ` [PATCH 4.4 03/16] Bluetooth: fix kernel oops in store_pending_adv_report Greg Kroah-Hartman
2020-10-16  9:06 ` [PATCH 4.4 04/16] Bluetooth: Consolidate encryption handling in hci_encrypt_cfm Greg Kroah-Hartman
2020-10-16  9:06 ` [PATCH 4.4 05/16] Bluetooth: Fix update of connection state in `hci_encrypt_cfm` Greg Kroah-Hartman
2020-10-16  9:06 ` [PATCH 4.4 06/16] Bluetooth: Disconnect if E0 is used for Level 4 Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 07/16] media: usbtv: Fix refcounting mixup Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 08/16] USB: serial: option: add Cellient MPL200 card Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 09/16] USB: serial: option: Add Telit FT980-KS composition Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 10/16] staging: comedi: check validity of wMaxPacketSize of usb endpoints found Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 11/16] USB: serial: pl2303: add device-id for HP GC device Greg Kroah-Hartman
2020-10-16  9:07 ` Greg Kroah-Hartman [this message]
2020-10-16  9:07 ` [PATCH 4.4 13/16] reiserfs: Initialize inode keys properly Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 14/16] reiserfs: Fix oops during mount Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 15/16] spi: unbinding slave before calling spi_destroy_queue Greg Kroah-Hartman
2020-10-16  9:07 ` [PATCH 4.4 16/16] crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA Greg Kroah-Hartman
2020-10-16 10:34 ` [PATCH 4.4 00/16] 4.4.240-rc1 review Pavel Machek
2020-10-16 13:46 ` Jon Hunter
2020-10-16 19:00 ` Guenter Roeck
2020-10-17  8:09 ` Naresh Kamboju
2020-10-17 16:19 ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201016090436.019351051@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=falcon@freecalypso.org \
    --cc=johan@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).