diff mbox

[U-Boot] sunxi: video: Add support for Hitachi tx18d42vm LVDS LCD panels

Message ID 1421956346-15834-1-git-send-email-hdegoede@redhat.com
State Accepted
Delegated to: Ian Campbell
Headers show

Commit Message

Hans de Goede Jan. 22, 2015, 7:52 p.m. UTC
Add support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
lcd controller which needs to be initialized over SPI, once that is
done they work like a regular LVDS panel.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 board/sunxi/Kconfig           | 7 +++++++
 drivers/video/sunxi_display.c | 5 +++++
 2 files changed, 12 insertions(+)

Comments

Hans de Goede Jan. 22, 2015, 7:53 p.m. UTC | #1
Hi

Note this is v3, I forgot to set the subject-prefix for this. Changes
since v2 are using "if (IS_ENABLED(CONFIG_...))" rather then #ifdef.

Regards,

Hans

On 22-01-15 20:52, Hans de Goede wrote:
> Add support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
> lcd controller which needs to be initialized over SPI, once that is
> done they work like a regular LVDS panel.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
>   board/sunxi/Kconfig           | 7 +++++++
>   drivers/video/sunxi_display.c | 5 +++++
>   2 files changed, 12 insertions(+)
>
> diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
> index f1501d4..8ac3d42 100644
> --- a/board/sunxi/Kconfig
> +++ b/board/sunxi/Kconfig
> @@ -354,6 +354,13 @@ config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
>   	---help---
>   	 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
>
> +config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
> +	bool "Hitachi tx18d42vm LCD panel"
> +	select VIDEO_LCD_HITACHI_TX18D42VM
> +	select VIDEO_LCD_IF_LVDS
> +	---help---
> +	 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
> +
>   endchoice
>
>
> diff --git a/drivers/video/sunxi_display.c b/drivers/video/sunxi_display.c
> index a6e3778..5077111 100644
> --- a/drivers/video/sunxi_display.c
> +++ b/drivers/video/sunxi_display.c
> @@ -20,6 +20,7 @@
>   #include <fdt_support.h>
>   #include <video_fb.h>
>   #include "videomodes.h"
> +#include "hitachi_tx18d42vm_lcd.h"
>   #include "ssd2828.h"
>
>   DECLARE_GLOBAL_DATA_PTR;
> @@ -1004,6 +1005,10 @@ static void sunxi_mode_set(const struct ctfb_res_modes *mode,
>   		break;
>   	case sunxi_monitor_lcd:
>   		sunxi_lcdc_panel_enable();
> +		if (IS_ENABLED(CONFIG_VIDEO_LCD_HITACHI_TX18D42VM)) {
> +			mdelay(50); /* Wait for lcd controller power on */
> +			hitachi_tx18d42vm_init();
> +		}
>   		sunxi_composer_mode_set(mode, address);
>   		sunxi_lcdc_tcon0_mode_set(mode);
>   		sunxi_composer_enable();
>
Anatolij Gustschin Jan. 22, 2015, 8:50 p.m. UTC | #2
Hi,

On Thu, 22 Jan 2015 20:52:26 +0100
Hans de Goede <hdegoede@redhat.com> wrote:

> Add support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
> lcd controller which needs to be initialized over SPI, once that is
> done they work like a regular LVDS panel.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Anatolij Gustschin <agust@denx.de>

Thanks,

Anatolij
Ian Campbell Jan. 23, 2015, 9:53 a.m. UTC | #3
On Thu, 2015-01-22 at 20:52 +0100, Hans de Goede wrote:
> Add support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
> lcd controller which needs to be initialized over SPI, once that is
> done they work like a regular LVDS panel.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Ian Campbell <ijc@hellion.org.uk>
diff mbox

Patch

diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
index f1501d4..8ac3d42 100644
--- a/board/sunxi/Kconfig
+++ b/board/sunxi/Kconfig
@@ -354,6 +354,13 @@  config VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
 	---help---
 	 7.85" 768x1024 LCD panels, such as LG LP079X01 or AUO B079XAN01.0
 
+config VIDEO_LCD_PANEL_HITACHI_TX18D42VM
+	bool "Hitachi tx18d42vm LCD panel"
+	select VIDEO_LCD_HITACHI_TX18D42VM
+	select VIDEO_LCD_IF_LVDS
+	---help---
+	 7.85" 1024x768 Hitachi tx18d42vm LCD panel support
+
 endchoice
 
 
diff --git a/drivers/video/sunxi_display.c b/drivers/video/sunxi_display.c
index a6e3778..5077111 100644
--- a/drivers/video/sunxi_display.c
+++ b/drivers/video/sunxi_display.c
@@ -20,6 +20,7 @@ 
 #include <fdt_support.h>
 #include <video_fb.h>
 #include "videomodes.h"
+#include "hitachi_tx18d42vm_lcd.h"
 #include "ssd2828.h"
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -1004,6 +1005,10 @@  static void sunxi_mode_set(const struct ctfb_res_modes *mode,
 		break;
 	case sunxi_monitor_lcd:
 		sunxi_lcdc_panel_enable();
+		if (IS_ENABLED(CONFIG_VIDEO_LCD_HITACHI_TX18D42VM)) {
+			mdelay(50); /* Wait for lcd controller power on */
+			hitachi_tx18d42vm_init();
+		}
 		sunxi_composer_mode_set(mode, address);
 		sunxi_lcdc_tcon0_mode_set(mode);
 		sunxi_composer_enable();