]> git.karo-electronics.de Git - karo-tx-linux.git/commit
i2c-i801: Support SMBus multiplexing on Asus Z8 series
authorJean Delvare <khali@linux-fr.org>
Tue, 2 Oct 2012 00:00:56 +0000 (10:00 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 2 Oct 2012 00:00:56 +0000 (10:00 +1000)
commit85e696f5199ed25861721e1ac04390746ef2249a
treed4879d3a91b14dce9d7c9cf5987135bad0510da5
parentbf9068e64436a6ed597d419dc2aa357c78e2dea7
i2c-i801: Support SMBus multiplexing on Asus Z8 series

Add support for SMBus multiplexing on Asus Z8 motherboard series. On
these boards, the memory slots are behind a GPIO-controlled I2C
multiplexer. Models with 6 or 12 memory slots have 2 segments behind
the multiplexer, while models with 18 memory slots have 3 such
segments.

On these boards, only the memory slots are behind the multiplexer,
so it is possible to keep the autodetection mechanism.

The code is generic enough so it could work on other boards as long as
the multiplexer is controlled by GPIO pins. For other forms of
multiplexing (for example using an I2C device) additional code will be
needed.

Thanks to Asus for providing a board to develop and test this feature,
as well as all the technical information required.

At the moment, the GPIO driver must be loaded before the i2c-i801
driver, but I hope to solve this soon, using deferred probing on
the i2c-mux-gpio side.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
drivers/i2c/busses/Kconfig
drivers/i2c/busses/i2c-i801.c