u-boot/drivers/i2c
Moritz Fischer 08c11aaefb i2c: i2c-cdns: Implement workaround for hold quirk of the rev 1.0
Revision 1.0 of this IP has a quirk where if during a long read transfer
the transfer_size register will go to 0, the master will send a NACK to
the slave prematurely.
The way to work around this is to reprogram the transfer_size register
mid-transfer when the only the receive fifo is known full, i.e. the I2C
bus is known non-active.
The workaround is based on the implementation in the linux-kernel.

Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: u-boot@lists.denx.de
2017-01-18 06:38:20 +01:00
..
muxes i2c: mux: Allow muxes to work as children of i2c bus without i2c-parent 2017-01-18 06:37:57 +01:00
adi_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
at91_i2c.c i2c: at91_i2c: Change error return -ENODEV to -EINVAL 2016-10-28 18:37:14 +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 cros_ec: Honor the google,remote-bus dt property 2016-10-08 09:33:36 -04:00
davinci_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01: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: Avoid overwriting the cmd_data register 2016-10-24 18:15:47 +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 samsung: i2c: Split the high-speed I2C code into a new driver 2016-12-05 13:27:54 +01:00
fsl_i2c.c fdt: allow fdtdec_get_addr_size_*() to translate addresses 2016-08-12 09:20:27 -06:00
fti2c010.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +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-cdns.c i2c: i2c-cdns: Implement workaround for hold quirk of the rev 1.0 2017-01-18 06:38:20 +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 i2c: i2c-uclass-compat: avoid any BSS usage 2016-08-08 13:33:00 -04:00
i2c-uclass.c dm: Use dm_scan_fdt_dev() directly where possible 2016-07-27 14:15:54 -06:00
i2c-uniphier-f.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
i2c-uniphier.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
i2c_core.c drivers: i2c: mxc: Add early init 2016-06-10 13:44:58 -07:00
ihs_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
intel_i2c.c x86: i2c: Fix cast of address to 32-bit value 2016-10-11 11:55:33 +08:00
Kconfig i2c: Kconfig: Add SYS_I2C_MXC entry 2016-12-16 17:15:27 +01: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 dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
Makefile samsung: i2c: Split the high-speed I2C code into a new driver 2016-12-05 13:27:54 +01:00
mv_i2c.c i2c: mv_i2c.c: Correct address endianness 2016-12-19 09:32:00 +01: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 sunxi: Rename CONFIG_SUNXI to CONFIG_ARCH_SUNXI 2016-10-30 11:38:04 +01:00
mxc_i2c.c i2c: mxc: Make 'no gpio pinctrl state' print as debug 2016-12-16 17:15:27 +01: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 drivers: i2c: omap24xx_i2c: adopt omap_i2c driver to driver model 2016-07-26 08:40:09 +02: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 dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
ppc4xx_i2c.c dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01: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 rockchip: i2c: fix >32 byte writes 2016-09-13 06:57:27 +02:00
s3c24x0_i2c.c samsung: i2c: Split the high-speed I2C code into a new driver 2016-12-05 13:27:54 +01: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: Convert users from dm_scan_fdt_node() to dm_scan_fdt_dev() 2016-07-27 14:15:07 -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 dm: i2c: Add a note to I2C drivers which need conversion 2016-12-05 13:28:03 +01:00
tegra186_bpmp_i2c.c ARM: tegra: remove stale nvidia, bpmp I2C DT property 2016-08-25 13:48:11 -07:00
tegra_i2c.c i2c: tegra: only use new clock/reset APIs 2016-09-27 09:11:03 -07: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