From patchwork Mon Aug 20 19:59:33 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [U-Boot,0/3] Tegra 2 USB ULPI series From: Lucas Stach X-Patchwork-Id: 178924 Message-Id: <1345492773.6188.5.camel@selen> To: Stephen Warren Cc: u-boot@lists.denx.de, Tom Warren Date: Mon, 20 Aug 2012 21:59:33 +0200 Am Montag, den 20.08.2012, 12:09 -0600 schrieb Stephen Warren: > On 08/19/2012 10:08 AM, Lucas Stach wrote: > > With this series we are able to initialize USB controllers > > using an external ULPI phy AKA USB2 on Tegra 2 devices. > > > > This was tested to work on a Toradex Colibri T20 board, > > where USB2 is used to access the ASIX ethernet chipset. > > Testing was done with "tegra20: usb: rework set_host_mode" > > applied. I did not spot any regressions on the UTMI ports. > > > > Patchset is based on top of u-boot-tegra/next > > Hmmm. I tried testing this on my local branch on Harmony, which has all > the patches necessary for multiple USB ports to work, and indeed they do > on Seaboard. However, this series (plus some Harmony-specific config and > .dts changes) didn't cause the ULPI port to work:-( Any idea why? > Could you try the attached hack and report back? If it doesn't help please build with DEBUG defined in arch/arm/cpu/armv7/tegra20/usb.c drivers/usb/host/ehci-hcd.c and provide me the output of the usb start command. Thanks, Lucas diff --git a/arch/arm/cpu/armv7/tegra20/usb.c b/arch/arm/cpu/armv7/tegra20/usb.c index 2ae1244..4c85685 100644 --- a/arch/arm/cpu/armv7/tegra20/usb.c +++ b/arch/arm/cpu/armv7/tegra20/usb.c @@ -367,7 +367,7 @@ static int init_ulpi_usb_controller(struct fdt_usb *config, } ulpi_write(&ulpi_vp, &ulpi_reg->iface_ctrl_set, ULPI_IFACE_PASSTHRU); - ulpi_write(&ulpi_vp, &ulpi_reg->otg_ctrl_set, ULPI_OTG_EXTVBUSIND); + ulpi_write(&ulpi_vp, &ulpi_reg->otg_ctrl_set, ULPI_OTG_DRVVBUS|ULPI_OTG_DRVVBUS_EXT|ULPI_OTG_EXTVBUSIND); /* enable wakeup events */ setbits_le32(&usbctlr->port_sc1, WKCN | WKDS | WKOC);