mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-19 05:31:32 +00:00
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>
This commit is contained in:
parent
2fbf091a54
commit
e2bbdfb1e3
2 changed files with 23 additions and 0 deletions
|
@ -294,6 +294,15 @@ config VIDEO_HDMI
|
||||||
---help---
|
---help---
|
||||||
Say Y here to add support for outputting video over HDMI.
|
Say Y here to add support for outputting video over HDMI.
|
||||||
|
|
||||||
|
config VIDEO_VGA_VIA_LCD
|
||||||
|
boolean "VGA via LCD controller support"
|
||||||
|
depends on VIDEO
|
||||||
|
default n
|
||||||
|
---help---
|
||||||
|
Say Y here to add support for external DACs connected to the parallel
|
||||||
|
LCD interface driving a VGA connector, such as found on the
|
||||||
|
Olimex A13 boards.
|
||||||
|
|
||||||
config VIDEO_LCD_MODE
|
config VIDEO_LCD_MODE
|
||||||
string "LCD panel timing details"
|
string "LCD panel timing details"
|
||||||
depends on VIDEO
|
depends on VIDEO
|
||||||
|
|
|
@ -767,6 +767,12 @@ static void sunxi_mode_set(const struct ctfb_res_modes *mode,
|
||||||
sunxi_lcdc_backlight_enable();
|
sunxi_lcdc_backlight_enable();
|
||||||
break;
|
break;
|
||||||
case sunxi_monitor_vga:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -808,6 +814,8 @@ void *video_hw_init(void)
|
||||||
hpd = video_get_option_int(options, "hpd", 1);
|
hpd = video_get_option_int(options, "hpd", 1);
|
||||||
edid = video_get_option_int(options, "edid", 1);
|
edid = video_get_option_int(options, "edid", 1);
|
||||||
sunxi_display.monitor = sunxi_monitor_dvi;
|
sunxi_display.monitor = sunxi_monitor_dvi;
|
||||||
|
#elif defined CONFIG_VIDEO_VGA_VIA_LCD
|
||||||
|
sunxi_display.monitor = sunxi_monitor_vga;
|
||||||
#else
|
#else
|
||||||
sunxi_display.monitor = sunxi_monitor_lcd;
|
sunxi_display.monitor = sunxi_monitor_lcd;
|
||||||
#endif
|
#endif
|
||||||
|
@ -860,8 +868,13 @@ void *video_hw_init(void)
|
||||||
printf("LCD not supported on this board\n");
|
printf("LCD not supported on this board\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
case sunxi_monitor_vga:
|
case sunxi_monitor_vga:
|
||||||
|
#ifdef CONFIG_VIDEO_VGA_VIA_LCD
|
||||||
|
sunxi_display.depth = 18;
|
||||||
|
break;
|
||||||
|
#else
|
||||||
printf("VGA not supported on this board\n");
|
printf("VGA not supported on this board\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode->vmode != FB_VMODE_NONINTERLACED) {
|
if (mode->vmode != FB_VMODE_NONINTERLACED) {
|
||||||
|
@ -914,6 +927,7 @@ int sunxi_simplefb_setup(void *blob)
|
||||||
pipeline = "de_be0-lcd0";
|
pipeline = "de_be0-lcd0";
|
||||||
break;
|
break;
|
||||||
case sunxi_monitor_vga:
|
case sunxi_monitor_vga:
|
||||||
|
pipeline = "de_be0-lcd0";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue