diff options
author | Hans de Goede <hdegoede@redhat.com> | 2014-12-24 12:17:07 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2015-01-14 14:56:39 +0100 |
commit | e2bbdfb1e3a3def3586703622a4dade46019f943 (patch) | |
tree | 2b772d2c0d087a21f040cb13fa587afcfd5d65eb /drivers | |
parent | 2fbf091a547177fcf1a4b31b01ee0636c2a4aedc (diff) | |
download | u-boot-e2bbdfb1e3a3def3586703622a4dade46019f943.tar.gz u-boot-e2bbdfb1e3a3def3586703622a4dade46019f943.tar.xz u-boot-e2bbdfb1e3a3def3586703622a4dade46019f943.zip |
sunxi: video: Add support for VGA via external DACs connected to the LCD pins
Add support for external DACs connected to the parallel LCD interface driving
a VGA connector, such as found on the Olimex A13 boards.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/sunxi_display.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/sunxi_display.c b/drivers/video/sunxi_display.c index 98ff94245d..e01c8f5b2c 100644 --- a/drivers/video/sunxi_display.c +++ b/drivers/video/sunxi_display.c @@ -767,6 +767,12 @@ static void sunxi_mode_set(const struct ctfb_res_modes *mode, sunxi_lcdc_backlight_enable(); break; case sunxi_monitor_vga: +#ifdef CONFIG_VIDEO_VGA_VIA_LCD + sunxi_composer_mode_set(mode, address); + sunxi_lcdc_tcon0_mode_set(mode); + sunxi_composer_enable(); + sunxi_lcdc_enable(); +#endif break; } } @@ -808,6 +814,8 @@ void *video_hw_init(void) hpd = video_get_option_int(options, "hpd", 1); edid = video_get_option_int(options, "edid", 1); sunxi_display.monitor = sunxi_monitor_dvi; +#elif defined CONFIG_VIDEO_VGA_VIA_LCD + sunxi_display.monitor = sunxi_monitor_vga; #else sunxi_display.monitor = sunxi_monitor_lcd; #endif @@ -860,8 +868,13 @@ void *video_hw_init(void) printf("LCD not supported on this board\n"); return NULL; case sunxi_monitor_vga: +#ifdef CONFIG_VIDEO_VGA_VIA_LCD + sunxi_display.depth = 18; + break; +#else printf("VGA not supported on this board\n"); return NULL; +#endif } if (mode->vmode != FB_VMODE_NONINTERLACED) { @@ -914,6 +927,7 @@ int sunxi_simplefb_setup(void *blob) pipeline = "de_be0-lcd0"; break; case sunxi_monitor_vga: + pipeline = "de_be0-lcd0"; break; } |