mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-30 13:00:30 +00:00
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:
1 parent
3e655bce29
commit
07adafd384
1 file changed
+48
-29
+48
-29
@@ -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.
|
||||
Reference in new issue
Block a user