lkml.org 
[lkml]   [2011]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[014/244] USB: ftdi_sio: add Calao reference board support
    3.0-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

    commit c96fbdd0ab97235f930ebf24b38fa42a2e3458cf upstream.

    Calao use on there dev kits a FT2232 where the port 0 is used for the JTAG and
    port 1 for the UART

    They use the same VID and PID as FTDI Chip but they program the manufacturer
    name in the eeprom

    So use this information to detect it

    Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
    Cc: Gregory Hermant <gregory.hermant@calao-systems.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/usb/serial/ftdi_sio.c | 20 +++++++++++++++++++-
    1 file changed, 19 insertions(+), 1 deletion(-)

    --- a/drivers/usb/serial/ftdi_sio.c
    +++ b/drivers/usb/serial/ftdi_sio.c
    @@ -101,6 +101,7 @@ static int ftdi_jtag_probe(struct usb_
    static int ftdi_mtxorb_hack_setup(struct usb_serial *serial);
    static int ftdi_NDI_device_setup(struct usb_serial *serial);
    static int ftdi_stmclite_probe(struct usb_serial *serial);
    +static int ftdi_8u2232c_probe(struct usb_serial *serial);
    static void ftdi_USB_UIRT_setup(struct ftdi_private *priv);
    static void ftdi_HE_TIRA1_setup(struct ftdi_private *priv);

    @@ -128,6 +129,10 @@ static struct ftdi_sio_quirk ftdi_stmcli
    .probe = ftdi_stmclite_probe,
    };

    +static struct ftdi_sio_quirk ftdi_8u2232c_quirk = {
    + .probe = ftdi_8u2232c_probe,
    +};
    +
    /*
    * The 8U232AM has the same API as the sio except for:
    * - it can support MUCH higher baudrates; up to:
    @@ -177,7 +182,8 @@ static struct usb_device_id id_table_com
    { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) },
    { USB_DEVICE(FTDI_VID, FTDI_8U232AM_ALT_PID) },
    { USB_DEVICE(FTDI_VID, FTDI_232RL_PID) },
    - { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) },
    + { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) ,
    + .driver_info = (kernel_ulong_t)&ftdi_8u2232c_quirk },
    { USB_DEVICE(FTDI_VID, FTDI_4232H_PID) },
    { USB_DEVICE(FTDI_VID, FTDI_232H_PID) },
    { USB_DEVICE(FTDI_VID, FTDI_MICRO_CHAMELEON_PID) },
    @@ -1732,6 +1738,18 @@ static int ftdi_jtag_probe(struct usb_se

    return 0;
    }
    +
    +static int ftdi_8u2232c_probe(struct usb_serial *serial)
    +{
    + struct usb_device *udev = serial->dev;
    +
    + dbg("%s", __func__);
    +
    + if (strcmp(udev->manufacturer, "CALAO Systems") == 0)
    + return ftdi_jtag_probe(serial);
    +
    + return 0;
    +}

    /*
    * First and second port on STMCLiteadaptors is reserved for JTAG interface



    \
     
     \ /
      Last update: 2011-09-29 00:39    [W:0.022 / U:6.604 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site