This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to read EDID of VGA display of different screen to auto judge resolution?

Other Parts Discussed in Thread: DA8XX

Our kernel is linux-3.2.0-psp04.06.00.11 , and I according some HDMI to make some revise to this screen, but if I use this patch, this patch is not adapted on the other screen. Is any patch we can referenced? Thank you.

diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
index dde954b..658ca9a 100644
--- a/arch/arm/mach-omap2/board-am335xevm.c
+++ b/arch/arm/mach-omap2/board-am335xevm.c
@@ -91,7 +91,7 @@
 static const struct display_panel disp_panel = {
     WVGA,
     32,
-    32,
+    8,
     COLOR_ACTIVE,
 };
 
@@ -123,7 +123,7 @@ static struct lcd_ctrl_config lcd_cfg = {
     .ac_bias        = 255,
     .ac_bias_intrpt        = 0,
     .dma_burst_sz        = 16,
-    .bpp            = 32,
+    .bpp            = 16,
     .fdd            = 0x80,
     .tft_alt_mode        = 0,
     .stn_565_mode        = 0,
@@ -447,14 +447,14 @@ static struct pinmux_config lcdc_pin_mux[] = {
                                | AM33XX_PULL_DISA},
     {"lcd_data15.lcd_data15",    OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT
                                | AM33XX_PULL_DISA},
-    {"gpmc_ad8.lcd_data16",        OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
-    {"gpmc_ad9.lcd_data17",        OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
-    {"gpmc_ad10.lcd_data18",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
-    {"gpmc_ad11.lcd_data19",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
-    {"gpmc_ad12.lcd_data20",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
-    {"gpmc_ad13.lcd_data21",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
-    {"gpmc_ad14.lcd_data22",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
-    {"gpmc_ad15.lcd_data23",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad8.lcd_data16",        OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad9.lcd_data17",        OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad10.lcd_data18",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad11.lcd_data19",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad12.lcd_data20",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad13.lcd_data21",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad14.lcd_data22",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
+    //{"gpmc_ad15.lcd_data23",    OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT},
     {"lcd_vsync.lcd_vsync",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
     {"lcd_hsync.lcd_hsync",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
     {"lcd_pclk.lcd_pclk",        OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT},
@@ -2179,7 +2179,7 @@ static struct evm_dev_cfg evm_sk_dev_cfg[] = {
     {rmii1_init,    DEV_ON_BASEBOARD, PROFILE_ALL},
     {rgmii2_init,    DEV_ON_BASEBOARD, PROFILE_ALL},
     {evm_nand_init, DEV_ON_BASEBOARD, PROFILE_ALL},
-    //{lcdc_init,     DEV_ON_BASEBOARD, PROFILE_ALL},
+    {lcdc_init,     DEV_ON_BASEBOARD, PROFILE_ALL},
     {enable_ecap2,     DEV_ON_BASEBOARD, PROFILE_ALL},
     {mfd_tscadc_init,    DEV_ON_BASEBOARD, PROFILE_ALL},
     {gpio_led_init,  DEV_ON_BASEBOARD, PROFILE_ALL},
diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c
index 0d212dc..7abd429 100644
--- a/drivers/video/da8xx-fb.c
+++ b/drivers/video/da8xx-fb.c
@@ -279,15 +279,15 @@ static struct da8xx_panel known_lcd_panels[] = {
     /* Newhaven Display */
     [3] = {
         .name = "NHD-4.3-ATXI#-T-1",
-        .width = 480,
-        .height = 272,
-        .hfp = 8,
-        .hbp = 43,
-        .hsw = 4,
-        .vfp = 4,
-        .vbp = 12,
-        .vsw = 10,
-        .pxl_clk = 9000000,
+        .width = 800,
+        .height = 600,
+        .hfp = 70,
+        .hbp = 140,
+        .hsw = 10,
+        .vfp = 3,
+        .vbp = 15,
+        .vsw = 4,
+        .pxl_clk = 40000000,
         .invert_pxl_clk = 0,
     },
 };