HID: mcp2200: added driver for GPIOs of MCP2200
authorJohannes Roith <johannes@gnu-linux.rocks>
Thu, 21 Sep 2023 16:49:28 +0000 (18:49 +0200)
committerJiri Kosina <jkosina@suse.cz>
Tue, 21 Nov 2023 08:27:18 +0000 (09:27 +0100)
commit740329d7120f8608ead64b0f3417c02ca1d6b32f
tree6a497b56385c0bd2cdb6f7fe550cfcd8ab00ccdf
parent4ea4ed22b57846facd9cb4af5f67cb7bd2792cf3
HID: mcp2200: added driver for GPIOs of MCP2200

Added a gpiochip compatible driver to control the 8 GPIOs of
the MCP2200 by using the HID interface.

Using GPIOs with alternative functions (GP0<->SSPND, GP1<->USBCFG,
GP6<->RXLED, GP7<->TXLED) will reset the functions, if set (unset by
default).

The driver was tested while also using the UART of the chip. Setting
and reading the GPIOs has no effect on the UART communication. However,
a reset is triggered after the CONFIGURE command. If the GPIO Direction
is constantly changed, this will affect the communication at low baud
rates. This is a hardware problem of the MCP2200 and is not caused by
the driver.

Signed-off-by: Johannes Roith <johannes@gnu-linux.rocks>
Reviewed-by: Rahul Rameshbabu <sergeantsagara@protonmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/Kconfig
drivers/hid/Makefile
drivers/hid/hid-ids.h
drivers/hid/hid-mcp2200.c [new file with mode: 0644]