From patchwork Fri Jan 10 14:31:58 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Przemyslaw Marczak X-Patchwork-Id: 309299 X-Patchwork-Delegate: promsoft@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id C10C52C0096 for ; Sat, 11 Jan 2014 01:33:42 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6CA7E4AB78; Fri, 10 Jan 2014 15:33:32 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6G+z-x+LUZRq; Fri, 10 Jan 2014 15:33:32 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 0A3E14AB7F; Fri, 10 Jan 2014 15:32:52 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 9D6644AB26 for ; Fri, 10 Jan 2014 15:32:48 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zRRijK-xDLhk for ; Fri, 10 Jan 2014 15:32:44 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by theia.denx.de (Postfix) with ESMTPS id 57F1B4AAD8 for ; Fri, 10 Jan 2014 15:32:29 +0100 (CET) Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MZ6005J4WE15M50@mailout2.w1.samsung.com> for u-boot@lists.denx.de; Fri, 10 Jan 2014 14:32:25 +0000 (GMT) X-AuditID: cbfec7f5-b7fc96d000004885-69-52d0047a2e0b Received: from eusync3.samsung.com ( [203.254.199.213]) by eucpsbgm2.samsung.com (EUCPMTA) with SMTP id 5D.B6.18565.A7400D25; Fri, 10 Jan 2014 14:32:26 +0000 (GMT) Received: from AMDC1186.digital.local ([106.116.147.185]) by eusync3.samsung.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0MZ600K8EWDV0160@eusync3.samsung.com>; Fri, 10 Jan 2014 14:32:26 +0000 (GMT) From: Przemyslaw Marczak To: u-boot@lists.denx.de Date: Fri, 10 Jan 2014 15:31:58 +0100 Message-id: <3e987e7acfdfb20485bbf9e9ee5f1a5394408f98.1389352945.git.p.marczak@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: References: In-reply-to: References: <1386093806-2948-1-git-send-email-p.marczak@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupkluLIzCtJLcpLzFFi42I5/e/4Vd0qlgtBBkunm1tcP29nsXRGH6vF rr/3GS1u/GpjtXjzcDOjRceRFkaLHZdvsFise7KW1eLt3k52B06Ps3d2MHr0bVnFGMAUxWWT kpqTWZZapG+XwJUxa9IjloJt+hWd/+ayNjC+Uuti5OSQEDCRmPz4EDOELSZx4d56ti5GLg4h gaWMEtO2PGaFcPqYJLb07GQDqWITMJDYc+kMWIeIgITEr/6rjCBFzALXGCU+/b7MCJIQFgiV eL+8A6yIRUBV4uXe5ewgNq9ArMT36QeZuhg5gNYpSMyZZAMS5hSwlNjY/ZQJxBYSsJD40nuP CVO8WGLHz0mMExj5FzAyrGIUTS1NLihOSs810itOzC0uzUvXS87P3cQICb6vOxiXHrM6xCjA wajEw1sw63yQEGtiWXFl7iFGCQ5mJRFe+1dAId6UxMqq1KL8+KLSnNTiQ4xMHJxSDYxd3jsf pHfe6yi68yN3c0TitclXC7bM7p7ozVZfufaiwhbevNnxs81d4mvfv93u8Ex80p+Pk47VMImd m3HEzLAmzO0E8zSOjKXH7zLfqlVjYPjV99YgLNqyR0M0k3VlVMCxXVs49vezmTw8u3Gz1G/D 36VbfUq/2lQuqLEzZv4ilOhV08WcZKHEUpyRaKjFXFScCAA1yZEHHAIAAA== Cc: p.wilczek@samsung.com, dh09.lee@samsung.com, jh80.chung@samsung.com, Przemyslaw Marczak Subject: [U-Boot] [PATCH v5 04/12] samsung: misc: move display logo function to misc.c file. X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de board/samsung/common/misc.c: - move draw_logo() function from exynos_fb.c - add get_tizen_logo_info() function call removed from board files boards: - update board files - add CONFIG_MISC_INIT_R to Universal, Trats and Trats2 Signed-off-by: Przemyslaw Marczak Tested-by: Hyungwon Hwang --- changes v2: - configs cleanup - add check logo address before display Changes v3: - none Changes v4: - none Changes v5: - none board/samsung/common/misc.c | 42 ++++++++++++++++++++++++++++++ board/samsung/trats/trats.c | 3 --- board/samsung/trats2/trats2.c | 4 --- board/samsung/universal_c210/universal.c | 4 --- drivers/video/exynos_fb.c | 28 -------------------- include/configs/s5pc210_universal.h | 3 +++ include/configs/trats.h | 3 +++ include/configs/trats2.h | 3 +++ 8 files changed, 51 insertions(+), 39 deletions(-) diff --git a/board/samsung/common/misc.c b/board/samsung/common/misc.c index 3764d12..6188e29 100644 --- a/board/samsung/common/misc.c +++ b/board/samsung/common/misc.c @@ -6,9 +6,51 @@ */ #include +#include +#include + +#ifdef CONFIG_CMD_BMP +static void draw_logo(void) +{ + int x, y; + ulong addr; + +#ifdef CONFIG_TIZEN + get_tizen_logo_info(&panel_info); +#else + return; +#endif + + addr = panel_info.logo_addr; + if (!addr) { + error("There is no logo data."); + return; + } + + if (panel_info.vl_width >= panel_info.logo_width) { + x = ((panel_info.vl_width - panel_info.logo_width) >> 1); + } else { + x = 0; + printf("Warning: image width is bigger than display width\n"); + } + + if (panel_info.vl_height >= panel_info.logo_height) { + y = ((panel_info.vl_height - panel_info.logo_height) >> 1); + } else { + y = 0; + printf("Warning: image height is bigger than display height\n"); + } + + bmp_display(addr, x, y); +} +#endif /* CONFIG_CMD_BMP */ /* Common for Samsung boards */ int misc_init_r(void) { +#ifdef CONFIG_CMD_BMP + if (panel_info.logo_on) + draw_logo(); +#endif return 0; } diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c index 640a193..cd27f18 100644 --- a/board/samsung/trats/trats.c +++ b/board/samsung/trats/trats.c @@ -770,9 +770,6 @@ void init_panel_info(vidinfo_t *vid) vid->resolution = HD_RESOLUTION, vid->rgb_mode = MODE_RGB_P, -#ifdef CONFIG_TIZEN - get_tizen_logo_info(vid); -#endif mipi_lcd_device.reverse_panel = 1; strcpy(s6e8ax0_platform_data.lcd_panel_name, mipi_lcd_device.name); diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c index b4ccf51..9a2c212 100644 --- a/board/samsung/trats2/trats2.c +++ b/board/samsung/trats2/trats2.c @@ -596,10 +596,6 @@ void init_panel_info(vidinfo_t *vid) mipi_lcd_device.reverse_panel = 1; -#ifdef CONFIG_TIZEN - get_tizen_logo_info(vid); -#endif - strcpy(dsim_platform_data.lcd_panel_name, mipi_lcd_device.name); dsim_platform_data.mipi_power = mipi_power; dsim_platform_data.phy_enable = set_mipi_phy_ctrl; diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index 54d0e1e..166d5ee 100644 --- a/board/samsung/universal_c210/universal.c +++ b/board/samsung/universal_c210/universal.c @@ -484,10 +484,6 @@ void init_panel_info(vidinfo_t *vid) vid->resolution = HD_RESOLUTION; vid->rgb_mode = MODE_RGB_P; -#ifdef CONFIG_TIZEN - get_tizen_logo_info(vid); -#endif - /* for LD9040. */ vid->pclk_name = 1; /* MPLL */ vid->sclk_div = 1; diff --git a/drivers/video/exynos_fb.c b/drivers/video/exynos_fb.c index 7d4c6e0..00a0a11 100644 --- a/drivers/video/exynos_fb.c +++ b/drivers/video/exynos_fb.c @@ -62,31 +62,6 @@ static void exynos_lcd_init(vidinfo_t *vid) lcd_set_flush_dcache(1); } -#ifdef CONFIG_CMD_BMP -static void draw_logo(void) -{ - int x, y; - ulong addr; - - if (panel_width >= panel_info.logo_width) { - x = ((panel_width - panel_info.logo_width) >> 1); - } else { - x = 0; - printf("Warning: image width is bigger than display width\n"); - } - - if (panel_height >= panel_info.logo_height) { - y = ((panel_height - panel_info.logo_height) >> 1) - 4; - } else { - y = 0; - printf("Warning: image height is bigger than display height\n"); - } - - addr = panel_info.logo_addr; - bmp_display(addr, x, y); -} -#endif - void __exynos_cfg_lcd_gpio(void) { } @@ -323,9 +298,6 @@ void lcd_enable(void) if (panel_info.logo_on) { memset((void *) gd->fb_base, 0, panel_width * panel_height * (NBITS(panel_info.vl_bpix) >> 3)); -#ifdef CONFIG_CMD_BMP - draw_logo(); -#endif } lcd_panel_on(&panel_info); diff --git a/include/configs/s5pc210_universal.h b/include/configs/s5pc210_universal.h index 02a1c99..8a749f2 100644 --- a/include/configs/s5pc210_universal.h +++ b/include/configs/s5pc210_universal.h @@ -269,6 +269,9 @@ void universal_spi_sda(int bit); int universal_spi_read(void); #endif +/* Common misc for Samsung */ +#define CONFIG_MISC_INIT_R + /* * LCD Settings */ diff --git a/include/configs/trats.h b/include/configs/trats.h index 9727f7a..1a75bb3 100644 --- a/include/configs/trats.h +++ b/include/configs/trats.h @@ -301,6 +301,9 @@ #define CONFIG_USB_GADGET_VBUS_DRAW 2 #define CONFIG_USB_CABLE_CHECK +/* Common misc for Samsung */ +#define CONFIG_MISC_INIT_R + /* LCD */ #define CONFIG_EXYNOS_FB #define CONFIG_LCD diff --git a/include/configs/trats2.h b/include/configs/trats2.h index 7dfbe98..e54fe52 100644 --- a/include/configs/trats2.h +++ b/include/configs/trats2.h @@ -312,6 +312,9 @@ int get_soft_i2c_sda_pin(void); #define CONFIG_USB_GADGET_VBUS_DRAW 2 #define CONFIG_USB_CABLE_CHECK +/* Common misc for Samsung */ +#define CONFIG_MISC_INIT_R + /* LCD */ #define CONFIG_EXYNOS_FB #define CONFIG_LCD