public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] Don't get any interrupts once I boot into Linux
Date: Sun, 16 Sep 2012 11:28:10 +0200	[thread overview]
Message-ID: <50559BAA.8060903@denx.de> (raw)
In-Reply-To: <600726759.4405833.1347639224412.JavaMail.root@advansee.com>

On 14/09/2012 18:13, Beno?t Th?baudeau wrote:
> Hi Stefano,
> 

Hi Beno?t,

> On Friday, September 14, 2012 6:06:16 PM, Beno?t Th?baudeau wrote:
>> Hi Fabio, Greg,
>>
>> On Friday, September 14, 2012 5:15:17 PM, Fabio Estevam wrote:
>>> On Fri, Sep 14, 2012 at 12:04 PM, Greg Topmiller
>>> <Greg.Topmiller@jdsu.com> wrote:
>>>> I downloaded the V2012.07 version of u-boot from the git.denx.de
>>>> repository and built it for our target.  U-boot boots up properly
>>>> and I can use the commands but now when I boot into Linux I don't
>>>> seem to be getting interrupts.  The Linux kernel hangs in the
>>>> calculate_delay function waiting for ticks != jiffies.  I do not
>>>> get the interrupt for the timer.  I have verified that our
>>>> previous u-boot that is based on the 2009.12 version with
>>>> Freescale patches does work.  The timer interrupt occurs and
>>>> jiffies is incremented allowing the loop to exit.  Any help would
>>>> be appreciated.
>>>>
>>>
>>> Which board are you using?
>>
>> Same here with a custom i.MX51-based board and a FSL-based Linux. It
>> works fine
>> with the FSL-based U-Boot (2009.12).
>>
>> Some debugging has shown that:
>>  - The Linux timer is based on GPT.
>>  - The GPT counter runs fine at 8 Mincrements/s as expected.
>>  - The interrupt handler is never called.
>>  - The interrupt is based on output compare, but forcing the OC value
>>  a little
>>    bit after the counter value does not trigger the interrupt
>>    handler.
>>  - Resetting the GPT and clearing its registers prior to Linux timer
>>  init does
>>    not help.
>>  - There does not seem to be any wait or sleep modes involved.
>>  - In this loop, CPSR shows supervisor mode with FIQ disabled and IRQ
>>  enabled
>>    (same for both U-Boot versions).
>>  - This version of Linux does not set VBAR. Neither does the older
>>  U-Boot
>>    contrary to the latest, but setting VBAR to 0 like with the older
>>    U-Boot does
>>    not help.
>>
>> The differences in system registers between these U-Boots are really
>> small and
>> seem insignificant. The GPT clock source used by these versions is
>> different,
>> but that should not be an issue with proper reinitialization in
>> Linux.
>>
>> The i.MX51 errata don't mention any issue like that, at least for
>> GPT.
>> ENGcm09114 is similar, but in a very different context.
>>
>> The next step is to dig into the interrupt controller settings and
>> vectors to
>> check that Linux sets up everything properly. This issue is very
>> likely caused
>> by this FSL Linux that unduly relies on the bootloader to initialize
>> something.
> 
> As the maintainer of mx51evk, have you tested that it works fine with U-Boot
> 2012.07 with both mainline Linux and FSL's Linux?

I do not test with FSL Linux, sorry. Users should test themselves and
report if they have problems - FSL's kernel is an ancient version
respect kernel.org.

We discussed also in the past if u-boot should anyway support very old
versions of the kernel. My simply position was that if patches do not
hurt the current development, they can be integrated.

This issue was already seen for MX53 in the past, see the following
Fabio's commit:

commit 54cd1dee8f9537c2e3d5bfe2029bf31b2b1cf2f3
Author: Fabio Estevam <fabio.estevam@freescale.com>
Date:   Tue May 8 03:40:49 2012 +0000

    mx53loco: Add CONFIG_REVISION_TAG

    FSL 2.6.35 kernel assumes that the bootloader passes the
CONFIG_REVISION_TAG information.

    The kernel uses this data to distinguish between Dialog versus
mc34708 based boards,
    and also to distinguish between revA and revB of the mc34708 based
boards.

    Suggested-by: Yu Li <yk@magniel.com>
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

  reply	other threads:[~2012-09-16  9:28 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-14 15:04 [U-Boot] Don't get any interrupts once I boot into Linux Greg Topmiller
2012-09-14 15:15 ` Fabio Estevam
2012-09-14 16:06   ` Benoît Thébaudeau
2012-09-14 16:13     ` Benoît Thébaudeau
2012-09-16  9:28       ` Stefano Babic [this message]
     [not found]     ` <CEF1C43EC1BF464090308EB428E1360001B708@AMEXMB02.ds.jdsu.net>
2012-09-14 16:37       ` Benoît Thébaudeau
2012-09-14 17:17       ` [U-Boot] FW: " Greg Topmiller
     [not found] <CEF1C43EC1BF464090308EB428E1360001B736@AMEXMB02.ds.jdsu.net>
2012-09-14 17:32 ` [U-Boot] " Benoît Thébaudeau
     [not found] <CEF1C43EC1BF464090308EB428E1360001B790@AMEXMB02.ds.jdsu.net>
2012-09-14 19:53 ` Benoît Thébaudeau
2012-09-14 21:28   ` Fabio Estevam
2012-09-14 21:38     ` Benoît Thébaudeau

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=50559BAA.8060903@denx.de \
    --to=sbabic@denx.de \
    --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