mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-25 12:14:33 +00:00
documentation updates on eeproms
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1040 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
cddd0a915e
commit
0a8aee470a
2 files changed
+67
-8
No files matched your search
+28
-4
@@ -8,6 +8,21 @@ Supported chips:
|
||||
Prefix `ddcmon'
|
||||
Addresses scanned: I2C 0x50
|
||||
Standards: available for purchase from VESA http://www.vesa.org
|
||||
Datasheets: Publicly available from Atmel (www.atmel.com),
|
||||
Fairchild (www.fairchildsemi.com), and
|
||||
Microchip (www.microchip.com)
|
||||
|
||||
Chip Size (bits) Address
|
||||
24C01 1K 0x50 (shadows at 0x51 - 0x57)
|
||||
(Typical device in monitors)
|
||||
24C01A 1K 0x50 - 0x57 (Typical device in monitors)
|
||||
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)
|
||||
|
||||
|
||||
Authors: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock <phil@netroedge.com>,
|
||||
and Mark Studebaker <mdsxyz123@yahoo.com>
|
||||
@@ -20,8 +35,7 @@ Module Parameters
|
||||
* force: short array (min = 1, max = 48)
|
||||
List of adapter,address pairs to boldly assume to be present
|
||||
* force_ddcmon: short array (min = 1, max = 48)
|
||||
List of adapter,address pairs which are unquestionably assumed to contain
|
||||
a `ddcmon' chip
|
||||
Same as 'force'
|
||||
* ignore: short array (min = 1, max = 48)
|
||||
List of adapter,address pairs not to scan
|
||||
* ignore_range: short array (min = 1, max = 48)
|
||||
@@ -94,9 +108,15 @@ Notes:
|
||||
eeproms because it checks for a DDC 'signature' at the beginning
|
||||
of the DDC Monitor's eeprom.
|
||||
|
||||
- If a DDC monitor eeprom lacks the 'signature', you may use the
|
||||
'force' parameter (modprobe ddcmon force=x,0x50 where 'x' is the
|
||||
i2c bus number).
|
||||
|
||||
- This module requires a bus driver for your video chip to access the
|
||||
DDC bus. Currently drivers exist for Voodoo3/Banshee chips and
|
||||
Matrox chips only. See documentation for those drivers in ../busses.
|
||||
DDC bus. In this package, drivers exist for Voodoo3/Banshee chips.
|
||||
See documentation for those drivers in ../busses. Other drivers
|
||||
(Matrox and NVidia, for example) are available in the kernel or
|
||||
elsewhere. See our 'Supported Devices' web page for details.
|
||||
|
||||
- There is a checksum over the 128 bytes in the eeprom but the driver
|
||||
does not check it.
|
||||
@@ -104,9 +124,13 @@ Notes:
|
||||
- More information is available in the eeprom which could be made
|
||||
available by enhancing the driver.
|
||||
To see the entire eeprom, use the eeprom.o module instead of ddcmon.o.
|
||||
However, then you lose the DDC-specific formatting.
|
||||
|
||||
- This driver does not support the DDC/CI (DDC2Bi) bidirectional
|
||||
communications channel to the monitor for controlling the monitor.
|
||||
|
||||
- The driver caches the data from the monitor and only rereads it
|
||||
from the eeprom if the cache is more than 5 minutes old.
|
||||
|
||||
- X 4.0 also accesses the DDC monitor EEPROM to auto-configure itself.
|
||||
There could possibly be conflicts from these multiple accesses.
|
||||
+39
-4
@@ -7,7 +7,20 @@ Supported chips:
|
||||
* Any EEPROM chip in the designated address range
|
||||
Prefix `eeprom'
|
||||
Addresses scanned: I2C 0x50 - 0x57 (inclusive)
|
||||
Datasheet: Publicly available from Intel
|
||||
Datasheets: Publicly available from Atmel (www.atmel.com),
|
||||
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)
|
||||
|
||||
|
||||
Author: Frodo Looijaard <frodol@dds.nl> and Philip Edelbrock
|
||||
<phil@netroedge.com>
|
||||
@@ -37,22 +50,44 @@ Description
|
||||
-----------
|
||||
|
||||
This is a simple EEPROM module meant to enable reading the first 128 bytes
|
||||
of an EEPROM (on a SDRAM DIMM). This module will probably need to be at
|
||||
least expanded. A /dev file interface would probably be more effective.
|
||||
of an EEPROM (on a SDRAM DIMM). 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
|
||||
effective for decoding the contents of EEPROMs on DIMMs.
|
||||
|
||||
DIMMS will typically contain a 24C01A or 24C02. The other devices
|
||||
will not be found on a DIMM because they respond to more than one
|
||||
address.
|
||||
|
||||
DDC Monitors may contain any device. Often a 24C01, which responds
|
||||
to all 8 addresses, is found. See the 'ddcmon' driver which has
|
||||
specialized /proc entries for DDC monitors. If the eeprom driver is
|
||||
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.
|
||||
|
||||
|
||||
Lacking functionality:
|
||||
|
||||
* Read past byte 128. There is no technical restriction for not doing
|
||||
* 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.
|
||||
|
||||
* Support for really large devices (24C32, 24C64, 24C128, 24C256, 24C5412).
|
||||
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.
|
||||
|
||||
|
||||
Use:
|
||||
|
||||
After inserting the module (and any other required smbus/i2c modules), you
|
||||
|
||||
Reference in new issue
Block a user