summaryrefslogtreecommitdiff
path: root/drivers/i2c/muxes/Kconfig
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-08-03 08:19:21 -0600
committerSimon Glass <sjg@chromium.org>2015-08-05 21:06:10 -0600
commit3d1957f0ea0133ec06f9c6fd85dc1acdf66ad29c (patch)
tree9c049a7b6eac29145dc8e6ffdbfdda92387e010b /drivers/i2c/muxes/Kconfig
parentdf358c6beca8f7cc2f2b67c54f0bf255ebd5cc22 (diff)
downloadu-boot-imx-3d1957f0ea0133ec06f9c6fd85dc1acdf66ad29c.zip
u-boot-imx-3d1957f0ea0133ec06f9c6fd85dc1acdf66ad29c.tar.gz
u-boot-imx-3d1957f0ea0133ec06f9c6fd85dc1acdf66ad29c.tar.bz2
dm: i2c: Add support for multiplexed I2C buses
Add a new I2C_MUX uclass. Devices in this class can multiplex between several I2C buses, selecting them one at a time for use by the system. The multiplexing mechanism is left to the driver to decide - it may be controlled by GPIOs, for example. The uclass supports only two methods: select() and deselect(). The current mux state is expected to be stored in the mux itself since it is the only thing that knows how to make things work. The mux can record the current state and then avoid switching unless it is necessary. So select() can be skipped if the mux is already in the correct state. Also deselect() can be made a nop if required. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/i2c/muxes/Kconfig')
-rw-r--r--drivers/i2c/muxes/Kconfig8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
new file mode 100644
index 0000000..a05b32d
--- /dev/null
+++ b/drivers/i2c/muxes/Kconfig
@@ -0,0 +1,8 @@
+config I2C_MUX
+ bool "Suport I2C multiplexers"
+ depends on DM_I2C
+ help
+ This enables I2C buses to be multiplexed, so that you can select
+ one of several buses using some sort of control mechanism. The
+ bus select is handled automatically when that bus is accessed,
+ using a suitable I2C MUX driver.