mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +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_SOFT_I2C_MULTI_BUS) += multi_i2c.o
|
||||||
obj-$(CONFIG_THOR_FUNCTION) += thor.o
|
obj-$(CONFIG_THOR_FUNCTION) += thor.o
|
||||||
obj-$(CONFIG_CMD_USB_MASS_STORAGE) += ums.o
|
obj-$(CONFIG_CMD_USB_MASS_STORAGE) += ums.o
|
||||||
|
obj-$(CONFIG_MISC_COMMON) += misc.o
|
||||||
|
|
||||||
ifndef CONFIG_SPL_BUILD
|
ifndef CONFIG_SPL_BUILD
|
||||||
obj-$(CONFIG_BOARD_COMMON) += board.o
|
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");
|
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
|
#ifdef CONFIG_MISC_INIT_R
|
||||||
int misc_init_r(void)
|
int misc_init_r(void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_CMD_BMP
|
||||||
|
if (panel_info.logo_on)
|
||||||
|
draw_logo();
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -511,3 +511,14 @@ int board_init(void)
|
||||||
|
|
||||||
return 0;
|
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);
|
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)
|
void __exynos_cfg_lcd_gpio(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -323,9 +298,6 @@ void lcd_enable(void)
|
||||||
if (panel_info.logo_on) {
|
if (panel_info.logo_on) {
|
||||||
memset((void *) gd->fb_base, 0, panel_width * panel_height *
|
memset((void *) gd->fb_base, 0, panel_width * panel_height *
|
||||||
(NBITS(panel_info.vl_bpix) >> 3));
|
(NBITS(panel_info.vl_bpix) >> 3));
|
||||||
#ifdef CONFIG_CMD_BMP
|
|
||||||
draw_logo();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lcd_panel_on(&panel_info);
|
lcd_panel_on(&panel_info);
|
||||||
|
|
|
@ -269,6 +269,11 @@ void universal_spi_sda(int bit);
|
||||||
int universal_spi_read(void);
|
int universal_spi_read(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Common misc for Samsung */
|
||||||
|
#define CONFIG_MISC_COMMON
|
||||||
|
|
||||||
|
#define CONFIG_MISC_INIT_R
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LCD Settings
|
* LCD Settings
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -306,6 +306,11 @@
|
||||||
#define CONFIG_USB_GADGET_VBUS_DRAW 2
|
#define CONFIG_USB_GADGET_VBUS_DRAW 2
|
||||||
#define CONFIG_USB_CABLE_CHECK
|
#define CONFIG_USB_CABLE_CHECK
|
||||||
|
|
||||||
|
/* Common misc for Samsung */
|
||||||
|
#define CONFIG_MISC_COMMON
|
||||||
|
|
||||||
|
#define CONFIG_MISC_INIT_R
|
||||||
|
|
||||||
/* LCD */
|
/* LCD */
|
||||||
#define CONFIG_EXYNOS_FB
|
#define CONFIG_EXYNOS_FB
|
||||||
#define CONFIG_LCD
|
#define CONFIG_LCD
|
||||||
|
|
|
@ -277,7 +277,6 @@
|
||||||
#define CONFIG_EFI_PARTITION
|
#define CONFIG_EFI_PARTITION
|
||||||
#define CONFIG_PARTITION_UUIDS
|
#define CONFIG_PARTITION_UUIDS
|
||||||
|
|
||||||
#define CONFIG_MISC_INIT_R
|
|
||||||
#define CONFIG_BOARD_EARLY_INIT_F
|
#define CONFIG_BOARD_EARLY_INIT_F
|
||||||
|
|
||||||
/* I2C */
|
/* I2C */
|
||||||
|
@ -318,6 +317,11 @@ int get_soft_i2c_sda_pin(void);
|
||||||
#define CONFIG_USB_GADGET_VBUS_DRAW 2
|
#define CONFIG_USB_GADGET_VBUS_DRAW 2
|
||||||
#define CONFIG_USB_CABLE_CHECK
|
#define CONFIG_USB_CABLE_CHECK
|
||||||
|
|
||||||
|
/* Common misc for Samsung */
|
||||||
|
#define CONFIG_MISC_COMMON
|
||||||
|
|
||||||
|
#define CONFIG_MISC_INIT_R
|
||||||
|
|
||||||
/* LCD */
|
/* LCD */
|
||||||
#define CONFIG_EXYNOS_FB
|
#define CONFIG_EXYNOS_FB
|
||||||
#define CONFIG_LCD
|
#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