12.07.2015 Views

Intel(R) 80219 General Purpose PCI Processor Evaluation Platform ...

Intel(R) 80219 General Purpose PCI Processor Evaluation Platform ...

Intel(R) 80219 General Purpose PCI Processor Evaluation Platform ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Intel</strong>® IQ<strong>80219</strong> <strong>General</strong> <strong>Purpose</strong> <strong>PCI</strong> <strong>Processor</strong> <strong>Evaluation</strong> <strong>Platform</strong>Software Reference5.4.6 Redboot <strong>Intel</strong> ® IQ<strong>80219</strong> DDR Memory Initialization SequenceIn order to set the correct ECC bits, a DDR memory system (DIMM or discrete components) must bewritten to with a known value. This process requires 64-bit writes to the entire DDR memory intendedfor use. The following explains the sequence for memory initialization by Redboot on an IQ80321board with an ECC DIMM. It also includes an example for the scrub (ECC initialization) code.Initialization Sequence:1. Disable interrupts. (Technically they are disabled at reset, but for soft reset this is included.2. Init PBIU (Peripheral Bus Interface Unit) chip selects.3. Enable I cache.4. Move Flash to 0xF0000000.5. Set TTB and Enable MMU.6. Read DIM for memory parameters.7. Set Memory Drive Strengths.8. Set Memory Parameters.9. Delay.10. Turn DDRAM on.11. Delay.12. Enable Data Cache.13. Enable BTB.14. Flush all.15. Clear ECC error logs.16. Battery Test.17. Enable ECC.18. Scrub loop: Write zeros to all memory locationsmov r8, r4 // save DRAM sizemov r0, #-1mov r1, #-1mov r2, #-1mov r3, #-1mov r4, #-1mov r5, #-1mov r6, #-1mov r7, #-1ldrr11, = SDRAM_BASE0:// scrub Loopstmia r11!, {r0-r7}subs r12, r12, #32bne 082 Board Manual

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!