From 07adafd384df136d3ec95beb563762a61d2101b2 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Mon, 18 Nov 2002 20:42:01 +0000 Subject: [PATCH] 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 --- doc/chips/eeprom | 77 ++++++++++++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 29 deletions(-) diff --git a/doc/chips/eeprom b/doc/chips/eeprom index 00b09d4b..2f64fb45 100644 --- a/doc/chips/eeprom +++ b/doc/chips/eeprom @@ -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 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.