pdm360ng: add EDID property to FDT display node
authorAnatolij Gustschin <agust@denx.de>
Tue, 17 Aug 2010 15:46:02 +0000 (17:46 +0200)
committerWolfgang Denk <wd@denx.de>
Tue, 12 Oct 2010 19:07:13 +0000 (21:07 +0200)
PDM360NG board uses this functionality to pass display
timing info to the Linux Framebuffer driver.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
board/pdm360ng/pdm360ng.c

index e8714e3a796063dc0d093bc5e82845c31f659d41..2082ad48a273bc77c6352437456b172aad2ef8e3 100644 (file)
@@ -515,6 +515,46 @@ struct node_info nodes[] = {
 };
 #endif
 
+#if defined(CONFIG_VIDEO)
+/*
+ * EDID block has been generated using Phoenix EDID Designer 1.3.
+ * This tool creates a text file containing:
+ *
+ * EDID BYTES:
+ * 0x   00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
+ *     ------------------------------------------------
+ * 00 | 00 FF FF FF FF FF FF 00 42 C9 34 12 01 00 00 00
+ * 10 | 0A 0C 01 03 80 98 5B 78 CA 7E 50 A0 58 4E 96 25
+ * 20 | 1E 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
+ * 30 | 01 01 01 01 01 01 80 0C 20 00 31 E0 2D 10 2A 80
+ * 40 | 12 08 30 E4 10 00 00 18 00 00 00 FD 00 38 3C 1F
+ * 50 | 3C 04 0A 20 20 20 20 20 20 20 00 00 00 FF 00 50
+ * 60 | 4D 30 37 30 57 4C 33 0A 0A 0A 0A 0A 00 00 00 FF
+ * 70 | 00 41 30 30 30 30 30 30 30 30 30 30 30 31 00 D4
+ *
+ * Then this data has been manually converted to the char
+ * array below.
+ */
+static unsigned char edid_buf[128] = {
+       0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
+       0x42, 0xC9, 0x34, 0x12, 0x01, 0x00, 0x00, 0x00,
+       0x0A, 0x0C, 0x01, 0x03, 0x80, 0x98, 0x5B, 0x78,
+       0xCA, 0x7E, 0x50, 0xA0, 0x58, 0x4E, 0x96, 0x25,
+       0x1E, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,
+       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x80, 0x0C,
+       0x20, 0x00, 0x31, 0xE0, 0x2D, 0x10, 0x2A, 0x80,
+       0x12, 0x08, 0x30, 0xE4, 0x10, 0x00, 0x00, 0x18,
+       0x00, 0x00, 0x00, 0xFD, 0x00, 0x38, 0x3C, 0x1F,
+       0x3C, 0x04, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
+       0x20, 0x20, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x50,
+       0x4D, 0x30, 0x37, 0x30, 0x57, 0x4C, 0x33, 0x0A,
+       0x0A, 0x0A, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0xFF,
+       0x00, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
+       0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x00, 0xD4,
+};
+#endif
+
 void ft_board_setup(void *blob, bd_t *bd)
 {
        u32 val[8];
@@ -525,6 +565,9 @@ void ft_board_setup(void *blob, bd_t *bd)
 #ifdef CONFIG_FDT_FIXUP_PARTITIONS
        fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
 #endif
+#if defined(CONFIG_VIDEO)
+       fdt_add_edid(blob, "fsl,mpc5121-diu", edid_buf);
+#endif
 
        /* Fixup NOR FLASH mapping */
        val[i++] = 0;                           /* chip select number */