aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-mcp2221.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-04-16HID: mcp2221: add GPIO functionality supportRishi Gupta1-0/+169
MCP2221 has 4 pins that can be used as GPIO or configured for alternate functionality such as clock generation and IRQ detection. This patch adds support for GPIO functionality. To set direction of a pin or to toggle its state after it has been configured as GPIO, driver sends command to mcp2221 and parses response received from mcp2221. Based on this response either 0 or appropriate error code is returned to GPIO framework. To get the direction or current state of a pin, driver sends command and read response from the device. Based on the response received from device direction or value is sent to the GPIO framework. Command from driver to mcp2221 device are output report. Response received from mcp2221 is input report. Datasheet (page 45-48) contains details about how to decode the response received from device: http://ww1.microchip.com/downloads/en/DeviceDoc/20005565B.pdf Signed-off-by: Rishi Gupta <gupt21@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2020-03-10HID: mcp2221: add usb to i2c-smbus host bridgeRishi Gupta1-0/+742
MCP2221 is a USB HID to I2C/SMbus host bridge device. This commit implements i2c and smbus host adapter support. 7-bit address and i2c multi-message transaction is also supported. Signed-off-by: Rishi Gupta <gupt21@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>