public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH REPOST] ARM: rpi_b: power on SDHCI and USB HW modules
Date: Mon, 09 Dec 2013 13:16:45 -0700	[thread overview]
Message-ID: <52A6252D.2070702@wwwdotorg.org> (raw)
In-Reply-To: <20131209195258.GA4884@localhost>

On 12/09/2013 12:52 PM, Andre Heider wrote:
> On Fri, Dec 06, 2013 at 09:50:24PM -0700, Stephen Warren wrote:
>> On 12/06/2013 06:37 AM, Andre Heider wrote:
>>> Hi Stephen,
>>>
>>> On Tue, Dec 03, 2013 at 09:01:55PM -0700, Stephen Warren wrote:
>>>> Send RPC commands to the VideoCore to turn on the SDHCI and USB modules.
>>>> For SDHCI this isn't needed in practice, since the firmware already
>>>> turned on the power in order to load U-Boot. However, it's best to be
>>>> explicit. For USB, this is necessary, since the module isn't powered
>>>> otherwise. This will allow the kernel USB driver to work.
>>>
>>> I didn't test this patch yet, but from skimming over it it looks similar to
>>> what I tried with barebox a while back.
>>>
>>> What I did notice with the "set power" mbox call is that it takes way longer
>>> than 100ms (the current mbox call timeout) to finish on a cold boot. You
>>> don't seem to bump the timeout here, and with 100ms I always hit it and
>>> hence the mbox call failed for me. Don't you get these huge delays?
>>
>> I have firmware commit b38194c "kernel: Bump version to 3.10.19", and
>> I'm seeing a valid non-error response to both the SD and USB set_power
>> requests, with no timeouts.
> 
> This patch indeed works and does not trigger the timeout, but after a
> bit of digging and cross checking it seems that's because the used
> timeout is using the wrong unit ;)
> 
> get_timer() returns mS, while arch/arm/cpu/arm1176/bcm2835/mbox.c uses:
> #define TIMEOUT (100 * 1000) /* 100mS in uS */
> 
> Hacking the mbox call to run into that timeout confirms its waiting 100s
> instead of 100mS.
> 
> And fixing this to:
> #define TIMEOUT (100) /* 100mS */
> 
> then triggers the timeout I was seeing with barebox.

So, is the issue simply that this message needs longer than 100mS to
execute? If so, do you know exactly how long? Perhaps we should just set
the timeout to e.g. 1s rather than fixing it to the originally-intended
100ms?

> While I ported your
> mbox driver over I didn't notice this, I just went by the comment and used
> 100mS there ;)
> 
> Regards,
> Andre

  reply	other threads:[~2013-12-09 20:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-04  4:01 [U-Boot] [PATCH REPOST] ARM: rpi_b: power on SDHCI and USB HW modules Stephen Warren
2013-12-05 17:50 ` Stephen Warren
2013-12-06 13:37 ` Andre Heider
2013-12-06 19:19   ` Stephen Warren
2013-12-07  4:50   ` Stephen Warren
2013-12-09 19:52     ` Andre Heider
2013-12-09 20:16       ` Stephen Warren [this message]
2013-12-09 20:35         ` Andre Heider

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=52A6252D.2070702@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=u-boot@lists.denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox