Re: [PATCH] USB: serial: cp210x: Make the CP210x driver work with GPIOs

Started by Johan Hovold on Feb 23, 2021

open the first message on its own page

Message details and related content
On Tue, Feb 23, 2021 at 10:02:08AM +0000, Pho Tran wrote:
Similar to other CP210x devices, GPIO interfaces (gpiochip) should be supported for CP2108.

CP2108 has 4 serial interfaces but only 1 set of GPIO pins are shared to all of those interfaces.
So, just need to initialize GPIOs of CP2108 with only one interface (I use interface 0).
It means just only 1 gpiochip device file will be created for CP2108.

CP2108 has 16 GPIOs, So data types of several variables need to be is u16
instead of u8(in struct cp210x_serial_private). This doesn't affect other CP210x devices.

Because CP2108 has 16 GPIO pins, the parameter which is passed by CP210x functions
will be different from other CP210x devices. So need to check part number of the device
to use correct data format  before sending commands to devices.

Like CP2104, CP2108 have GPIO pins with configurable options. Therefore, in cp2108_gpio_init() function,
Should be mask all pins which are not in GPIO mode.

Signed-off-by: Pho Tran <<redacted><mailto:<redacted>>>
---
drivers/usb/serial/cp210x.c | 199 +++++++++++++++++++++++++++++++-----
1 file changed, 172 insertions(+), 27 deletions(-)
You sent this patch twice, and I'm afraid both have been white-space
corrupted (e.g. by your mailer).

Try sending the patch to yourself first and make sure you can apply it
using git-am (and run checkpatch.pl on it without any obvious errors).

Johan
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help