u-boot-brain/drivers/i2c
Heiko Schocher ba6fb2f6ac dm: i2c-gpio: add support for clock stretching
This adds support for clock stretching to the i2c-gpio driver. This is
accomplished by switching the GPIO used for the SCL line to an input
when it should be driven high, and polling on the SCL line value until
it goes high (indicating that the I2C slave is no longer pulling it
low).

This is enabled by default; for gpios which cannot be configured as
inputs, the i2c-gpio,scl-output-only property can be used to fall back
to the previous behavior.

Signed-off-by: Michael Auchter <michael.auchter@ni.com>
Cc: Heiko Schocher <hs@denx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
2020-03-16 07:55:06 +01:00
..
muxes dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
ast_i2c.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
ast_i2c.h i2c: ast_i2c: Update to use standard enums for speed 2020-01-27 07:22:41 +01:00
at91_i2c.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
at91_i2c.h i2c: atmel: add i2c driver 2016-08-15 22:12:00 +02:00
cros_ec_ldo.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cros_ec_tunnel.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
davinci_i2c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
davinci_i2c.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
designware_i2c_pci.c i2c: designware_i2c: Add spike supression 2020-01-27 07:22:01 +01:00
designware_i2c.c i2c: designware_i2c: Correct the selection of speed mode 2020-02-18 08:16:45 +01:00
designware_i2c.h i2c: designware_i2c: Separate out the speed calculation 2020-01-27 07:24:44 +01:00
exynos_hs_i2c.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
fsl_i2c.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
i2c_core.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
i2c-cdns.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
i2c-emul-uclass.c dm: sandbox: i2c: Add a new 'emulation parent' uclass 2018-11-29 09:30:05 -07:00
i2c-gpio.c dm: i2c-gpio: add support for clock stretching 2020-03-16 07:55:06 +01:00
i2c-uclass.c i2c: Add option to send start condition after deblocking 2020-03-16 07:46:21 +01:00
i2c-uniphier-f.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
i2c-uniphier.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
i2c-versatile.c i2c: Add support for the Arm's Versatile Express I2C controller. 2018-10-03 06:08:06 +02:00
ihs_i2c.c i2c: ihs: Improve error handling 2019-05-21 07:52:34 +02:00
imx_lpi2c.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
intel_i2c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Kconfig i2c: remove i2c driver-model compatibility layer 2019-07-29 17:58:52 -04:00
kona_i2c.c i2c: kona_i2c: Update to use standard enums for speed 2020-01-27 07:23:10 +01:00
lpc32xx_i2c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
Makefile i2c: designware: Tidy up PCI support 2019-12-15 11:44:08 +08:00
meson_i2c.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
mv_i2c.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
mv_i2c.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mvtwsi.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
mxc_i2c.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
omap24xx_i2c.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
omap24xx_i2c.h i2c: omap: Update to use standard enums for speed 2020-01-27 07:23:26 +01:00
rcar_i2c.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
rcar_iic.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
rk_i2c.c rockchip: i2c: don't sent stop bit after each message 2019-11-23 22:29:49 +08:00
s3c24x0_i2c.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
s3c24x0_i2c.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sandbox_i2c.c i2c: Update drivers to use enum for speed 2020-01-27 07:24:02 +01:00
sh_i2c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
soft_i2c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
stm32f7_i2c.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
tegra_i2c.c sandbox conversion to SDL2 2020-02-11 10:58:41 -05:00
tegra186_bpmp_i2c.c i2c: tegra: Fix regression by implementing a dummy probe_chip() callback 2018-12-12 06:06:14 +01:00
xilinx_xiic.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00