All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Radensky <felix@embedded-sol.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Hangs at relocation on 460EX Target
Date: Thu, 23 Oct 2008 08:27:27 +0200	[thread overview]
Message-ID: <4900194F.6040408@embedded-sol.com> (raw)
In-Reply-To: <200810230602.31027.sr@denx.de>

Hi,

I had the same problem with u-boot-1.3.4 on custom 460EX board with
registered SODIMM. The SPD code in 4xx_spd_ddr2.c (program_copt1())
checks two  SPD fields to decide whether DIMM is registered: DDRII DIMM
type (offset 20) and SDRAM module attributes (offset 21).

In my case, the values in these fields do not match what code is looking 
for.
See http://www.micron.com/products/spddetail.aspx?part=MT9HTF6472RHY-667F1
I had to modify the following peice in program_copt1() to make it work:

            if (dimm_num == 0) {
                if (dimm_populated[dimm_num] == SDRAM_DDR1) /* DDR1 type */
                    mcopt1 |= SDRAM_MCOPT1_DDR1_TYPE;
                if (dimm_populated[dimm_num] == SDRAM_DDR2) /* DDR2 type */
                    mcopt1 |= SDRAM_MCOPT1_DDR2_TYPE;
                if (registered == 1) { /* DDR2 always buffered */
                    /* TODO: what about above  comments ? */
                    mcopt1 |= SDRAM_MCOPT1_RDEN;
                    buf0 = TRUE;
                } else {
                    /* TODO: the mask 0x02 doesn't match Samsung def for 
byte 21. */
                    if ((attribute & 0x02) == 0x00) {
                        /* buffered not supported */
                        buf0 = FALSE;
                    } else {
                        mcopt1 |= SDRAM_MCOPT1_RDEN;
                        buf0 = TRUE;
                    }
                }
            }

I've changed

if ((attribute & 0x02) == 0x00)

to be

if (((attribute & 0x02) == 0x00) && (attribute != 0x04))

I'm not sure this is generic enough to go into mainline, but if yes,
I can try to submit a patch.

Felix.

Stefan Roese wrote:
> On Thursday 23 October 2008, Ayman M. El-Khashab wrote:
>   
>> On Wed, Oct 22, 2008 at 07:12:30AM +0200, Stefan Roese wrote:
>>     
>>> Yes, there have been issues with the "old" autocalibration code on some
>>> boards. That's one reason that AMCC provided a new version just a few
>>> weeks ago:
>>>       
>> Thanks Stefan,  I've got the hardware mostly working now.
>>     
>
> Great, congrats.
>
>   
>> The new 
>> calibration code did work once I got past another issue.  I'll try to
>> describe it here b/c It *might* be a bug, but I wasn't 100% sure.
>>
>> First, I am using registered ecc dimms which appears to be handled in
>> cpu/ppc4xx/44x_spd_ddr2.c
>>     
>
> I personally have never used a registered DIMM on the 4xx systems. And I don't 
> know of any systems that do. So it could be that this is still untested and 
> buggy.
>
>   
>> However, what I found by observing the registers 
>> with the abatron was that the SDRAM_MCOPT1_RDEN was not set for the
>> registered DIMM. Following the code, it looks like it should have been set
>> if "registered" was set, but it does not appear that it worked correctly. 
>> So of course we were off by 1/2.  I forced the bit in the mcopt1 variable
>> and that fixed all the problems.
>>     
>
> Good.
>
>   
>> Any thoughts or is there something I can try/contribute?
>>     
>
> Best would be if you could provide a proper patch to fix this problem. Please 
> see here:
>
> http://www.denx.de/wiki/view/U-Boot/Patches
>
> how this is done correctly.
>
> Best regards,
> Stefan
>
> =====================================================================
> DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
> =====================================================================
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>   

  reply	other threads:[~2008-10-23  6:27 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-21 15:37 [U-Boot] Hangs at relocation on 460EX Target Ayman M. El-Khashab
2008-10-21 15:54 ` Stefan Roese
2008-10-21 16:20   ` Ayman M. El-Khashab
2008-10-21 19:10     ` Wolfgang Denk
2008-10-21 21:59       ` Ayman M. El-Khashab
2008-10-22  5:12         ` Stefan Roese
2008-10-23  0:59           ` Ayman M. El-Khashab
2008-10-23  4:02             ` Stefan Roese
2008-10-23  6:27               ` Felix Radensky [this message]
2008-10-23  7:15                 ` Stefan Roese
2008-10-23  7:31                   ` Felix Radensky
2008-10-23  8:39                     ` Stefan Roese
2008-10-27 14:34                       ` Ayman M. El-Khashab

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=4900194F.6040408@embedded-sol.com \
    --to=felix@embedded-sol.com \
    --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 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.