This relies on the old LCD implementation which is to be removed. Drop it.
Signed-off-by: Simon Glass <sjg@chromium.org>
#include <asm/unaligned.h>
#include <video_font.h>
-#ifdef CONFIG_LCD_LOGO
-#include <bmp_logo.h>
-#include <bmp_logo_data.h>
-#if (CONSOLE_COLOR_WHITE >= BMP_LOGO_OFFSET) && (LCD_BPP != LCD_COLOR16)
-#error Default Color Map overlaps with Logo Color Map
-#endif
-#endif
-
#if (LCD_BPP != LCD_COLOR8) && (LCD_BPP != LCD_COLOR16) && \
(LCD_BPP != LCD_COLOR32)
#error Unsupported LCD BPP.
}
lcd_logo();
-#if defined(CONFIG_LCD_LOGO)
- addr = (ulong)lcd_base + BMP_LOGO_HEIGHT * lcd_line_length;
- lcd_init_console((void *)addr, panel_info.vl_col,
- panel_info.vl_row, panel_info.vl_rot);
-#endif
lcd_sync();
}
return lcd_color_bg;
}
-#ifdef CONFIG_LCD_LOGO
-__weak void lcd_logo_set_cmap(void)
-{
- int i;
- ushort *cmap = configuration_get_cmap();
-
- for (i = 0; i < ARRAY_SIZE(bmp_logo_palette); ++i)
- *cmap++ = bmp_logo_palette[i];
-}
-
-void lcd_logo_plot(int x, int y)
-{
- ushort i, j;
- uchar *bmap = &bmp_logo_bitmap[0];
- unsigned bpix = NBITS(panel_info.vl_bpix);
- uchar *fb = (uchar *)(lcd_base + y * lcd_line_length + x * bpix / 8);
- ushort *fb16;
-
- debug("Logo: width %d height %d colors %d\n",
- BMP_LOGO_WIDTH, BMP_LOGO_HEIGHT, BMP_LOGO_COLORS);
-
- if (bpix < 12) {
- schedule();
- lcd_logo_set_cmap();
- schedule();
-
- for (i = 0; i < BMP_LOGO_HEIGHT; ++i) {
- memcpy(fb, bmap, BMP_LOGO_WIDTH);
- bmap += BMP_LOGO_WIDTH;
- fb += panel_info.vl_col;
- }
- }
- else { /* true color mode */
- u16 col16;
- fb16 = (ushort *)fb;
- for (i = 0; i < BMP_LOGO_HEIGHT; ++i) {
- for (j = 0; j < BMP_LOGO_WIDTH; j++) {
- col16 = bmp_logo_palette[(bmap[j]-16)];
- fb16[j] =
- ((col16 & 0x000F) << 1) |
- ((col16 & 0x00F0) << 3) |
- ((col16 & 0x0F00) << 4);
- }
- bmap += BMP_LOGO_WIDTH;
- fb16 += panel_info.vl_col;
- }
- }
-
- schedule();
- lcd_sync();
-}
-#else
static inline void lcd_logo_plot(int x, int y) {}
-#endif /* CONFIG_LCD_LOGO */
#if defined(CONFIG_CMD_BMP) || defined(CONFIG_SPLASH_SCREEN)
#ifdef CONFIG_SPLASH_SCREEN_ALIGN
#include <log.h>
#include <serial.h>
#include <video_font.h> /* Get font data, width and height */
-#if defined(CONFIG_LCD_LOGO)
-#include <bmp_logo.h>
-#endif
static struct console_t cons;
void console_calc_rowcol(struct console_t *pcons, u32 sizex, u32 sizey)
{
pcons->cols = sizex / VIDEO_FONT_WIDTH;
-#if defined(CONFIG_LCD_LOGO)
- pcons->rows = (pcons->lcdsizey - BMP_LOGO_HEIGHT);
- pcons->rows /= VIDEO_FONT_HEIGHT;
-#else
pcons->rows = sizey / VIDEO_FONT_HEIGHT;
-#endif
}
void __weak lcd_init_console_rot(struct console_t *pcons)
CONFIG_ATMEL_LCD=y
CONFIG_ATMEL_LCD_BGR555=y
CONFIG_LCD=y
-CONFIG_LCD_LOGO=y
CONFIG_REGEX=y
CONFIG_ATMEL_LCD=y
CONFIG_ATMEL_LCD_BGR555=y
CONFIG_LCD=y
-CONFIG_LCD_LOGO=y
CONFIG_JFFS2_NAND=y
CONFIG option. See the README for details. Drives which have been
converted to driver model will instead used CONFIG_DM_VIDEO.
-config LCD_LOGO
- bool "Show a logo on screen"
- depends on LCD
-
config VIDEO_DW_HDMI
bool
help
#include <atmel_hlcdc.h>
#include <linux/bug.h>
-#if defined(CONFIG_LCD_LOGO)
-#include <bmp_logo.h>
-#endif
-
DECLARE_GLOBAL_DATA_PTR;
#ifndef CONFIG_DM_VIDEO
| ((blue << LCDC_BASECLUT_BCLUT_Pos) & LCDC_BASECLUT_BCLUT_Msk));
}
-ushort *configuration_get_cmap(void)
-{
-#if defined(CONFIG_LCD_LOGO)
- return bmp_logo_palette;
-#else
- return NULL;
-#endif
-}
-
void lcd_ctrl_init(void *lcdbase)
{
unsigned long value;
}
#endif
-#ifdef CONFIG_LCD_LOGO
-#include <bmp_logo.h>
-void lcd_logo_set_cmap(void)
-{
- int i;
- uint lut_entry;
- ushort colreg;
- uint *cmap = (uint *)configuration_get_cmap();
-
- for (i = 0; i < BMP_LOGO_COLORS; ++i) {
- colreg = bmp_logo_palette[i];
-#ifdef CONFIG_ATMEL_LCD_BGR555
- lut_entry = ((colreg & 0x000F) << 11) |
- ((colreg & 0x00F0) << 2) |
- ((colreg & 0x0F00) >> 7);
-#else
- lut_entry = ((colreg & 0x000F) << 1) |
- ((colreg & 0x00F0) << 3) |
- ((colreg & 0x0F00) << 4);
-#endif
- *(cmap + BMP_LOGO_OFFSET) = lut_entry;
- cmap++;
- }
-}
-#endif
-
void lcd_setcolreg(ushort regno, ushort red, ushort green, ushort blue)
{
#if defined(CONFIG_ATMEL_LCD_BGR555)
# Enable all the config-independent tools
ifneq ($(HOST_TOOLS_ALL),)
CONFIG_ARCH_KIRKWOOD = y
-CONFIG_LCD_LOGO = y
CONFIG_CMD_LOADS = y
CONFIG_CMD_NET = y
CONFIG_XWAY_SWAP_BYTES = y
hostprogs-$(CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER) += atmel_pmecc_params
-hostprogs-$(CONFIG_LCD_LOGO) += bmp_logo
hostprogs-$(CONFIG_VIDEO_LOGO) += bmp_logo
HOSTCFLAGS_bmp_logo.o := -pedantic
# Generated LCD/video logo
LOGO_H = $(objtree)/include/bmp_logo.h
LOGO_DATA_H = $(objtree)/include/bmp_logo_data.h
-LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_H)
-LOGO-$(CONFIG_LCD_LOGO) += $(LOGO_DATA_H)
LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_H)
LOGO-$(CONFIG_VIDEO_LOGO) += $(LOGO_DATA_H)