Messages in this thread | | | Subject | Re: [PATCH V2 5/7] USB: serial: f81232: Set F81534A serial port with RS232 mode | From | "Ji-Ze Hong (Peter Hong)" <> | Date | Thu, 24 Oct 2019 16:52:01 +0800 |
| |
Hi Johan,
Johan Hovold 於 2019/10/23 下午 07:53 寫道: > On Mon, Sep 23, 2019 at 10:24:47AM +0800, Ji-Ze Hong (Peter Hong) wrote: >> The Fintek F81532A/534A/535/536 is USB-to-2/4/8/12 serial ports device >> and the serial ports are default disabled. Each port contains max 3 pins >> GPIO and the 3 pins are default pull high with input mode. >> >> When the serial port had activated (running probe()), we'll transform the >> 3 pins from GPIO function publicly to control Tranceiver privately use. > > I'm not sure I understand what you're saying here. > >> We'll default set to 0/0/1 for control transceiver to RS232 mode. >> >> Otherwise, If the serial port is not active, the 3 pins is in GPIO mode >> and controlled by global GPIO device with VID/PID: 2c42/16f8. > > Does this mean that you can control the three GPIOs either through the > serial device or through the gpio-control device (which are two separate > USB devices)? >
Yes, when 1 F81534A connect to Host, it'll report device as following. virtual HUB GPIO Device. serial port 1 ... serial port n
The link are F81534A pin-out: https://imgur.com/a/AZHqQ1N
So we can control F81534A series all GPIO pins via GPIO Device. Serial ports are also control MODE0_x, MODE1_x, MODE2_x (e.g. UART1 MODE0_1, MODE1_1, MODE2_1), but when Serial ports is h/w disabled (DTR pull low), the mode pin will change to GPIO pin.
> Ok, so you reset the tranceiver config on every probe. > > Are the three GPIOs always connected to one particular tranceiver, or > are they truly general purpose? > > In the latter case, it doesn't seem like a good idea to drive pins 0 > and 1 low here as you have know idea what they're used for.
If we want to change the mode pin to GPIO pin, it need do h/w disable. It the serial ports are activated, the 3 pin will be mode pin and set default 0/0/1 to RS232 mode due to this driver not implement RS422/485 currently.
Thanks -- With Best Regards, Peter Hong
| |