linux/drivers/i2c/busses
Philby John 8574faf9a5 i2c: davinci: bus recovery procedure to clear the bus
Come out of i2c time out condition by following the
bus recovery procedure outlined in the i2c protocol v3 spec.
The kernel must be robust enough to gracefully recover
from i2c bus failure without having to reset the machine.
This is done by first NACKing the slave, pulsing the SCL
line 9 times and then sending the stop command.

This patch has been tested on a DM6446 and DM355

Signed-off-by: Philby John <pjohn@in.mvista.com>
Signed-off-by: Srinivasan, Nageswari <nageswari@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
2010-08-05 09:38:32 -07:00
..
i2c-acorn.c [ARM] acorn,ebsa110,footbridge,integrator,sa1100: Convert asm/io.h to linux/io.h 2009-03-25 10:21:35 +00:00
i2c-ali15x3.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-ali1535.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-ali1563.c i2c: Make PCI device ids constant 2010-03-02 12:23:37 +01:00
i2c-amd756-s4882.c i2c: Use snprintf to set adapter names 2009-01-07 14:29:18 +01:00
i2c-amd756.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-amd8111.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-at91.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-au1550.c i2c: Use resource_size macro 2009-06-16 22:42:16 +01:00
i2c-bfin-twi.c i2c-bfin-twi: return completion in interrupt for smbus quick transfers 2010-05-20 00:18:58 +01:00
i2c-cpm.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
i2c-davinci.c i2c: davinci: bus recovery procedure to clear the bus 2010-08-05 09:38:32 -07:00
i2c-designware.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-elektor.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-gpio.c i2c-gpio: Move initialization code to subsys_initcall() 2010-05-21 18:40:58 +02:00
i2c-highlander.c i2c-highlander: remover superflous variable 2010-05-20 00:19:01 +01:00
i2c-hydra.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-i801.c hwmon: Fix autoloading of fschmd on recent Fujitsu machines 2010-07-09 16:22:51 +02:00
i2c-ibm_iic.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
i2c-ibm_iic.h i2c-ibm_iic: Whitespace cleanup 2008-01-27 18:14:45 +01:00
i2c-imx.c i2c-imx: fix error handling 2010-04-20 01:16:57 +01:00
i2c-iop3xx.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-iop3xx.h
i2c-isch.c i2c: convert i2c-isch to platform_device 2010-03-07 22:17:36 +01:00
i2c-ixp2000.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-mpc.c Merge remote branch 'origin' into secretlab/next-devicetree 2010-05-22 00:36:56 -06:00
i2c-mv64xxx.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-nforce2-s4985.c i2c: Fix oops on bus multiplexer driver loading 2008-08-10 22:56:15 +02:00
i2c-nforce2.c i2c-nforce2: Remove redundant error messages on ACPI conflict 2010-05-21 18:41:01 +02:00
i2c-nomadik.c i2c-nomadik: fix operator precedence warning 2010-05-20 00:19:00 +01:00
i2c-ocores.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-octeon.c I2C: Fix section mismatch errors in i2c-octeon.c 2010-04-30 20:52:52 +01:00
i2c-omap.c OMAP3: I2C: Clean up Errata 1p153 handling 2010-05-20 00:19:00 +01:00
i2c-parport-light.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-parport.c i2c-parport: Make template structure const 2010-05-21 18:40:57 +02:00
i2c-parport.h i2c-parport: Add SMBus alert support 2010-03-02 12:23:44 +01:00
i2c-pasemi.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-pca-isa.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-pca-platform.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-piix4.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-pmcmsp.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-pnx.c i2c-pnx: Add stop conditions for end of transfer 2010-04-20 01:16:57 +01:00
i2c-powermac.c i2c-powermac: Be less verbose in the absence of real errors. 2010-03-13 20:56:52 +01:00
i2c-pxa.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-s3c2410.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-s6000.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-s6000.h i2c: xtensa s6000 i2c driver 2009-04-07 10:23:34 +01:00
i2c-scmi.c i2c-scmi: Provide module aliases for automatic loading 2010-03-24 14:38:39 +01:00
i2c-sh7760.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-sh_mobile.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-sibyte.c i2c/mips: Fix error return codes from Sibyte i2c bus driver 2010-07-10 09:42:47 +02:00
i2c-simtec.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-sis96x.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-sis630.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-sis5595.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-stu300.c i2c-stu300: off by one issue 2010-04-20 01:17:13 +01:00
i2c-stub.c i2c-stub: Expose the default functionality flags 2010-05-21 18:40:56 +02:00
i2c-taos-evm.c i2c-taos-evm: Switch echo off to improve performance 2009-09-18 22:45:43 +02:00
i2c-tiny-usb.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
i2c-versatile.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-via.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-viapro.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
i2c-xiic.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig i2c/busses: Move two drivers to embedded section 2010-06-03 11:33:56 +02:00
Makefile i2c/busses: Move two drivers to embedded section 2010-06-03 11:33:56 +02:00
scx200_acb.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00
scx200_i2c.c i2c: Use <linux/io.h> instead of <asm/io.h> 2010-05-21 18:41:01 +02:00