Module Name: src Committed By: thorpej Date: Mon Jan 17 16:31:24 UTC 2022
Modified Files: src/distrib/sets/lists/man: mi src/share/man/man4: Makefile src/sys/arch/evbarm/conf: RPI src/sys/dev/i2c: files.i2c src/sys/dev/spi: files.spi Added Files: src/share/man/man4: mcpgpio.4 src/sys/dev/i2c: mcp23xxxgpio_i2c.c src/sys/dev/ic: mcp23xxxgpio.c mcp23xxxgpioreg.h mcp23xxxgpiovar.h src/sys/dev/spi: mcp23xxxgpio_spi.c Removed Files: src/share/man/man4: mcp23s17gpio.4 src/sys/dev/spi: mcp23s17.c mcp23s17.h Log Message: Re-factor and overhaul the "mcp23s17gpio" driver as "mcpgpio", and add support for 8-bit and I2C variants of the chip: - MCP23008 / MCP23S08: 8-bit (I2C / SPI) - MCP23017 / MCP23S17: 16-bit (I2C / SPI) - MCP23018 / MCP23S18: 16-bit (I2C / SPI), open-drain outputs The MCP23x17 and MCP23x18 are essentially identical, software-wise; we merely report different GPIO pin capabilities (no push-pull output for MCP23x18). Also, remove the tri-state capability that was previously advertised by the old version of this driver; these chips have no way to put the pin into a HI-Z mode. All 3 I2C versions are supported, but the SPI front-end still only supports the MCP23S17 for now (SPI autoconfiguration needs an overhaul). mcp23s17gpio(4) remains present as a link to the new mcpgpio(4) man page. XXX Still to-do: FDT integration, interrupt suppoort. To generate a diff of this commit: cvs rdiff -u -r1.1731 -r1.1732 src/distrib/sets/lists/man/mi cvs rdiff -u -r1.721 -r1.722 src/share/man/man4/Makefile cvs rdiff -u -r1.2 -r0 src/share/man/man4/mcp23s17gpio.4 cvs rdiff -u -r0 -r1.1 src/share/man/man4/mcpgpio.4 cvs rdiff -u -r1.94 -r1.95 src/sys/arch/evbarm/conf/RPI cvs rdiff -u -r1.121 -r1.122 src/sys/dev/i2c/files.i2c cvs rdiff -u -r0 -r1.1 src/sys/dev/i2c/mcp23xxxgpio_i2c.c cvs rdiff -u -r0 -r1.1 src/sys/dev/ic/mcp23xxxgpio.c \ src/sys/dev/ic/mcp23xxxgpioreg.h src/sys/dev/ic/mcp23xxxgpiovar.h cvs rdiff -u -r1.8 -r1.9 src/sys/dev/spi/files.spi cvs rdiff -u -r1.4 -r0 src/sys/dev/spi/mcp23s17.c cvs rdiff -u -r1.1 -r0 src/sys/dev/spi/mcp23s17.h cvs rdiff -u -r0 -r1.1 src/sys/dev/spi/mcp23xxxgpio_spi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.