summaryrefslogtreecommitdiffstats
path: root/Documentation/EDID
diff options
context:
space:
mode:
authorCarsten Emde <C.Emde@osadl.org>2012-07-19 17:54:25 +0200
committerDave Airlie <airlied@redhat.com>2013-01-20 10:22:19 +0100
commitbac4b7c3b5c0660c08dc4949fe40e08e20364ee3 (patch)
tree241187e0cfc2e45b5844c4a3386247abf5a7b429 /Documentation/EDID
parentMerge tag 'drm-intel-next-2012-12-21' of git://people.freedesktop.org/~danvet... (diff)
downloadlinux-bac4b7c3b5c0660c08dc4949fe40e08e20364ee3.tar.xz
linux-bac4b7c3b5c0660c08dc4949fe40e08e20364ee3.zip
drm: Load EDID: Explain better how to write your own EDID firmware
A description was lacking how to write an EDID firmware file that corresponds to a given X11 setting. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'Documentation/EDID')
-rw-r--r--Documentation/EDID/HOWTO.txt27
1 files changed, 23 insertions, 4 deletions
diff --git a/Documentation/EDID/HOWTO.txt b/Documentation/EDID/HOWTO.txt
index 75a9f2a0c43d..2d0a8f09475d 100644
--- a/Documentation/EDID/HOWTO.txt
+++ b/Documentation/EDID/HOWTO.txt
@@ -28,11 +28,30 @@ Makefile environment are given here.
To create binary EDID and C source code files from the existing data
material, simply type "make".
-If you want to create your own EDID file, copy the file 1024x768.S and
-replace the settings with your own data. The CRC value in the last line
+If you want to create your own EDID file, copy the file 1024x768.S,
+replace the settings with your own data and add a new target to the
+Makefile. Please note that the EDID data structure expects the timing
+values in a different way as compared to the standard X11 format.
+
+X11:
+HTimings: hdisp hsyncstart hsyncend htotal
+VTimings: vdisp vsyncstart vsyncend vtotal
+
+EDID:
+#define XPIX hdisp
+#define XBLANK htotal-hdisp
+#define XOFFSET hsyncstart-hdisp
+#define XPULSE hsyncend-hsyncstart
+
+#define YPIX vdisp
+#define YBLANK vtotal-vdisp
+#define YOFFSET (63+(vsyncstart-vdisp))
+#define YPULSE (63+(vsyncend-vsyncstart))
+
+The CRC value in the last line
#define CRC 0x55
-is a bit tricky. After a first version of the binary data set is
-created, it must be be checked with the "edid-decode" utility which will
+also is a bit tricky. After a first version of the binary data set is
+created, it must be checked with the "edid-decode" utility which will
most probably complain about a wrong CRC. Fortunately, the utility also
displays the correct CRC which must then be inserted into the source
file. After the make procedure is repeated, the EDID data set is ready