root/lm-sensors/trunk/doc/chips/ddcmon @ 1934

Revision 1934, 12.2 KB (checked in by khali, 10 years ago)

Major update of the ddcmon driver.

Add half a dozen new features.
Add checksum parameter (same as for the eeprom module)
Fix monitor limits

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1Kernel driver `ddcmon.o'
2========================
3
4Status: As complete as we want it to be, lightly tested
5
6Supported chips:
7  * Any DDC Monitor EDID EEPROM chip at 0x50
8    Prefix `ddcmon'
9    Addresses scanned: I2C 0x50
10    Standards: available for purchase from VESA http://www.vesa.org
11    Datasheets: Publicly available from Atmel (www.atmel.com),
12                Fairchild (www.fairchildsemi.com), and
13                Microchip (www.microchip.com)
14
15        Chip    Size (bits)     Address
16        24C01    1K             0x50 (shadows at 0x51 - 0x57)
17                                     (Typical device in monitors)
18        24C01A   1K             0x50 - 0x57 (Typical device in monitors)
19        24C02    2K             0x50 - 0x57
20        24C04    4K             0x50, 0x52, 0x54, 0x56
21                                (additional data at 0x51, 0x53, 0x55, 0x57)
22        24C08    8K             0x50, 0x54 (additional data at 0x51, 0x52,
23                                0x53, 0x55, 0x56, 0x57)
24        24C16   16K             0x50 (additional data at 0x51 - 0x57)
25
26
27Author: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock
28        <phil@netroedge.com>, Mark Studebaker <mdsxyz123@yahoo.com> and
29        Jean Delvare <khali@linux-fr.org>
30
31Special assistance on DDC provided by Petr Vandrovec <vandrove@vc.cvut.cz>
32
33License: GPL
34
35
36Module Parameters
37-----------------
38
39* force: short array (min = 1, max = 48)
40  List of adapter,address pairs to boldly assume to be present
41* force_ddcmon: short array (min = 1, max = 48)
42  Same as 'force'
43* ignore: short array (min = 1, max = 48)
44  List of adapter,address pairs not to scan
45* ignore_range: short array (min = 1, max = 48)
46  List of adapter,start-addr,end-addr triples not to scan
47* probe: short array (min = 1, max = 48)
48  List of adapter,address pairs to scan additionally
49* probe_range: short array (min = 1, max = 48)
50  List of adapter,start-addr,end-addr triples to scan additionally
51* checksum: int
52  Only accept eeproms whose checksum is correct
53
54
55Description
56-----------
57
58This is a simple module for reading the EEPROM on a DDC-compliant monitor.
59DDC (Display Data Channel) is the I2C-based communication channel
60to the monitor. The EEPROM contains a 128-byte data structure defined
61by the EDID (Extended Display Identification Data) standard.
62
63Use:
64
65After inserting the module (and any other required smbus/i2c modules), you
66should have a directory in /proc/sys/dev/sensors/ with a name such
67as "ddcmon-i2c-3-50".  Inside each of these is a series of files which
68represent interesting data from the DDC monitor.
69
70/proc entries:
71
72        dpms: bitmask
73                DPMS support flags
74                0x20 Active Off
75                0x40 Suspend
76                0x80 Standby
77
78        edid: 2 integers
79                EDID version and revision
80       
81        gamma: 1 float
82                gamma factor
83
84        id: 2 integers
85                manufacturer ID and product ID
86                Manufacturer ID is encoded, see 'sensors'
87                source ../../prog/sensors/chips.c.
88
89        maxclock: 1 integer
90                max pixel clock (also known as video bandwidth) (MHz)
91                0 if not available.
92
93        serial: 1 integer
94                serial number
95                Encoding depends on the manufacturer, don't expect the
96                real serial number here. 0 probably means "not available".
97
98        size: 2 integers
99                vertical monitor size (cm)
100                horizontal monitor size (cm)
101
102        sync: 4 integers
103                minimum vertical sync frequency (Hz)
104                maximum vertical sync frequency (Hz)
105                minimum horizontal sync frequency (KHz)
106                maximum horizontal sync frequency (KHz)
107                0 0 0 0 if not available.
108
109        time: 2 integers
110                Manufacture year and week
111
112        timing[1-8]: 3 integers
113                supported standard timing
114                horizontal resolution
115                vertical resolution
116                (vertical) refresh rate
117                0 0 0 if not used.
118
119        timings: bitmask
120                supported established timings
121                0x000001 720x400@70Hz (VGA 640x400, IBM)
122                0x000002 720x400@88Hz (XGA2)
123                0x000004 640x480@60Hz (VGA)
124                0x000008 640x480@67Hz (Mac II, Apple)
125                0x000010 640x480@72Hz (VESA)
126                0x000020 640x480@75Hz (VESA)
127                0x000040 800x600@56Hz (VESA)
128                0x000080 800x600@60Hz (VESA)
129                0x000100 800x600@72Hz (VESA)
130                0x000200 800x600@75Hz (VESA)
131                0x000400 832x624@75Hz (Mac II)
132                0x000800 1024x768@87Hz interlaced (8514A)
133                0x001000 1024x768@60Hz (VESA)
134                0x002000 1024x768@70Hz (VESA)
135                0x004000 1024x768@75Hz (VESA)
136                0x008000 1280x1024@75Hz (VESA)
137                0x010000 - 0x800000 Manufacturer reserved
138                0x800000 1152x870 @ 75 Hz (Mac II, Apple)?
139
140
141Chip Features
142-------------
143
144Chip 'ddcmon'
145
146LABEL                 LABEL CLASS           COMPUTE CLASS          MODE  MAGN
147Manufacturer ID       -                     -                       R-     0
148Model Number          -                     -                       R-     0
149Monitor Size (cm)     -                     -                       R-     0
150hsize                 Monitor Size (cm)     -                       R-     0
151Vertical Sync (Hz)    -                     -                       R-     0
152v_sync_max            Vertical Sync (Hz)    -                       R-     0
153Horizontal Sync (KHz) -                     -                       R-     0
154h_sync_max            Horizontal Sync (KHz) -                       R-     0
155Established Timings   -                     -                       R-     0
156Serial Number         -                     -                       R-     0
157Manufacture Time      -                     -                       R-     0
158week                  Manufacture Time      -                       R-     0
159EDID Version          -                     -                       R-     0
160revision              EDID Version          -                       R-     0
161Gamma Factor          -                     -                       R-     2
162DPMS Modes            -                     -                       R-     0
163Standard Timing 1     -                     -                       R-     0
164vertical              Standard Timing 1     -                       R-     0
165refresh               Standard Timing 1     -                       R-     0
166Standard Timing 2     -                     -                       R-     0
167vertical              Standard Timing 2     -                       R-     0
168refresh               Standard Timing 2     -                       R-     0
169Standard Timing 3     -                     -                       R-     0
170vertical              Standard Timing 3     -                       R-     0
171refresh               Standard Timing 3     -                       R-     0
172Standard Timing 4     -                     -                       R-     0
173vertical              Standard Timing 4     -                       R-     0
174refresh               Standard Timing 4     -                       R-     0
175Standard Timing 5     -                     -                       R-     0
176vertical              Standard Timing 5     -                       R-     0
177refresh               Standard Timing 5     -                       R-     0
178Standard Timing 6     -                     -                       R-     0
179vertical              Standard Timing 6     -                       R-     0
180refresh               Standard Timing 6     -                       R-     0
181Standard Timing 7     -                     -                       R-     0
182vertical              Standard Timing 7     -                       R-     0
183refresh               Standard Timing 7     -                       R-     0
184Standard Timing 8     -                     -                       R-     0
185vertical              Standard Timing 8     -                       R-     0
186refresh               Standard Timing 8     -                       R-     0
187Max Pixel Clock (MHz) -                     -                       R-     0
188
189LABEL                 FEATURE SYMBOL                              SYSCTL FILE:N
190Manufacturer ID       SENSORS_DDCMON_MAN_ID                                id:1
191Model Number          SENSORS_DDCMON_PROD_ID                               id:2
192Monitor Size (cm)     SENSORS_DDCMON_VERSIZE                             size:1
193hsize                 SENSORS_DDCMON_HORSIZE                             size:2
194Vertical Sync (Hz)    SENSORS_DDCMON_VERSYNCMIN                          sync:1
195v_sync_max            SENSORS_DDCMON_VERSYNCMAX                          sync:2
196Horizontal Sync (KHz) SENSORS_DDCMON_HORSYNCMIN                          sync:3
197h_sync_max            SENSORS_DDCMON_HORSYNCMAX                          sync:4
198Established Timings   SENSORS_DDCMON_TIMINGS                          timings:1
199Serial Number         SENSORS_DDCMON_SERIAL                            serial:1
200Manufacture Time      SENSORS_DDCMON_YEAR                                time:1
201week                  SENSORS_DDCMON_WEEK                                time:2
202EDID Version          SENSORS_DDCMON_EDID_VER                            edid:1
203revision              SENSORS_DDCMON_EDID_REV                            edid:2
204Gamma Factor          SENSORS_DDCMON_GAMMA                              gamma:1
205DPMS Modes            SENSORS_DDCMON_DPMS                                dpms:1
206Standard Timing 1     SENSORS_DDCMON_TIMING1_HOR                      timing1:1
207vertical              SENSORS_DDCMON_TIMING1_VER                      timing1:2
208refresh               SENSORS_DDCMON_TIMING1_REF                      timing1:3
209Standard Timing 2     SENSORS_DDCMON_TIMING2_HOR                      timing2:1
210vertical              SENSORS_DDCMON_TIMING2_VER                      timing2:2
211refresh               SENSORS_DDCMON_TIMING2_REF                      timing2:3
212Standard Timing 3     SENSORS_DDCMON_TIMING3_HOR                      timing3:1
213vertical              SENSORS_DDCMON_TIMING3_VER                      timing3:2
214refresh               SENSORS_DDCMON_TIMING3_REF                      timing3:3
215Standard Timing 4     SENSORS_DDCMON_TIMING4_HOR                      timing4:1
216vertical              SENSORS_DDCMON_TIMING4_VER                      timing4:2
217refresh               SENSORS_DDCMON_TIMING4_REF                      timing4:3
218Standard Timing 5     SENSORS_DDCMON_TIMING5_HOR                      timing5:1
219vertical              SENSORS_DDCMON_TIMING5_VER                      timing5:2
220refresh               SENSORS_DDCMON_TIMING5_REF                      timing5:3
221Standard Timing 6     SENSORS_DDCMON_TIMING6_HOR                      timing6:1
222vertical              SENSORS_DDCMON_TIMING6_VER                      timing6:2
223refresh               SENSORS_DDCMON_TIMING6_REF                      timing6:3
224Standard Timing 7     SENSORS_DDCMON_TIMING7_HOR                      timing7:1
225vertical              SENSORS_DDCMON_TIMING7_VER                      timing7:2
226refresh               SENSORS_DDCMON_TIMING7_REF                      timing7:3
227Standard Timing 8     SENSORS_DDCMON_TIMING8_HOR                      timing8:1
228vertical              SENSORS_DDCMON_TIMING8_VER                      timing8:2
229refresh               SENSORS_DDCMON_TIMING8_REF                      timing8:3
230Max Pixel Clock (MHz) SENSORS_DDCMON_MAXCLOCK                        maxclock:1
231
232
233Notes
234-----
235
236- The eeprom.o module will also attach to a DDC monitor. Install the
237  ddcmon.o module before the eeprom.o module to prevent this.
238  Alternatively, give the eeprom.o module an ignore= parameter or
239  a checksum= parameter. The ddcmon.o module will not attach to non-DDC
240  eeproms because it checks for a DDC 'signature' at the beginning
241  of the DDC Monitor's eeprom. Additionally, you can give it a checksum=
242  parameter.
243
244- If a DDC monitor eeprom lacks the 'signature', you may use the
245  'force' parameter (modprobe ddcmon force=x,0x50 where 'x' is the
246  i2c bus number).
247
248- This module requires a bus driver for your video chip to access the
249  DDC bus. In this package, drivers exist for Voodoo3/Banshee chips.
250  See documentation for those drivers in ../busses. Other drivers
251  (Matrox and NVidia, for example) are available in the kernel or
252  elsewhere. See our 'Supported Devices' web page for details.
253
254- There is a checksum over the 128 bytes in the eeprom. The driver
255  used not to check it, now it does (providing you give it a
256  checksum= parameter).
257
258- More information is available in the eeprom which could be made
259  available by enhancing the driver.
260  To see the entire eeprom, use the eeprom.o module instead of ddcmon.o.
261  However, then you lose the DDC-specific formatting.
262  Also see ../../prog/eeprom/decode-edid.pl.
263
264- This driver does not support the DDC/CI (DDC2Bi) bidirectional
265  communications channel to the monitor for controlling the monitor.
266
267- The driver caches the data from the monitor and only rereads it
268  from the eeprom if the cache is more than 5 minutes old.
269
270- X 4.0 also accesses the DDC monitor EEPROM to auto-configure itself.
271  There could possibly be conflicts from these multiple accesses, but
272  none were ever reported so far.
Note: See TracBrowser for help on using the browser.