Re: [PATCH v3] USB: serial: ftdi_sio: implement GPIO support for FT-X devices

From: Johan Hovold
Date: Tue Sep 18 2018 - 04:55:24 EST


On Fri, Sep 14, 2018 at 04:54:34PM +0000, Karoly Pados wrote:

> >> +
> >> + /* Chip-type guessing logic based on libftdi. */
> >> + priv->gc.ngpio = 4; /* FT230X, FT231X */
> >> + if (le16_to_cpu(serial->dev->descriptor.bcdDevice) != 0x1000)
> >> + priv->gc.ngpio = 1; /* FT234XD */
> >
> > No known way to identify FT234XD here?
> >
> > After taking a quick peek at libftdi, it seems we really have no clue
> > how to detect these device types and 0x1000 could be for all FTX
> > devices. Heck, the current kernel driver just assumes anything we don't
> > recognise to be an FTX, something which would now hit this code path...
> >
> > What devices did you and Loic have? Could you post the lsusb -v output
> > for these? Perhaps someone with an FT234XD can chime in as well.
> >
>
> No clue about this one. I only own FT230X and FT231X devices, but it looks
> like they cannot be told apart, except for eeprom strings which are reconfigurable
> by the user. I wouldn't rely on such things. Anyway, lsusb -v outputs attached.

Ok, thanks. I've dropped a mail to FTDI support to see if there's way to
tell FT234XD apart from the other two. Otherwise we probably need to
register all four pins for all FTX devices.

It seems reasonable to assume that the FT234XD CBUS0 pin is indeed
managed as CBUS0 of the other two types (rather than say CBUS2), but I
asked for confirmation on that too.

Johan