All of lore.kernel.org
 help / color / mirror / Atom feed
From: valentin.longchamp@keymile.com (Valentin Longchamp)
To: linux-arm-kernel@lists.infradead.org
Subject: [ehci-orion] ETIMEOUT with ehci_setup()'s ehci_halt()
Date: Tue, 16 Jun 2015 11:06:33 +0200	[thread overview]
Message-ID: <557FE719.8040609@keymile.com> (raw)
In-Reply-To: <557AC490.5040405@keymile.com>

On 06/12/2015 01:37 PM, Valentin Longchamp wrote:
> On 06/08/2015 01:46 PM, Valentin Longchamp wrote:
>> On 06/06/2015 02:17 PM, Sebastian Hesselbarth wrote:
>>> On 05.06.2015 17:19, Andrew Lunn wrote:
>>>> On Fri, Jun 05, 2015 at 04:34:54PM +0200, Valentin Longchamp wrote:
>>>>> I am currently bringing up the USB 2.0 Host controller of the Bobcat's (98DX4122
>>>>> Marvell switch) internal kirkwood CPU on a variation of Keymile's km_kirwood
>>>>> hardware (kirkwood-km_kirkwood.dts).
>>>>>
>>>>> When the driver registers its hcd, it fails with a timemout as it can be seen in
>>>>> the below log:
>>>>>
>>>>>> root at kmcoge5un:~# dmesg -n 8
>>>>>> root at kmcoge5un:~# insmod ehci-orion.ko
>>>>>> ehci-orion: EHCI orion driver
>>>>>> Initializing Orion-SoC USB Host Controller
>>>>>> orion-ehci f1050000.ehci: EHCI Host Controller
>>>>>> orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
>>>>>> orion-ehci f1050000.ehci: reset hcs_params 0x10011 dbg=0 ind cc=0 pcc=0 ordered ports=1
>>>>>> orion-ehci f1050000.ehci: reset hcc_params 0006 thresh 0 uframes 256/512/1024 park
>>>>>> orion-ehci f1050000.ehci: park 0
>>>>>> orion-ehci f1050000.ehci: reset command 0080002 (park)=0 ithresh=8 period=1024 Reset HALT
>>>>>> orion-ehci f1050000.ehci: can't setup
>>>>>> orion-ehci f1050000.ehci: USB bus 1 deregistered
>>>>>> orion-ehci f1050000.ehci: init f1050000.ehci fail, -110
>>>>>> orion-ehci: probe of f1050000.ehci failed with error -110
>>>>>
>>>>> This is very similar to this problem, except that it always happens:
>>>>> https://lkml.org/lkml/2012/6/4/381
>>>>>
>>>>> I have cornered it out to the last handshake() call of the ehci_halt() call,
>>>>> that should set the controller in the HALT state. If I comment this handshake()
>>>>> call out, the registration is fine and the controller then looks OK (I don't
>>>>> have a hardware with a real USB bus to further test it yet).
>>>
>>> Valentin,
>>>
>>> can you specify what "real USB bus" means? Does your current hardware
>>> support USB host or device with anything connected to it?
>>
>> No. The current hardware I am testing on does not support USB since the USB bus
>> is not "wired" at all, there is no phy present (this maybe causes a problem ?).
>> What I test is if the ehci-orion USB host driver is able to register with and
>> configure the USB host controller present in the SoC, in order to prepare things
>> for when the hardware is available.
>>
>> Hopefully I get some new hardware prototypes where the USB bus is complete this
>> week so that I can test on the real setup.
>>
> 
> We have now received the hardware prototype and the behavior is exactly the
> same: ETIMEOUT in ehci_halt(). If the last handshake() call is removed, the EHCI
> host controller is correctly initialized and the device on the bus is detected
> and works correctly.
> 
> I thus tend to think that this is an IP (or Bobcat) internal problem and is not
> really related with the hardware nor a PHY.
> 

One final update on this topic: the kernel config was missing the
CONFIG_USB_EHCI_ROOT_HUB_TT option. It turns out that the USB IP embeded a
Transaction Translator and there is a check in ehci_halt() that aborts the
routine in case of a Transaction Translator in the ehci controller. The check
however only works in the above option is enabled.

Thanks for the support

Valentin

  reply	other threads:[~2015-06-16  9:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05 14:34 [ehci-orion] ETIMEOUT with ehci_setup()'s ehci_halt() Valentin Longchamp
2015-06-05 15:19 ` Andrew Lunn
2015-06-06 12:17   ` Sebastian Hesselbarth
2015-06-08 11:46     ` Valentin Longchamp
2015-06-12 11:37       ` Valentin Longchamp
2015-06-16  9:06         ` Valentin Longchamp [this message]
2015-06-18  1:29           ` Andrew Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=557FE719.8040609@keymile.com \
    --to=valentin.longchamp@keymile.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.