root/lm-sensors/trunk/doc/chips/eeprom @ 108

Revision 108, 3.5 KB (checked in by frodo, 14 years ago)

Restructured the doc directory; added doc/progs; modified some files
to add more up-to-date documentation.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Some quick notes about the eeprom.o module and decode_dimms.pl.
2
3EEPROM Module
4-------------
5
6This is a simple EEPROM module meant to enable reading the first 128 bytes
7of an EEPROM (on a SDRAM DIMM).  This module will probably need to be at
8least expanded.  A /dev file interface would probably be more effective.
9This module was a programming exercise to get used to the new project
10organization laid out by Frodo, but it should be at least completely
11effective for decoding the contents of EEPROMs on DIMMs.
12
13Lacking functionality:
14
15* Read past byte 128.  There is no technical restriction for not doing
16this, but making a zillion dataxx-xx files would be a bit rediculous.
17EEPROMs on DIMMs shouldn't use the contents past byte 128, so we are fine.
18
19* Enable Writing.  Again, no technical reason why not, but making it easy
20to change the contents of the EEPROMs (on DIMMs anyway) also makes it easy
21to disable the DIMMs until the values are restored somehow.
22
23Use:
24
25After inserting the module (and any other required smbus/i2c modules), you
26should have some EEPROM directories in /proc/sys/dev/sensors/ of names such
27as "eeprom-i2c-0-50".  Inside each of these is a series of files which
28represent 16 bytes blocks from the EEPROM.  The data is in decimal (base
2910) delimited by spaces.
30
31Note:
32
33EEPROMs reported are not nessesarily all from DIMMs.  Xeon processors, for
34example, have serial EEPROMs in them connected to the SMBus which will be
35found by the module.  Take care to ignore the output of decode_dimms.pl for
36these EEPROMs.
37
38
39DECODE_DIMMS.PL
40---------------
41
42This Perl script attempts to make sense of the first 128 bytes of a SDRAM
43PC-100 DIMM.  Using the 'Serial Presence Detect (SPD)' Spec (Rev1.2a)** from
44Intel.  When finished, it will decode and report all the values defined in
45the spec.  Much of the information is technical timing and interfacing info
46(probably not all used by the Bios or clocking IC.
47
48Note: During testing, we noticed that many DIMMs have trucated SPD records.
49I'm not sure if these conform to an old spec, or if the manufacturers are
50simply just taking short-cuts.  But, many DIMMs have all zeros stored past
51byte 21.  I asked an Intel SDRAM tester, Sat Kolli (skolli@smartm.com),
52about this and this is what he had to say:
53
54"[...] Now in terms of SPD contents, you are right that people do all kinds
55of things. The way to insure that any module works is to look for the most
56basic information, such as module bank density, number of banks, and device
57addresses. That will give you the module size and what devices are used. It
58is very difficult to verify if the module is PC-100, because of
59inconsistencies between spd data from different manufacturers. You could
60read the timing information or the special Intel bytes (126 & 127) but I do
61not know how many program that information.These inconsistencies may be
62minimized if you or your customers stay with some of the better known
63manufacturers."  (Thanks goes to Sat Kolli for his comments and help)
64
65Use:
66
67After inserting the nessesary modules, run the script!
68
69Notes:
70
71The script assumes that Perl can be found at /usr/bin/perl.  If different,
72you will need to adjust the first line of the file accordingly, or else
73you will get a strange "decode_dimms.pl: no such file or directory" error.
74
75Also note that the script assumes that _all_ the eeproms belong to DIMMs,
76which may not be the case.
77
78
79------------------------------------------------------------------------
80** PDF is available from Intel or our web site (spdsd12a.pdf):
81http://www.netroedge.com/~lm78
82
83"eeprom" doc created Dec. 14, 1998 by Philip Edelbrock
Note: See TracBrowser for help on using the browser.