public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] PPC 440GX ECC SDRAM configuration from U-Boot
@ 2005-05-27  0:33 Chris Love
  2005-05-27 12:17 ` Jerry Van Baren
  0 siblings, 1 reply; 3+ messages in thread
From: Chris Love @ 2005-05-27  0:33 UTC (permalink / raw)
  To: u-boot

We have U-Boot (& Linux) running on a custom board featuring a PPC
440GX.  For now we've been happy enough to get SDRAM configured and
working (no SPD eeproms), but eventually have to tackle the issue of
enabling ECC.

Per the application note from AMCC this will involve writing the entire
memory array with valid or dummy data (with ECC enabled but not
checking).  With code executing from flash, the time to iterate through
all of memory and zero it out is pretty substantial.  The complete setup
process involves changing other SDRAM configuration registers at various
steps, implying that SDRAM is getting enabled and disabled (precluding
doing this on the fly after U-Boot has relocated).

One thought here is to copy a SDRAM zeroing routine into internal SRAM
(above the initial stack and global data) and execute from there.

Has anyone else tried to tackle ECC for the 440GX, and is this a
reasonable approach to try?  Any other suggestions for someone
relatively new to the land of PPC assembly code?

Thanks in advance,

	Chris
--
Chris Love           // Continuous Computing
chris.love at ccpu.com // http://www.ccpu.com

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [U-Boot-Users] PPC 440GX ECC SDRAM configuration from U-Boot
@ 2005-05-27  9:20 Barbier, Renaud
  0 siblings, 0 replies; 3+ messages in thread
From: Barbier, Renaud @ 2005-05-27  9:20 UTC (permalink / raw)
  To: u-boot

I too have ECC and have not solved complexly the problem.
So far it takes about 6-7s to initialize 512MB. Hence, 12-14s for 1GB.
The method I use is two lines of assembly code in the loop. My theory is that should run from the pipeline.


program_myecc:
    mtctr r3
    lis r7, 0xeeee
    ori r7, r7, 0xeeee
    lis r4, 0
    ori r4, r4, 0
zeroLoop:
    stwu r7, 8(r4)
    bdnz zeroLoop
    blr


This is a 32-bit store with update.

However, this is still not the fastest you can get.


Under vxWorks, I allocated (malloc) a big amount of memory (384MB) and bzero it.
I calculated it should take less than 2s to burn 512MB.
In this case vxWorks uses both the I and D cache. 




-----Original Message-----
From: u-boot-users-admin@lists.sourceforge.net
[mailto:u-boot-users-admin at lists.sourceforge.net]On Behalf Of Chris Love
Sent: Friday, May 27, 2005 1:34 AM
To: u-boot-users at lists.sourceforge.net
Cc: Chris Love
Subject: [U-Boot-Users] PPC 440GX ECC SDRAM configuration from U-Boot


We have U-Boot (& Linux) running on a custom board featuring a PPC
440GX.  For now we've been happy enough to get SDRAM configured and
working (no SPD eeproms), but eventually have to tackle the issue of
enabling ECC.

Per the application note from AMCC this will involve writing the entire
memory array with valid or dummy data (with ECC enabled but not
checking).  With code executing from flash, the time to iterate through
all of memory and zero it out is pretty substantial.  The complete setup
process involves changing other SDRAM configuration registers at various
steps, implying that SDRAM is getting enabled and disabled (precluding
doing this on the fly after U-Boot has relocated).

One thought here is to copy a SDRAM zeroing routine into internal SRAM
(above the initial stack and global data) and execute from there.

Has anyone else tried to tackle ECC for the 440GX, and is this a
reasonable approach to try?  Any other suggestions for someone
relatively new to the land of PPC assembly code?

Thanks in advance,

	Chris
--
Chris Love           // Continuous Computing
chris.love at ccpu.com // http://www.ccpu.com


-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=fad-ysdn-ostg-q22005
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-05-27 12:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-27  0:33 [U-Boot-Users] PPC 440GX ECC SDRAM configuration from U-Boot Chris Love
2005-05-27 12:17 ` Jerry Van Baren
  -- strict thread matches above, loose matches on Subject: below --
2005-05-27  9:20 Barbier, Renaud

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox