[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f3a8b0bd-79f7-3bef-4d07-69774c87873a@gmail.com>
Date: Thu, 24 Oct 2019 16:52:01 +0800
From: "Ji-Ze Hong (Peter Hong)" <hpeter@...il.com>
To: Johan Hovold <johan@...nel.org>
Cc: gregkh@...uxfoundation.org, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org, peter_hong@...tek.com.tw,
"Ji-Ze Hong (Peter Hong)" <hpeter+linux_kernel@...il.com>
Subject: Re: [PATCH V2 5/7] USB: serial: f81232: Set F81534A serial port with
RS232 mode
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
Powered by blists - more mailing lists