summaryrefslogtreecommitdiffstats
path: root/Documentation/i2c/i2c-protocol
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-30 10:03:46 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-30 10:03:46 -0700
commit42fe55ce905212542426fa6407a76534a5fb696a (patch)
tree874c5984e4222ea253b78c5be4755b3d31da54e2 /Documentation/i2c/i2c-protocol
parent19ce0a995ff230b364c7329fd488c70e91c171d9 (diff)
parent14674e70119ea01549ce593d8901a797f8a90f74 (diff)
downloadblackbird-op-linux-42fe55ce905212542426fa6407a76534a5fb696a.tar.gz
blackbird-op-linux-42fe55ce905212542426fa6407a76534a5fb696a.zip
Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
Pull i2c updates from Jean Delvare. * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING i2c-dev: Add support for I2C_M_RECV_LEN
Diffstat (limited to 'Documentation/i2c/i2c-protocol')
-rw-r--r--Documentation/i2c/i2c-protocol9
1 files changed, 8 insertions, 1 deletions
diff --git a/Documentation/i2c/i2c-protocol b/Documentation/i2c/i2c-protocol
index 10518dd58814..0b3e62d1f77a 100644
--- a/Documentation/i2c/i2c-protocol
+++ b/Documentation/i2c/i2c-protocol
@@ -49,7 +49,9 @@ a byte read, followed by a byte write:
Modified transactions
=====================
-We have found some I2C devices that needs the following modifications:
+The following modifications to the I2C protocol can also be generated,
+with the exception of I2C_M_NOSTART these are usually only needed to
+work around device issues:
Flag I2C_M_NOSTART:
In a combined transaction, no 'S Addr Wr/Rd [A]' is generated at some
@@ -60,6 +62,11 @@ We have found some I2C devices that needs the following modifications:
we do not generate Addr, but we do generate the startbit S. This will
probably confuse all other clients on your bus, so don't try this.
+ This is often used to gather transmits from multiple data buffers in
+ system memory into something that appears as a single transfer to the
+ I2C device but may also be used between direction changes by some
+ rare devices.
+
Flags I2C_M_REV_DIR_ADDR
This toggles the Rd/Wr flag. That is, if you want to do a write, but
need to emit an Rd instead of a Wr, or vice versa, you set this
OpenPOWER on IntegriCloud