u-boot/drivers/i2c
Peng Fan a430556ecb i2c: muxes: add i2c gpio multiplexer driver
Add an i2c mux driver providing access to i2c bus segments using a
hardware MUX sitting on a master bus and controlled through gpio pins.

E.G. something like:

         ----------              ----------  Bus segment 1   - - - - -
        |          | SCL/SDA    |          |-------------- |           |
        |          |------------|          |
        |          |            |          | Bus segment 2 |           |
        |  Linux   | GPIO 1..N  |   MUX    |---------------   Devices
        |          |------------|          |               |           |
        |          |            |          | Bus segment M
        |          |            |          |---------------|           |
         ----------              ----------                  - - - - -

SCL/SDA of the master I2C bus is multiplexed to bus segment 1..M
according to the settings of the GPIO pins 1..N.

Note commit log from kernel
commit 92ed1a76("i2c: Add generic I2C multiplexer using GPIO API")

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Peng Fan <peng.fan@nxp.com> (i.MX6QP-Sabreauto)
Cc: Heiko Schocher <hs@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Simon Glass <sjg@chromium.org>
2017-08-23 07:04:56 +02:00
..
muxes i2c: muxes: add i2c gpio multiplexer driver 2017-08-23 07:04:56 +02:00
adi_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
ast_i2c.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
ast_i2c.h aspeed: Add I2C Driver 2017-05-08 11:57:34 -04:00
at91_i2c.c i2c: at91: Add missing probe function to device driver 2017-08-09 06:13:53 +02:00
at91_i2c.h i2c: atmel: add i2c driver 2016-08-15 22:12:00 +02:00
cros_ec_ldo.c i2c: Drop redundant platform data setting in drivers 2016-08-12 06:41:41 +02:00
cros_ec_tunnel.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
davinci_i2c.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06: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: Allow sending restart conditions 2017-08-10 12:02:50 +02:00
designware_i2c.h i2c: designware_i2c: Add ic_enable_status to ic_regs struct 2016-04-25 07:31:04 +02:00
exynos_hs_i2c.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
fsl_i2c.c i2c: Drop CONFIG_SYS_I2C_BOARD_LATE_INIT 2017-05-15 06:18:51 +02:00
fti2c010.c i2c: Drop CONFIG_SYS_I2C_BOARD_LATE_INIT 2017-05-15 06:18:51 +02:00
fti2c010.h drivers/i2c: Update fti2c010.[ch], i2c_core.c to use SPDX identifiers 2013-07-25 08:51:42 -04:00
i2c-cdns.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06: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: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
i2c-uclass-compat.c i2c: i2c-uclass-compat: avoid any BSS usage 2016-08-08 13:33:00 -04:00
i2c-uclass.c dm: i2c: Convert uclass to livetree 2017-06-01 07:03:12 -06:00
i2c-uniphier-f.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
i2c-uniphier.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
i2c_core.c powerpc, 8xx: remove support for 8xx 2017-06-12 08:37:55 -04:00
ihs_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
imx_lpi2c.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
intel_i2c.c x86: i2c: Fix cast of address to 32-bit value 2016-10-11 11:55:33 +08:00
Kconfig i2c: add i2c driver for stm32 2017-08-23 07:04:40 +02:00
kona_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
lpc32xx_i2c.c i2c: lpc32xx: Force consistent bus numbering 2017-03-28 06:27:20 +02:00
Makefile i2c: add i2c driver for stm32 2017-08-23 07:04:40 +02:00
mv_i2c.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
mv_i2c.h i2c: mv_i2c.c: Enable runtime speed selection (standard vs fast mode) 2016-09-26 10:42:37 +02:00
mvtwsi.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
mxc_i2c.c imx: reorganize IMX code as other SOCs 2017-07-12 10:17:44 +02:00
mxs_i2c.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
omap24xx_i2c.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
omap24xx_i2c.h i2c: ti: Update SCLH and SCLL to be in sync with v4.9 Linux kernel 2017-03-28 06:27:33 +02:00
rcar_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
rk_i2c.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
s3c24x0_i2c.c samsung: Drop more references fo s3c24x0 2017-06-05 11:02:31 -04:00
s3c24x0_i2c.h samsung: i2c: Split the high-speed I2C code into a new driver 2016-12-05 13:27:54 +01:00
sandbox_i2c.c dm: sandbox: i2c: Drop fdtdec.h header 2017-06-01 07:03:16 -06:00
sh_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
sh_sh7734_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
soft_i2c.c powerpc: Remove 8260 remainders 2017-07-23 09:24:47 -04:00
stm32f7_i2c.c i2c: add i2c driver for stm32 2017-08-23 07:04:40 +02:00
tegra186_bpmp_i2c.c dm: core: Replace of_offset with accessor 2017-02-08 06:12:14 -07:00
tegra_i2c.c dm: tegra: i2c: Convert to livetree 2017-07-28 12:02:47 -06:00
tsi108_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
zynq_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00