Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src



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.




Home | Main Index | Thread Index | Old Index