mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-02 01:19:49 +00:00
video: exynos fb driver supports display port feature
If dp_enabled was set, exynos fb driver support display port feature. This patch depends on [PATCH] video: support exynos fimd driver for various exynos series. http://marc.info/?l=u-boot&m=134119605104467&w=2 Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
5addfcfca7
commit
a29c832263
3 changed files with 21 additions and 1 deletions
|
@ -151,6 +151,8 @@ struct exynos_fb {
|
||||||
|
|
||||||
unsigned char res15[156];
|
unsigned char res15[156];
|
||||||
unsigned int dualrgb;
|
unsigned int dualrgb;
|
||||||
|
unsigned char res16[16];
|
||||||
|
unsigned int dp_mie_clkcon;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include <asm/arch/clock.h>
|
#include <asm/arch/clock.h>
|
||||||
#include <asm/arch/clk.h>
|
#include <asm/arch/clk.h>
|
||||||
#include <asm/arch/mipi_dsim.h>
|
#include <asm/arch/mipi_dsim.h>
|
||||||
|
#include <asm/arch/dp_info.h>
|
||||||
#include <asm/arch/system.h>
|
#include <asm/arch/system.h>
|
||||||
|
|
||||||
#include "exynos_fb.h"
|
#include "exynos_fb.h"
|
||||||
|
@ -91,6 +92,9 @@ static void lcd_panel_on(vidinfo_t *vid)
|
||||||
|
|
||||||
udelay(vid->power_on_delay);
|
udelay(vid->power_on_delay);
|
||||||
|
|
||||||
|
if (vid->dp_enabled)
|
||||||
|
exynos_init_dp();
|
||||||
|
|
||||||
if (vid->reset_lcd) {
|
if (vid->reset_lcd) {
|
||||||
vid->reset_lcd();
|
vid->reset_lcd();
|
||||||
udelay(vid->reset_delay);
|
udelay(vid->reset_delay);
|
||||||
|
@ -130,7 +134,6 @@ void lcd_enable(void)
|
||||||
if (panel_info.logo_on) {
|
if (panel_info.logo_on) {
|
||||||
memset(lcd_base, 0, panel_width * panel_height *
|
memset(lcd_base, 0, panel_width * panel_height *
|
||||||
(NBITS(panel_info.vl_bpix) >> 3));
|
(NBITS(panel_info.vl_bpix) >> 3));
|
||||||
|
|
||||||
draw_logo();
|
draw_logo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,19 @@ static void exynos_fimd_set_dualrgb(unsigned int enabled)
|
||||||
writel(cfg, &fimd_ctrl->dualrgb);
|
writel(cfg, &fimd_ctrl->dualrgb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void exynos_fimd_set_dp_clkcon(unsigned int enabled)
|
||||||
|
{
|
||||||
|
|
||||||
|
struct exynos_fb *fimd_ctrl =
|
||||||
|
(struct exynos_fb *)samsung_get_base_fimd();
|
||||||
|
unsigned int cfg = 0;
|
||||||
|
|
||||||
|
if (enabled)
|
||||||
|
cfg = EXYNOS_DP_CLK_ENABLE;
|
||||||
|
|
||||||
|
writel(cfg, &fimd_ctrl->dp_mie_clkcon);
|
||||||
|
}
|
||||||
|
|
||||||
static void exynos_fimd_set_par(unsigned int win_id)
|
static void exynos_fimd_set_par(unsigned int win_id)
|
||||||
{
|
{
|
||||||
unsigned int cfg = 0;
|
unsigned int cfg = 0;
|
||||||
|
@ -356,6 +369,8 @@ void exynos_fimd_lcd_init(vidinfo_t *vid)
|
||||||
|
|
||||||
/* window on */
|
/* window on */
|
||||||
exynos_fimd_window_on(pvid->win_id);
|
exynos_fimd_window_on(pvid->win_id);
|
||||||
|
|
||||||
|
exynos_fimd_set_dp_clkcon(pvid->dp_enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long exynos_fimd_calc_fbsize(void)
|
unsigned long exynos_fimd_calc_fbsize(void)
|
||||||
|
|
Loading…
Reference in a new issue