[U-Boot] [PATCH] axs103: add support of generic OHCI USB 1.1 controller

Marek Vasut marex at denx.de
Thu Dec 17 05:01:16 CET 2015


On Wednesday, December 16, 2015 at 08:54:11 PM, Alexey Brodkin wrote:
> Hi Marek,

Hi!

> On Wed, 2015-12-16 at 17:52 +0100, Marek Vasut wrote:
> > On Wednesday, December 16, 2015 at 05:05:15 PM, Alexey Brodkin wrote:
> > > This commit adds support of USB 1.1 storage media on AXS103 board.
> > > For some yet unknown reason USB 2.0 doesn't work on AXS103 board
> > > issuing messages like this:
> > > ------------------------>8-------------------
> > > AXS# usb start
> > > starting USB...
> > > USB0:   USB EHCI 1.00
> > > scanning bus 0 for devices... EHCI timed out on TD - token=0x80008c80
> > > unable to get device descriptor (error=-1)
> > > 1 USB Device(s) found
> > > ------------------------>8-------------------
> > 
> > Try defining CONFIG_EHCI_IS_TDI , that _might_ help.
> 
> Thanks for that tip but it made no difference to me.
> I need to look deeper into that problem.

I remember seeing that stuff multiple times before, but it might be a different 
issue. It was usually triggered by some sort of corruption during the transfer.
On ARM, that was often caused by cache issues.

> Just a bit of a context here.
> I'm playing with ARC SP board which consists of 2 parts:
>  [1] Baseboard with all peripherals and their connectors
>  [2] Daughterboard with CPU and DDR
> 
> Baseboard is connected to CPU-board via AXI tunnel.
> 
> And when CPU-board is the one with ASIC based on ARC770
> that runs at 700 MHz I see USB 2.0 working perfectly fine.
> 
> But if I use CPU-board that sports FPGA with ARC HS38 CPU
> running at 75 MHz I see the first asynchronous tarnsaction
> on US 2.0 never happens.

Connect signaltap or chipscope ? :)

> In particular in ehci_submit_async() after we enable async. schedule
> setting CMD_ASE command STS_ASS gets set but then token's status
> stays active forever i.e. following is always true:
> --------------------->8---------------------
> QT_TOKEN_GET_STATUS(token) & QT_TOKEN_STATUS_ACTIVE
> --------------------->8---------------------
> 
> Note USB host controller, phy and usb dongle are exactly the same.
> And USB 1.1 (OHCI) works perfectly fine at the same time.

Try adding #define DEBUG at the first line of common/usb.c , so we can get some 
more debugging info. Also adding the same into common/usb_hub.c helps.

> Any ideas what could be wrong?
> 
> -Alexey

Best regards,
Marek Vasut


More information about the U-Boot mailing list