X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=board%2Fdavinci%2Fdvevm%2Fdvevm.c;h=5dd081c27532df823ee4374b14126f944428815b;hb=a9d39ebe91ecdd5ac0a0cf56ea162a19773db8da;hp=abf60b35b085a032c1a4d98c50a97ef9c5498f1f;hpb=a142896934c755e679ba87e227a8e449f39b0012;p=platform%2Fkernel%2Fu-boot.git diff --git a/board/davinci/dvevm/dvevm.c b/board/davinci/dvevm/dvevm.c index abf60b3..5dd081c 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 +