i2c: mux: Add i2c-arb-gpio-challenge 'mux' driver
authorDoug Anderson <dianders@chromium.org>
Tue, 16 Apr 2013 06:29:00 +0000 (06:29 +0000)
committerWolfram Sang <wsa@the-dreams.de>
Wed, 17 Apr 2013 09:31:03 +0000 (11:31 +0200)
commitb81dfaa01f7057dde4a6356740c023db4e2ce83b
tree52f3884bbfb112210c08003df5f4a048ece8e9be
parentd877a721e2a6afea3dfdd494b7d463137b6e6c6b
i2c: mux: Add i2c-arb-gpio-challenge 'mux' driver

The i2c-arb-gpio-challenge driver implements an I2C arbitration scheme
where masters need to claim the bus with a GPIO before they can start
a transaction.  This should generally only be used when standard I2C
multimaster isn't appropriate for some reason (errata/bugs).

This driver is based on code that Simon Glass added to the i2c-s3c2410
driver in the Chrome OS kernel 3.4 tree.  The current incarnation as a
mux driver is as suggested by Grant Likely.  See
<https://patchwork.kernel.org/patch/1877311/> for some history.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt [new file with mode: 0644]
drivers/i2c/muxes/Kconfig
drivers/i2c/muxes/Makefile
drivers/i2c/muxes/i2c-arb-gpio-challenge.c [new file with mode: 0644]