[LinuxBIOS] RAM detection for Intel 430FX
popkonserve
popkonserve at gmx.de
Fri Aug 10 00:09:36 CEST 2007
hi,
as promised the ram init routine for the intel 430fx chipset. completely
untested yet, but seems to compile without errors (at least those i
could have typed in ;))
the datasheet for the chipset is here:
http://download.intel.com/design/chipsets/datashts/29051801.pdf
the routine does the following:
1. disable all caches
2. set ram size to 0
3. take one row and set its ram size to the maximum value and its type
to edo
4. write some data in the row
5. enable edo detection
6. read the data back
7. if the data read is the data written it is edo
8. if the data read is NOT the data written, write some more data
9. read the data back (without edo detection)
10. if the data read is the data written it is fpm
11. if the data read is NOT the data written, the row is empty
12. detect the real size of the row and the dram technology (i'll write
some more about that tomorrow, sorry, it's late already :))
13. clear all settings for the current row
14. restart at 3. as long as not all rows have been processed
15. write the size and type (edo/fpm) of all rows
16. turn the caches back on ;)
the routine isn't doing any tests on dram timings yet. this COULD be
implemented or we should ask the user to enter something useful. upto
now the slowest dram timings are used which is not that nice but still
it should work.
anyway, i could implement some more chipset settings regarding pci
performance and behaviour but i guess it doesn't belong in the
raminit.c, does it?
now have a look at the code and try to understand it ;)
Holger
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: raminit.c
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20070810/1e761e5b/attachment.c>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: raminit.h
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20070810/1e761e5b/attachment.h>
More information about the coreboot
mailing list