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
- Lines: 26
- Date:
Wed Feb 9 18:48:03 2000
- Orig file:
v2.3.42/linux/Documentation/i2c/i2c-protocol
- Orig date:
Mon Dec 20 18:48:21 1999
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.
+
+ 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
+ flag. For example:
+ S Addr Rd [A] Data [A] Data [A] ... [A] Data [A] P
+
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)