Update (some things had becoming wrong by the time they had been

written) and include Vaio eeproms


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1620 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Jean Delvare committed 2002-11-18 20:42:01 +00:00
1 parent 3e655bce29
commit 07adafd384
1 file changed
+48 -29
+48 -29
View File
@@ -11,15 +11,16 @@ Supported chips:
Fairchild (www.fairchildsemi.com), and
Microchip (www.microchip.com)
Chip Size (bits) Address
24C01 1K 0x50 (shadows at 0x51 - 0x57)
24C01A 1K 0x50 - 0x57 (Typical device on DIMMs)
24C02 2K 0x50 - 0x57
24C04 4K 0x50, 0x52, 0x54, 0x56
(additional data at 0x51, 0x53, 0x55, 0x57)
24C08 8K 0x50, 0x54 (additional data at 0x51, 0x52,
0x53, 0x55, 0x56, 0x57)
24C16 16K 0x50 (additional data at 0x51 - 0x57)
Chip Size (bits) Address
24C01 1K 0x50 (shadows at 0x51 - 0x57)
24C01A 1K 0x50 - 0x57 (Typical device on DIMMs)
24C02 2K 0x50 - 0x57
24C04 4K 0x50, 0x52, 0x54, 0x56
(additional data at 0x51, 0x53, 0x55, 0x57)
24C08 8K 0x50, 0x54 (additional data at 0x51, 0x52,
0x53, 0x55, 0x56, 0x57)
24C16 16K 0x50 (additional data at 0x51 - 0x57)
Sony 2K 0x57
Author: Frodo Looijaard <frodol@dds.nl> and Philip Edelbrock
@@ -49,9 +50,9 @@ Module Parameters
Description
-----------
This is a simple EEPROM module meant to enable reading the first 128 bytes
of an EEPROM (on a SDRAM DIMM). However, it will access serial EEPROMs
on any I2C adapter. This module will probably need to be
This is a simple EEPROM module meant to enable reading the first 256 bytes
of an EEPROM (on a SDRAM DIMM for example). However, it will access serial
EEPROMs on any I2C adapter. This module will probably need to be
expanded. A /dev file interface would probably be more effective.
This module was a programming exercise to get used to the new project
organization laid out by Frodo, but it should be at least completely
@@ -68,24 +69,22 @@ loaded before the ddcmon driver and there is no 'ignore' line in the
/etc/sensors.conf file, the eeprom driver will latch onto the DDC monitor
eeprom.
Recent Sony Vaio laptops have an EEPROM at 0x57. We couldn't get the
specification, so it is guess work and far from being complete.
Lacking functionality:
* Read bytes 128-255. There is no technical restriction for not doing
this, but making a zillion dataxx-xx files would be a bit rediculous.
EEPROMs on DIMMs shouldn't use the contents past byte 128, so we are fine.
* Full support for larger devices (24C04, 24C08, 24C16). These are
not typically found on a PC. These devices will appear as separate
devices at multiple addresses, with every other 128-byte block inaccessable
because of the missing 128-255 functionality.
devices at multiple addresses.
* Support for really large devices (24C32, 24C64, 24C128, 24C256, 24C5412).
* Support for really large devices (24C32, 24C64, 24C128, 24C256, 24C512).
These devices require two-byte address fields and are not supported.
* Enable Writing. Again, no technical reason why not, but making it easy
to change the contents of the EEPROMs (on DIMMs anyway) also makes it easy
to disable the DIMMs until the values are restored somehow.
to disable the DIMMs until the values are restored somehow.
Use:
@@ -100,25 +99,26 @@ Note:
EEPROMs reported are not nessesarily all from DIMMs. Xeon processors, for
example, have serial EEPROMs in them connected to the SMBus which will be
found by the module. Take care to ignore the output of decode_dimms.pl for
these EEPROMs.
found by the module. Take care to ignore the output of decode-dimms.pl for
these EEPROMs. There is decode-xeon.pl for them. Same applies to Vaio
EEPROMs, which have decode-vaio.pl.
The driver caches the data from the monitor and only rereads it
from the eeprom if the cache is more than 5 minutes old.
DECODE_DIMMS.PL
Decode-dimms.pl
---------------
This Perl script attempts to make sense of the first 128 bytes of a SDRAM
PC-100 DIMM. Using the 'Serial Presence Detect (SPD)' Spec (Rev1.2a)** from
Intel. When finished, it will decode and report all the values defined in
the spec. Much of the information is technical timing and interfacing info
(probably not all used by the Bios or clocking IC.
(probably not all used by the BIOS or clocking IC).
Note: During testing, we noticed that many DIMMs have trucated SPD records.
I'm not sure if these conform to an old spec, or if the manufacturers are
simply just taking short-cuts. But, many DIMMs have all zeros stored past
simply just taking shortcuts. But, many DIMMs have all zeros stored past
byte 21. I asked an Intel SDRAM tester, Sat Kolli (skolli@smartm.com),
about this and this is what he had to say:
@@ -129,19 +129,38 @@ addresses. That will give you the module size and what devices are used. It
is very difficult to verify if the module is PC-100, because of
inconsistencies between spd data from different manufacturers. You could
read the timing information or the special Intel bytes (126 & 127) but I do
not know how many program that information.These inconsistencies may be
not know how many program that information. These inconsistencies may be
minimized if you or your customers stay with some of the better known
manufacturers." (Thanks goes to Sat Kolli for his comments and help)
manufacturers." (Thanks goes to Sat Kolli for his comments and help.)
Use:
After inserting the nessesary modules, run the script!
After inserting the necessary modules, run the script!
Notes:
The script assumes that Perl can be found at /usr/bin/perl. If different,
you will need to adjust the first line of the file accordingly, or else
you will get a strange "decode_dimms.pl: no such file or directory" error.
you will get a strange "decode-dimms.pl: no such file or directory" error.
Also note that the script assumes that _all_ the eeproms belong to DIMMs,
which may not be the case.
Decode-vaio.pl
--------------
This Perl script looks for a Sony Vaio EEPROM at 0x57. If your system is not
a Sony Vaio laptop, you just don't care. If your system is an old Vaio, you
probably don't have an EEPROM on it and this script will be useless to you
as well.
Use:
After inserting the necessary modules, run the script!
Notes:
The script assumes that Perl can be found at /usr/bin/perl. If different,
you will need to adjust the first line of the file accordingly, or else
you will get a strange "decode-vaio.pl: no such file or directory" error.