diff options
author | Chen-Yu Tsai <wens@csie.org> | 2015-01-12 10:02:11 (GMT) |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2015-01-14 13:56:40 (GMT) |
commit | 507e27dfc9d6e1d196925dfd32409661cade45c0 (patch) | |
tree | 810835d8e46544caceaf44e745259cab4540a9f0 | |
parent | 2583d5b192fd31449abc74d239c149e02396926b (diff) | |
download | u-boot-fsl-qoriq-507e27dfc9d6e1d196925dfd32409661cade45c0.tar.xz |
sunxi: video: Add support for external DAC enable pin
The external DAC for VGA output might have either a power or reset
control pin that needs to be pulled up, as is the case on the
Hummingbird A31.
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r-- | board/sunxi/Kconfig | 8 | ||||
-rw-r--r-- | drivers/video/sunxi_display.c | 14 |
2 files changed, 22 insertions, 0 deletions
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig index 5822b41..c5105bb 100644 --- a/board/sunxi/Kconfig +++ b/board/sunxi/Kconfig @@ -314,6 +314,14 @@ config VIDEO_VGA_VIA_LCD LCD interface driving a VGA connector, such as found on the Olimex A13 boards. +config VIDEO_VGA_EXTERNAL_DAC_EN + string "LCD panel power enable pin" + depends on VIDEO_VGA_VIA_LCD + default "" + ---help--- + Set the enable pin for the external VGA DAC. This takes a string in the + format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. + config VIDEO_LCD_MODE string "LCD panel timing details" depends on VIDEO diff --git a/drivers/video/sunxi_display.c b/drivers/video/sunxi_display.c index 47d820d..d92dfa8 100644 --- a/drivers/video/sunxi_display.c +++ b/drivers/video/sunxi_display.c @@ -813,6 +813,19 @@ static void sunxi_drc_init(void) #endif } +#ifdef CONFIG_VIDEO_VGA_VIA_LCD +static void sunxi_vga_external_dac_enable(void) +{ + int pin; + + pin = sunxi_name_to_gpio(CONFIG_VIDEO_VGA_EXTERNAL_DAC_EN); + if (pin != -1) { + gpio_request(pin, "vga_enable"); + gpio_direction_output(pin, 1); + } +} +#endif /* CONFIG_VIDEO_VGA_VIA_LCD */ + static void sunxi_engines_init(void) { sunxi_composer_init(); @@ -860,6 +873,7 @@ static void sunxi_mode_set(const struct ctfb_res_modes *mode, sunxi_lcdc_tcon0_mode_set(mode); sunxi_composer_enable(); sunxi_lcdc_enable(); + sunxi_vga_external_dac_enable(); #endif break; } |