davinci: ea20: reorganisation LCD startup

Signed-off-by: Bastian Ruppert <Bastian.Ruppert@Sewerin.de>
CC: Tom Rini <trini@ti.com>
Acked-by: Stefano Babic <sbabic@denx.de>
diff --git a/board/davinci/ea20/ea20.c b/board/davinci/ea20/ea20.c
index 7e00040..69307e4 100644
--- a/board/davinci/ea20/ea20.c
+++ b/board/davinci/ea20/ea20.c
@@ -176,6 +176,9 @@
 	if (davinci_configure_pin_mux(gpio_pins, ARRAY_SIZE(gpio_pins)) != 0)
 		return 1;
 
+	/* Set DISP_ON high to enable LCD output*/
+	gpio_direction_output(97, 1);
+
 	/* Set the RESETOUTn low */
 	gpio_direction_output(111, 0);
 
@@ -188,9 +191,6 @@
 	/* Set LCD_B_PWR low to power down LCD Backlight*/
 	gpio_direction_output(102, 0);
 
-	/* Set DISP_ON low to disable LCD output*/
-	gpio_direction_output(97, 0);
-
 #ifndef CONFIG_USE_IRQ
 	irq_init();
 #endif
@@ -250,11 +250,6 @@
 	writel(readl(&davinci_syscfg_regs->mstpri[2]) & 0x0fffffff,
 	       &davinci_syscfg_regs->mstpri[2]);
 
-	/* Set LCD_B_PWR low to power up LCD Backlight*/
-	gpio_set_value(102, 1);
-
-	/* Set DISP_ON low to disable LCD output*/
-	gpio_set_value(97, 1);
 
 	return 0;
 }
@@ -276,6 +271,9 @@
 
 int board_late_init(void)
 {
+	unsigned char buf[2];
+	int ret;
+
 	/* PinMux for HALTEN */
 	if (davinci_configure_pin_mux(halten_pin, ARRAY_SIZE(halten_pin)) != 0)
 		return 1;
@@ -285,6 +283,15 @@
 
 	setenv("stdout", "serial");
 
+	/* Set fixed contrast settings for LCD via I2C potentiometer */
+	buf[0] = 0x00;
+	buf[1] = 0xd7;
+	ret = i2c_write(0x2e, 6, 1, buf, 2);
+	if (ret)
+		puts("\nContrast Settings FAILED\n");
+
+	/* Set LCD_B_PWR high to power up LCD Backlight*/
+	gpio_set_value(102, 1);
 	return 0;
 }
 #endif /* CONFIG_BOARD_LATE_INIT */