summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2002-12-29 19:51:03 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2002-12-29 19:51:03 -0800
commit700b988cebc10f3d3faa22d440995da7b05b6d6c (patch)
tree292731bea59b427695b7b01056a9125536e065a8 /include/linux
parent84fed9daa3606f2409e480e04096e856a5792649 (diff)
[PATCH] i2c updates
a few new ids, a name change and 10 lines of new code, ported over from the external i2c package.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/i2c-algo-bit.h7
-rw-r--r--include/linux/i2c-id.h12
-rw-r--r--include/linux/i2c.h4
3 files changed, 19 insertions, 4 deletions
diff --git a/include/linux/i2c-algo-bit.h b/include/linux/i2c-algo-bit.h
index 9598d2cbf718..fea550f163d9 100644
--- a/include/linux/i2c-algo-bit.h
+++ b/include/linux/i2c-algo-bit.h
@@ -42,9 +42,10 @@ struct i2c_algo_bit_data {
int (*getscl) (void *data);
/* local settings */
- int udelay;
- int mdelay;
- int timeout;
+ int udelay; /* half-clock-cycle time in microsecs */
+ /* i.e. clock is (500 / udelay) KHz */
+ int mdelay; /* in millisecs, unused */
+ int timeout; /* in jiffies */
};
#define I2C_BIT_ADAP_MAX 16
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h
index 2b6394004ea1..0061776f0402 100644
--- a/include/linux/i2c-id.h
+++ b/include/linux/i2c-id.h
@@ -145,6 +145,8 @@
#define I2C_DRIVERID_LM92 1033
#define I2C_DRIVERID_VT8231 1034
#define I2C_DRIVERID_SMARTBATT 1035
+#define I2C_DRIVERID_BMCSENSORS 1036
+#define I2C_DRIVERID_FS451 1037
/*
* ---- Adapter types ----------------------------------------------------
@@ -164,6 +166,8 @@
#define I2C_ALGO_IIC 0x080000 /* ITE IIC bus */
#define I2C_ALGO_SAA7134 0x090000
#define I2C_ALGO_MPC824X 0x0a0000 /* Motorola 8240 / 8245 */
+#define I2C_ALGO_IPMI 0x0b0000 /* IPMI dummy adapter */
+#define I2C_ALGO_IPMB 0x0c0000 /* IPMB adapter */
#define I2C_ALGO_EC 0x100000 /* ACPI embedded controller */
#define I2C_ALGO_MPC8XX 0x110000 /* MPC8xx PowerPC I2C algorithm */
@@ -196,6 +200,7 @@
#define I2C_HW_B_VOO 0x0b /* 3dfx Voodoo 3 / Banshee */
#define I2C_HW_B_PPORT 0x0c /* Primitive parallel port adapter */
#define I2C_HW_B_SAVG 0x0d /* Savage 4 */
+#define I2C_HW_B_SCX200 0x0e /* Nat'l Semi SCx200 I2C */
#define I2C_HW_B_RIVA 0x10 /* Riva based graphics cards */
#define I2C_HW_B_IOC 0x11 /* IOC bit-wiggling */
#define I2C_HW_B_TSUNA 0x12 /* DEC Tsunami chipset */
@@ -234,8 +239,15 @@
#define I2C_HW_SMBUS_SIS630 0x08
#define I2C_HW_SMBUS_SIS645 0x09
#define I2C_HW_SMBUS_AMD8111 0x0a
+#define I2C_HW_SMBUS_SCX200 0x0b
/* --- ISA pseudo-adapter */
#define I2C_HW_ISA 0x00
+/* --- IPMI pseudo-adapter */
+#define I2C_HW_IPMI 0x00
+
+/* --- IPMB adapter */
+#define I2C_HW_IPMB 0x00
+
#endif /* I2C_ID_H */
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index d343349836e2..765a95af3a4e 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -367,6 +367,8 @@ struct i2c_msg {
#define I2C_M_RD 0x01
#define I2C_M_NOSTART 0x4000
#define I2C_M_REV_DIR_ADDR 0x2000
+#define I2C_M_IGNORE_NAK 0x1000
+#define I2C_M_NO_RD_ACK 0x0800
short len; /* msg length */
char *buf; /* pointer to msg data */
};
@@ -375,7 +377,7 @@ struct i2c_msg {
#define I2C_FUNC_I2C 0x00000001
#define I2C_FUNC_10BIT_ADDR 0x00000002
-#define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_{REV_DIR_ADDR,NOSTART} */
+#define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_{REV_DIR_ADDR,NOSTART,..} */
#define I2C_FUNC_SMBUS_HWPEC_CALC 0x00000008 /* SMBus 2.0 */
#define I2C_FUNC_SMBUS_READ_WORD_DATA_PEC 0x00000800 /* SMBus 2.0 */
#define I2C_FUNC_SMBUS_WRITE_WORD_DATA_PEC 0x00001000 /* SMBus 2.0 */