mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
samsung: common: Add file for common functions, draw_logo() cleanup.
Changes: new file: - board/samsung/common/misc.c depends on: CONFIG_MISC_COMMON - move draw_logo() to misc.c configs: trats, trats2, universal: - enable CONFIG_MISC_COMMON, - enable CONFIG_MISC_INIT_R, - add misc_init_r() and call draw_logo() in it. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
7f39b06782
commit
679549d180
10 changed files with 91 additions and 29 deletions
|
@ -8,6 +8,7 @@
|
|||
obj-$(CONFIG_SOFT_I2C_MULTI_BUS) += multi_i2c.o
|
||||
obj-$(CONFIG_THOR_FUNCTION) += thor.o
|
||||
obj-$(CONFIG_CMD_USB_MASS_STORAGE) += ums.o
|
||||
obj-$(CONFIG_MISC_COMMON) += misc.o
|
||||
|
||||
ifndef CONFIG_SPL_BUILD
|
||||
obj-$(CONFIG_BOARD_COMMON) += board.o
|
||||
|
|
41
board/samsung/common/misc.c
Normal file
41
board/samsung/common/misc.c
Normal file
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Samsung Electronics
|
||||
* Przemyslaw Marczak <p.marczak@samsung.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <lcd.h>
|
||||
#include <libtizen.h>
|
||||
#include <samsung/misc.h>
|
||||
|
||||
#ifdef CONFIG_CMD_BMP
|
||||
void draw_logo(void)
|
||||
{
|
||||
int x, y;
|
||||
ulong addr;
|
||||
|
||||
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 */
|
|
@ -786,3 +786,14 @@ void init_panel_info(vidinfo_t *vid)
|
|||
|
||||
setenv("lcdinfo", "lcd=s6e8ax0");
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MISC_INIT_R
|
||||
int misc_init_r(void)
|
||||
{
|
||||
#ifdef CONFIG_CMD_BMP
|
||||
if (panel_info.logo_on)
|
||||
draw_logo();
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -615,6 +615,10 @@ void init_panel_info(vidinfo_t *vid)
|
|||
#ifdef CONFIG_MISC_INIT_R
|
||||
int misc_init_r(void)
|
||||
{
|
||||
#ifdef CONFIG_CMD_BMP
|
||||
if (panel_info.logo_on)
|
||||
draw_logo();
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -511,3 +511,14 @@ int board_init(void)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MISC_INIT_R
|
||||
int misc_init_r(void)
|
||||
{
|
||||
#ifdef CONFIG_CMD_BMP
|
||||
if (panel_info.logo_on)
|
||||
draw_logo();
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -269,6 +269,11 @@ void universal_spi_sda(int bit);
|
|||
int universal_spi_read(void);
|
||||
#endif
|
||||
|
||||
/* Common misc for Samsung */
|
||||
#define CONFIG_MISC_COMMON
|
||||
|
||||
#define CONFIG_MISC_INIT_R
|
||||
|
||||
/*
|
||||
* LCD Settings
|
||||
*/
|
||||
|
|
|
@ -306,6 +306,11 @@
|
|||
#define CONFIG_USB_GADGET_VBUS_DRAW 2
|
||||
#define CONFIG_USB_CABLE_CHECK
|
||||
|
||||
/* Common misc for Samsung */
|
||||
#define CONFIG_MISC_COMMON
|
||||
|
||||
#define CONFIG_MISC_INIT_R
|
||||
|
||||
/* LCD */
|
||||
#define CONFIG_EXYNOS_FB
|
||||
#define CONFIG_LCD
|
||||
|
|
|
@ -277,7 +277,6 @@
|
|||
#define CONFIG_EFI_PARTITION
|
||||
#define CONFIG_PARTITION_UUIDS
|
||||
|
||||
#define CONFIG_MISC_INIT_R
|
||||
#define CONFIG_BOARD_EARLY_INIT_F
|
||||
|
||||
/* I2C */
|
||||
|
@ -318,6 +317,11 @@ 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_COMMON
|
||||
|
||||
#define CONFIG_MISC_INIT_R
|
||||
|
||||
/* LCD */
|
||||
#define CONFIG_EXYNOS_FB
|
||||
#define CONFIG_LCD
|
||||
|
|
8
include/samsung/misc.h
Normal file
8
include/samsung/misc.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#ifndef __SAMSUNG_MISC_COMMON_H__
|
||||
#define __SAMSUNG_MISC_COMMON_H__
|
||||
|
||||
#ifdef CONFIG_CMD_BMP
|
||||
void draw_logo(void);
|
||||
#endif
|
||||
|
||||
#endif /* __SAMSUNG_MISC_COMMON_H__ */
|
Loading…
Reference in a new issue