summaryrefslogtreecommitdiff
path: root/board/davinci/dvevm/dvevm.c
diff options
context:
space:
mode:
authorThomas Abraham <t-abraham@ti.com>2009-01-04 09:41:09 +0530
committerRemy Bohmer <linux@bohmer.net>2009-01-28 19:57:30 +0100
commita9d39ebe91ecdd5ac0a0cf56ea162a19773db8da (patch)
treee6845eea25572ec267fe76fce934eaecd94b9f8e /board/davinci/dvevm/dvevm.c
parenta142896934c755e679ba87e227a8e449f39b0012 (diff)
usb : musb : Adding USB VBUS enable functionality for DM644x DVEVM
Adding USB VBUS enable functionality for DM644x DVEVM (TI DaVinci) platform. Signed-off-by: Ravi Babu <ravibabu@ti.com> Signed-off-by: Swaminathan S <swami.iyer@ti.com> Signed-off-by: Thomas Abraham <t-abraham@ti.com> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Remy Bohmer <linux@bohmer.net>
Diffstat (limited to 'board/davinci/dvevm/dvevm.c')
-rw-r--r--board/davinci/dvevm/dvevm.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/board/davinci/dvevm/dvevm.c b/board/davinci/dvevm/dvevm.c
index abf60b35b0..5dd081c275 100644
--- a/board/davinci/dvevm/dvevm.c
+++ b/board/davinci/dvevm/dvevm.c
@@ -101,3 +101,26 @@ int misc_init_r(void)
return(0);
}
+
+#ifdef CONFIG_USB_DAVINCI
+
+/* IO Expander I2C address and USB VBUS enable mask */
+#define IOEXP_I2C_ADDR 0x3A
+#define IOEXP_VBUSEN_MASK 1
+
+/*
+ * This function enables USB VBUS by writting to IO expander using I2C.
+ * Note that the I2C is already initialized at this stage. This
+ * function is used by davinci specific USB wrapper code.
+ */
+void enable_vbus(void)
+{
+ uchar data; /* IO Expander data to enable VBUS */
+
+ /* Write to IO expander to enable VBUS */
+ i2c_read(IOEXP_I2C_ADDR, 0, 0, &data, 1);
+ data &= ~IOEXP_VBUSEN_MASK;
+ i2c_write(IOEXP_I2C_ADDR, 0, 0, &data, 1);
+}
+#endif
+