mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-15 10:39:31 +00:00
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1040 7894878c-1315-0410-8ee3-d5d059ff63e0
137 lines
4.7 KiB
Plaintext
137 lines
4.7 KiB
Plaintext
Kernel driver `ddcmon.o'
|
|
========================
|
|
|
|
Status: Beta
|
|
|
|
Supported chips:
|
|
* Any DDC Monitor EDID EEPROM chip at 0x50
|
|
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>
|
|
|
|
Special assistance on DDC provided by Petr Vandrovec <vandrove@vc.cvut.cz>
|
|
|
|
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)
|
|
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)
|
|
List of adapter,start-addr,end-addr triples not to scan
|
|
* probe: short array (min = 1, max = 48)
|
|
List of adapter,address pairs to scan additionally
|
|
* probe_range: short array (min = 1, max = 48)
|
|
List of adapter,start-addr,end-addr triples to scan additionally
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
This is a simple module for reading the EEPROM on a DDC-compliant monitor.
|
|
DDC (Display Data Channel) is the I2C-based communication channel
|
|
to the monitor. The EEPROM contains a 128-byte data structure defined
|
|
by the EDID (Extended Display Identification Data) standard.
|
|
|
|
Use:
|
|
|
|
After inserting the module (and any other required smbus/i2c modules), you
|
|
should have a directory in /proc/sys/dev/sensors/ with a name such
|
|
as "ddcmon-i2c-3-50". Inside each of these is a series of files which
|
|
represent interesting data from the DDC monitor.
|
|
|
|
/proc entries:
|
|
|
|
ID: Encoded Monitor ID string.
|
|
For encoding, see 'sensors'
|
|
source ../../prog/sensors/chips.c.
|
|
|
|
serial: 1 integer
|
|
serial number
|
|
|
|
size: 2 integers
|
|
vertical monitor size (cm)
|
|
horizontal monitor size (cm)
|
|
|
|
sync: 4 integers
|
|
minimum vertical sync frequency (Hz)
|
|
maximum vertical sync frequency (Hz)
|
|
minimum horizontal sync frequency (KHz)
|
|
maximum horizontal sync frequency (KHz)
|
|
|
|
timings: supported timings (bitmask)
|
|
0x000001 720x400@70Hz (VGA 640x400, IBM)
|
|
0x000002 720x400@88Hz (XGA2)
|
|
0x000004 640x480@60Hz (VGA)
|
|
0x000008 640x480@67Hz (Mac II, Apple)
|
|
0x000010 640x480@72Hz (VESA)
|
|
0x000020 640x480@75Hz (VESA)
|
|
0x000040 800x600@56Hz (VESA)
|
|
0x000080 800x600@60Hz (VESA)
|
|
0x000100 800x600@72Hz (VESA)
|
|
0x000200 800x600@75Hz (VESA)
|
|
0x000400 832x624@75Hz (Mac II)
|
|
0x000800 1024x768@87Hz interlaced (8514A)
|
|
0x001000 1024x768@60Hz (VESA)
|
|
0x002000 1024x768@70Hz (VESA)
|
|
0x004000 1024x768@75Hz (VESA)
|
|
0x008000 1280x1024@75Hz (VESA)
|
|
0x010000 - 0x800000 Manufacturer reserved
|
|
|
|
Notes:
|
|
|
|
- The eeprom.o module will also attach to a DDC monitor. Install the
|
|
ddcmon.o module before the eeprom.o module to prevent this.
|
|
Alternatively, give the eeprom.o module an ignore= parameter or
|
|
a checksum= parameter. The ddcmon.o module will not attach to non-DDC
|
|
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. 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.
|
|
|
|
- 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.
|