u-boot-brain/drivers/i2c
Simon Glass 3d1957f0ea 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>
2015-08-05 21:06:10 -06:00
..
muxes dm: i2c: Add support for multiplexed I2C buses 2015-08-05 21:06:10 -06:00
adi_i2c.c dm: i2c: Make API accessible even without CONFIG_DM 2015-02-12 10:35:33 -07:00
davinci_i2c.c i2c, davinci: convert driver to new mutlibus/mutliadapter framework 2014-04-17 17:24:38 -04:00
davinci_i2c.h i2c, davinci: convert driver to new mutlibus/mutliadapter framework 2014-04-17 17:24:38 -04:00
designware_i2c.c i2c: designware: Convert driver to multibus/multiadapter framework 2014-10-29 08:56:23 +01:00
designware_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
fsl_i2c.c linux/kernel.h: sync min, max, min3, max3 macros with Linux 2014-11-23 06:48:30 -05:00
fti2c010.c i2c: fti2c010: fix compiler warning on paddr[] 2014-01-13 08:18:38 +01:00
fti2c010.h drivers/i2c: Update fti2c010.[ch], i2c_core.c to use SPDX identifiers 2013-07-25 08:51:42 -04:00
i2c_core.c i2c: Correct spelling error 2014-12-08 07:27:22 +01:00
i2c-emul-uclass.c dm: i2c: Add I2C emulation driver for sandbox 2014-12-11 13:18:42 -07:00
i2c-gpio.c dm: i2c-gpio: Remove redundant dm_gpio_set_value() call 2015-05-05 20:58:41 -06:00
i2c-uclass-compat.c dm: i2c: Add compatibility functions for dm_i2c_reg_read/write() 2015-06-10 19:26:54 -06:00
i2c-uclass.c dm: i2c: Add a function to transfer messages 2015-08-05 20:57:51 -06:00
i2c-uniphier-f.c ARM: UniPhier: replace <asm/io.h> with <linux/io.h> 2015-05-31 02:53:56 +09:00
i2c-uniphier.c ARM: UniPhier: replace <asm/io.h> with <linux/io.h> 2015-05-31 02:53:56 +09:00
ihs_i2c.c cosmetic: replace MIN, MAX with min, max 2014-09-24 18:30:29 -04:00
Kconfig dm: i2c: Add support for multiplexed I2C buses 2015-08-05 21:06:10 -06:00
kona_i2c.c dm: i2c: Make API accessible even without CONFIG_DM 2015-02-12 10:35:33 -07:00
lpc32xx_i2c.c lpc32xx: i2c: add LPC32xx I2C interface support 2015-04-10 14:23:07 +02:00
Makefile dm: i2c: Add support for multiplexed I2C buses 2015-08-05 21:06:10 -06:00
mv_i2c.c mv_i2c: fix warnings on 64-bit builds 2015-03-18 09:13:17 +01:00
mv_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mvtwsi.c i2c: mvtwsi: Support for up to 4 different controllers 2015-04-15 16:33:17 +02:00
mxc_i2c.c i2c: fix vf610 support 2015-07-10 10:10:48 +02:00
mxs_i2c.c i2c: mxs: Add support for I2C 1 on i.MX28 2014-10-29 08:56:07 +01:00
omap24xx_i2c.c cosmetic: change Author/MAINTAINER Name from Petermaier to Schmelzer 2015-05-28 11:17:48 -04:00
omap24xx_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pca9564_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ppc4xx_i2c.c ppc4xx: Handle i2c stuck on combined xfer 2014-11-10 06:44:30 +01:00
rcar_i2c.c i2c: rcar_i2c: Fix order of restart and clear status 2014-11-10 06:47:37 +01:00
s3c24x0_i2c.c exynos: i2c: Correct bug in pinmux selection 2015-07-10 21:13:48 +09:00
s3c24x0_i2c.h i2c: s3c24xx: add hsi2c controller support 2013-10-17 07:20:26 +02:00
sandbox_i2c.c sandbox: i2c: search child emul dev and check its uclass id 2015-05-14 19:58:34 -06:00
sh_i2c.c i2c: sh_i2c: bugfix: i2c probe command does not work 2014-04-14 17:41:48 +09:00
sh_sh7734_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
soft_i2c.c ARM: IXP: Remove the IXP architecture support 2014-02-06 02:51:52 +01:00
tegra_i2c.c i2c: tegra: Build warning fixes for 64-bit 2015-07-27 15:53:57 -07:00
tsi108_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u8500_i2c.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
u8500_i2c.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
zynq_i2c.c i2c: zynq: Fixed compilation errors when using DEBUG 2014-05-08 07:03:37 +02:00