summaryrefslogtreecommitdiff
path: root/drivers/i2c/busses/i2c-mxs.c
diff options
context:
space:
mode:
authorRobby Cai <R63905@freescale.com>2010-03-10 21:26:30 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:17:19 +0200
commitb077910bb4171e53db9aed24c030f3a64529a118 (patch)
treeafeba7e6a9da5bfb1f9010cf22e6fcec9b913782 /drivers/i2c/busses/i2c-mxs.c
parent2c6f882f8e6b80f6f5e54d6105b03ae124cbb476 (diff)
ENGR00121273-1 [MX23] Porting I2C driver to new MSL
Adjust the i2c adapter driver for MX23 and MX28 Signed-off-by: Robby Cai <R63905@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers/i2c/busses/i2c-mxs.c')
-rw-r--r--drivers/i2c/busses/i2c-mxs.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
index 705512b342e2..e3235ff8e551 100644
--- a/drivers/i2c/busses/i2c-mxs.c
+++ b/drivers/i2c/busses/i2c-mxs.c
@@ -33,6 +33,7 @@
#include <mach/device.h>
#include <mach/regs-i2c.h>
#include <mach/system.h>
+#include <mach/hardware.h>
#include "i2c-mxs.h"
@@ -53,6 +54,18 @@ static u8 *i2c_buf_virt;
#define CMD_I2C_READ (BM_I2C_CTRL0_SEND_NAK_ON_LAST | \
BM_I2C_CTRL0_MASTER_MODE)
+/* Hack for platform which does not support PioQueue Mode */
+#if !defined(HW_I2C_QUEUECMD) || \
+ !defined(HW_I2C_QUEUEDATA) || \
+ !defined(HW_I2C_QUEUECTRL_CLR) || \
+ !defined(HW_I2C_QUEUECTRL_SET)
+#warning "Pio Queue Mode *NOT* Support!"
+#define HW_I2C_QUEUECMD HW_I2C_VERSION
+#define HW_I2C_QUEUEDATA HW_I2C_VERSION
+#define HW_I2C_QUEUECTRL_SET HW_I2C_VERSION
+#define HW_I2C_QUEUECTRL_CLR HW_I2C_VERSION
+#endif
+
static void hw_i2c_dmachan_reset(struct mxs_i2c_dev *dev)
{
mxs_dma_reset(dev->dma_chan);