mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
video: lcd: Add CONFIG_SPLASH_SCREEN_PREPARE support to CONFIG_VIDEO
Create splash.c/h to put the function and any future common splash screen code in. Signed-off-by: Robert Winkler <robert.winkler@boundarydevices.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il>
This commit is contained in:
parent
f7ef9d610c
commit
dd4425e852
6 changed files with 72 additions and 16 deletions
|
@ -196,6 +196,7 @@ COBJS-y += flash.o
|
||||||
COBJS-$(CONFIG_CMD_KGDB) += kgdb.o kgdb_stubs.o
|
COBJS-$(CONFIG_CMD_KGDB) += kgdb.o kgdb_stubs.o
|
||||||
COBJS-$(CONFIG_I2C_EDID) += edid.o
|
COBJS-$(CONFIG_I2C_EDID) += edid.o
|
||||||
COBJS-$(CONFIG_KALLSYMS) += kallsyms.o
|
COBJS-$(CONFIG_KALLSYMS) += kallsyms.o
|
||||||
|
COBJS-y += splash.o
|
||||||
COBJS-$(CONFIG_LCD) += lcd.o
|
COBJS-$(CONFIG_LCD) += lcd.o
|
||||||
COBJS-$(CONFIG_LYNXKDI) += lynxkdi.o
|
COBJS-$(CONFIG_LYNXKDI) += lynxkdi.o
|
||||||
COBJS-$(CONFIG_MENU) += menu.o
|
COBJS-$(CONFIG_MENU) += menu.o
|
||||||
|
|
16
common/lcd.c
16
common/lcd.c
|
@ -43,6 +43,8 @@
|
||||||
#include <lcd.h>
|
#include <lcd.h>
|
||||||
#include <watchdog.h>
|
#include <watchdog.h>
|
||||||
|
|
||||||
|
#include <splash.h>
|
||||||
|
|
||||||
#if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
|
#if defined(CONFIG_CPU_PXA25X) || defined(CONFIG_CPU_PXA27X) || \
|
||||||
defined(CONFIG_CPU_MONAHANS)
|
defined(CONFIG_CPU_MONAHANS)
|
||||||
#define CONFIG_CPU_PXA
|
#define CONFIG_CPU_PXA
|
||||||
|
@ -1072,18 +1074,6 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SPLASH_SCREEN_PREPARE
|
|
||||||
static inline int splash_screen_prepare(void)
|
|
||||||
{
|
|
||||||
return board_splash_screen_prepare();
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
static inline int splash_screen_prepare(void)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void *lcd_logo(void)
|
static void *lcd_logo(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SPLASH_SCREEN
|
#ifdef CONFIG_SPLASH_SCREEN
|
||||||
|
@ -1096,7 +1086,7 @@ static void *lcd_logo(void)
|
||||||
do_splash = 0;
|
do_splash = 0;
|
||||||
|
|
||||||
if (splash_screen_prepare())
|
if (splash_screen_prepare())
|
||||||
return (void *)gd->fb_base;
|
return (void *)lcd_base;
|
||||||
|
|
||||||
addr = simple_strtoul (s, NULL, 16);
|
addr = simple_strtoul (s, NULL, 16);
|
||||||
#ifdef CONFIG_SPLASH_SCREEN_ALIGN
|
#ifdef CONFIG_SPLASH_SCREEN_ALIGN
|
||||||
|
|
36
common/splash.c
Normal file
36
common/splash.c
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2013, Boundary Devices <info@boundarydevices.com>
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., http://www.fsf.org/about/contact/
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <splash.h>
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPLASH_SCREEN_PREPARE
|
||||||
|
int splash_screen_prepare(void)
|
||||||
|
{
|
||||||
|
return board_splash_screen_prepare();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
int splash_screen_prepare(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
|
@ -181,6 +181,8 @@
|
||||||
*/
|
*/
|
||||||
#include <video_fb.h>
|
#include <video_fb.h>
|
||||||
|
|
||||||
|
#include <splash.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* some Macros
|
* some Macros
|
||||||
*/
|
*/
|
||||||
|
@ -1995,10 +1997,9 @@ static void *video_logo(void)
|
||||||
#ifdef CONFIG_SPLASH_SCREEN
|
#ifdef CONFIG_SPLASH_SCREEN
|
||||||
s = getenv("splashimage");
|
s = getenv("splashimage");
|
||||||
if (s != NULL) {
|
if (s != NULL) {
|
||||||
|
splash_screen_prepare();
|
||||||
addr = simple_strtoul(s, NULL, 16);
|
addr = simple_strtoul(s, NULL, 16);
|
||||||
|
|
||||||
|
|
||||||
if (video_display_bitmap(addr,
|
if (video_display_bitmap(addr,
|
||||||
video_logo_xpos,
|
video_logo_xpos,
|
||||||
video_logo_ypos) == 0) {
|
video_logo_ypos) == 0) {
|
||||||
|
|
|
@ -37,7 +37,6 @@ extern struct vidinfo panel_info;
|
||||||
|
|
||||||
void lcd_ctrl_init(void *lcdbase);
|
void lcd_ctrl_init(void *lcdbase);
|
||||||
void lcd_enable(void);
|
void lcd_enable(void);
|
||||||
int board_splash_screen_prepare(void);
|
|
||||||
|
|
||||||
/* setcolreg used in 8bpp/16bpp; initcolregs used in monochrome */
|
/* setcolreg used in 8bpp/16bpp; initcolregs used in monochrome */
|
||||||
void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue);
|
void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue);
|
||||||
|
|
29
include/splash.h
Normal file
29
include/splash.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2013, Boundary Devices <info@boundarydevices.com>
|
||||||
|
*
|
||||||
|
* See file CREDITS for list of people who contributed to this
|
||||||
|
* project.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., http://www.fsf.org/about/contact/
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SPLASH_H_
|
||||||
|
#define _SPLASH_H_
|
||||||
|
|
||||||
|
|
||||||
|
int splash_screen_prepare(void);
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Reference in a new issue