patch-2.3.43 linux/Documentation/i2c/i2c-protocol

Next file: linux/Documentation/ia64/README
Previous file: linux/Documentation/filesystems/bfs.txt
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.42/linux/Documentation/i2c/i2c-protocol linux/Documentation/i2c/i2c-protocol
@@ -44,3 +44,25 @@
 a byte read, followed by a byte write:
   S Addr Rd [A] [Data] NA S Addr Wr [A] Data [A] P
+Modified transactions
+We have found some I2C devices that needs the following modifications:
+  Flag I2C_M_NOSTART: 
+    In a combined transaction, no 'S Addr' is generated at some point.
+    For example, setting I2C_M_NOSTART on the second partial message
+    generateds something like:
+      S Addr Rd [A] [Data] NA Wr [A] Data [A] P
+    If you set the I2C_M_NOSTART variable for the first partial message,
+    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 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
+    flag. For example:
+      S Addr Rd [A] Data [A] Data [A] ... [A] Data [A] P

TCL-scripts by Sam Shen (who was at: