• Mychaela N. Falconia's avatar
    USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters · 6cf87e5e
    Mychaela N. Falconia authored
    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: default avatarMychaela N. Falconia <falcon@freecalypso.org>
    [johan: insert in PID order and drop unused define]
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
    6cf87e5e
ftdi_sio_ids.h 58.6 KB