]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
ARM: omap3evm: enable VBUS switch for EHCI tranceiver
authorZumeng Chen <zumeng.chen@windriver.com>
Wed, 20 Jun 2012 09:14:51 +0000 (17:14 +0800)
committerTony Lindgren <tony@atomide.com>
Fri, 6 Jul 2012 08:34:26 +0000 (01:34 -0700)
This was chosen by following the trace on the schematic from component U131
and U134 to the CPEN pin on the USB3320 device.

TWL4030.GPIO2-...->(T2_GPIO2_3V3)U131-..>nUSB2_EN-..>U134-..>EXP_nUSB2_1V8
which starts EHCI tranceiver USB3320.

This will set TWL4030.GPIO2 as output pin to drive EHCI tranceiver.

Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/board-omap3evm.c

index 1bfbe42bbedde8146f069f6b6c8674fea876c955..0fd4ae2fbb20458a8638024343a66ba1fb36f22a 100644 (file)
@@ -360,6 +360,17 @@ static int omap3evm_twl_gpio_setup(struct device *dev,
 
        platform_device_register(&leds_gpio);
 
+       /* Enable VBUS switch by setting TWL4030.GPIO2DIR as output
+        * for starting USB tranceiver
+        */
+       if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) {
+               u8 val;
+
+               twl_i2c_read_u8(TWL4030_MODULE_GPIO, &val, REG_GPIODATADIR1);
+               val |= 0x04; /* TWL4030.GPIO2DIR BIT at GPIODATADIR1(0x9B) */
+               twl_i2c_write_u8(TWL4030_MODULE_GPIO, val, REG_GPIODATADIR1);
+       }
+
        return 0;
 }