summaryrefslogtreecommitdiff
path: root/drivers/video/exynos_fb.c
diff options
context:
space:
mode:
authorDonghwa Lee <dh09.lee@samsung.com>2012-05-09 19:23:46 +0000
committerAnatolij Gustschin <agust@denx.de>2012-05-25 09:15:10 +0200
commit90464971f999032fec077bc081b578131b2a3319 (patch)
treec9ac1ec56baf43ac913eeb3734b216dd8f6132f5 /drivers/video/exynos_fb.c
parent5a4c59be8968ed332faedfaa534b4469fb4db3c4 (diff)
downloadu-boot-imx-90464971f999032fec077bc081b578131b2a3319.zip
u-boot-imx-90464971f999032fec077bc081b578131b2a3319.tar.gz
u-boot-imx-90464971f999032fec077bc081b578131b2a3319.tar.bz2
EXYNOS: display 32bpp bitmap TIZEN logo
This patch supports drawing 32bpp bitmap TIZEN logo in exynos fb. "tizen_hd_logo.h" data is compressed from trats_logo.bmp to trats_logo.bmp.gz by gzip and converted to tizen_hd_logo.h header file format by some application. The logo data is decompressed in the exynos fb driver by bmp_display(). Signed-off-by: Donghwa Lee <dh09.lee@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'drivers/video/exynos_fb.c')
-rw-r--r--drivers/video/exynos_fb.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c
index a1cf449..92be4ea 100644
--- a/drivers/video/exynos_fb.c
+++ b/drivers/video/exynos_fb.c
@@ -67,6 +67,18 @@ static void exynos_lcd_init(vidinfo_t *vid)
exynos_fimd_lcd_init(vid);
}
+static void draw_logo(void)
+{
+ int x, y;
+ ulong addr;
+
+ x = ((panel_width - panel_info.logo_width) >> 1);
+ y = ((panel_height - panel_info.logo_height) >> 1) - 4;
+
+ addr = panel_info.logo_addr;
+ bmp_display(addr, x, y);
+}
+
static void lcd_panel_on(vidinfo_t *vid)
{
udelay(vid->init_delay);
@@ -118,6 +130,13 @@ void lcd_ctrl_init(void *lcdbase)
void lcd_enable(void)
{
+ if (panel_info.logo_on) {
+ memset(lcd_base, 0, panel_width * panel_height *
+ (NBITS(panel_info.vl_bpix) >> 3));
+
+ draw_logo();
+ }
+
lcd_panel_on(&panel_info);
}