[OLPC-devel] Re: [One Laptop Per Child] #53: LinuxBIOS sometimes hangs after "Jumping to LinuxBIOS"

Zarro Boogs per Child bugtracker at laptop.org
Fri Sep 8 01:10:11 EDT 2006


#53: LinuxBIOS sometimes hangs after "Jumping to LinuxBIOS"
-------------------------------+--------------------------------------------
 Reporter:  wmb at firmworks.com  |        Owner:  mfoster   
     Type:  defect             |       Status:  new       
 Priority:  blocker            |    Milestone:  rev1 alpha
Component:  linuxbios          |   Resolution:            
 Keywords:                     |  
-------------------------------+--------------------------------------------
Changes (by tsylla):

  * owner:  rminnich => mfoster

Comment:

 I got Jordan's part number, and luckily, google got me to a datasheet for
 it. The part number is HYB25D256163CE-4.0, with a datasheet here:

 http://www.infineon.com/upload/Document/cmc_upload/documents/012/0395/HYB25D256163CE_Rev1.11.pdf#search=%22HYB25d256163CE-4.0%22

 The first funny thing I noticed is that this is *graphics* DDR. I can only
 speculate, but my guess is that is cheaper DRAM that didn't qualify to run
 at the faster CAS latencies of "normal" DDR.

 The CAS latency is the problem. Quanta's original recommended DDR timings
 included setting CAS2. From the datasheet, the -4 parts are only rated for
 CAS3 at 250MHz. OLPC is currently running at 222MHz, so the CAS latency is
 still probably too quick for the DRAM devices. (I would bet it would get
 very much worse if olpc were running DDR at 266) The PSC and Hynix devices
 from the early boards were either rated for CAS2 from the start, or at
 least can tolerate CAS2. I cannot check for sure, since I do not have
 datasheets for those devices. (does anyone have them?)

 On Jordan's board, byte lanes 0 and 1 were bad. Writing all FFs, followed
 by all 00s, would result in byte lanes 0 and 1 retaining the FFs. Ron was
 able to reproduce this, and we found that byte lanes 1, 2, and 3 were bad
 on his platform. Ron ran quite a few boot cycles at CAS2.5, and the board
 always booted past the Jumping to.. point. With CAS2, he was able to re-
 create the failure several times.

 On the last occurrence of the failure, we did an experiment that pretty
 clearly shows that this is CAS related. We first verified that bytes lanes
 1, 2, and 3 were behaving funny. Then I helped him re-program the MC to
 CAS2.5. After that, memory started working properly again.

 The worst part about this is that GX cannot run at CAS3. That setting does
 not exist in GX's registers. This means there is no "safe" way to run the
 infineon devices. You can run CAS2.5, and it will probably be pretty good,
 but it still really isn't meeting the Infineon datasheet spec. The olpc
 higher-ups will have to decide the correct path to address this.

 Assigning to Mark, to figure out why Quanta made this substitution. It
 doesn't seem valid. Also, it would be a good idea for someone to re-verify
 Quanta's recommended DDR timing values (those in LinuxBIOS). This issue
 sort of brings all of those settings into question. The settings need to
 be verified for all of the DRAM parts that have been loaded on olpc
 platforms.

-- 
Ticket URL: <http://dev.laptop.org/ticket/53#comment:26>
One Laptop Per Child <http://laptop.org/>



More information about the Devel mailing list