Re: usb: thoughts of adding more support for FT232H

From: Johan Hovold
Date: Wed Dec 05 2018 - 10:39:20 EST


On Wed, Dec 05, 2018 at 04:17:18PM +0100, Anatolij Gustschin wrote:
> Hi,
>
> On Wed, 5 Dec 2018 22:10:40 +0800
> Song Qiang songqiang1304521@xxxxxxxxx wrote:
> ...
> >I've been developing some iio device drivers and found that some people
> >would like to test their devices with a qemu system which requires an
> >i2c or spi port on our development hosts. Usually this is achieved with
> >a DLN-2 adapter, while this is a bit difficult for me because it costs
> >~175$ in my country. Then I found that FTDI's FT232H supports both these
> >two modes and costs only less than 5$ but without full support in kernel.
> >The ftdi-sio driver supports FT232H only as a serial converter.
> >So I'm planning to write a mfd driver for it supports both these three
> >modes, here are my thoughts:
>
> There already has been a discussion [1] about adding an MFD driver for
> FT232H, since the operating modes are mutually exclusive (and bus pins
> shared between different modes), the MFD approach doesn't seem to be
> a good fit.
>
> >  - This device cannot support these three modes together because they
> >    share some common pins, so I'm planning to add a sysfs entry
> >    'current_mode' for selecting which mode the device should be working
> >    on.
> >  - This device is in uart mode on reset, so default mode would be reset,
> >    too. This also helps for people only want to use this as a serial
> >    converter feels nothing has happened (compatible).
> >  - I was trying to reuse the ftdi-sio driver but it seems like mfd can
> >    only register platform devices, while this is a usb driver. I may
> >    have to copy some functions from this driver.
> >
> >Would you share any ideas? I'd appreciate it.
>
> There is a patch series [2] adding an interface driver for FT232H-
> based adapter devices, it already supports adding custom MPSSE based
> SPI busses with SPI slaves for a custom USB PID. It already supports
> adding custom CBUS-/MPSSE-GPIO adapters for user-defined USB PID.
> Adding I2C driver/adapter support should be easy, too. Maybe you can
> re-use it.

> [1] https://patchwork.kernel.org/patch/9828985
> [2] https://patchwork.kernel.org/project/linux-usb/list/?series=48255

I was going to refer to these series, but Anatolij beat me to it
(haven't looked at [2] myself yet, though).

Thanks,
Johan