diff options
-rw-r--r-- | commands/Kconfig | 5 | ||||
-rw-r--r-- | commands/Makefile | 1 | ||||
-rw-r--r-- | commands/splash.c | 137 |
3 files changed, 0 insertions, 143 deletions
diff --git a/commands/Kconfig b/commands/Kconfig index 85e8045a7e..3b11c34279 100644 --- a/commands/Kconfig +++ b/commands/Kconfig @@ -118,11 +118,6 @@ config CMD_ECHO default y prompt "echo" -config CMD_SPLASH - depends on BROKEN - tristate - prompt "splash" - endmenu menu "memory " diff --git a/commands/Makefile b/commands/Makefile index 76eb626e46..066baf02bf 100644 --- a/commands/Makefile +++ b/commands/Makefile @@ -6,7 +6,6 @@ obj-$(CONFIG_CMD_ECHO) += echo.o obj-$(CONFIG_CMD_MEMORY) += mem.o obj-$(CONFIG_CMD_I2C) += i2c.o obj-$(CONFIG_CMD_LOADS) += s_record.o -obj-$(CONFIG_CMD_SPLASH) += splash.o obj-$(CONFIG_CMD_MTEST) += memtest.o obj-$(CONFIG_CMD_EDIT) += edit.o obj-$(CONFIG_CMD_EXEC) += exec.o diff --git a/commands/splash.c b/commands/splash.c deleted file mode 100644 index f59978eafb..0000000000 --- a/commands/splash.c +++ /dev/null @@ -1,137 +0,0 @@ -/* - * (C) Copyright 2007 Pengutronix - * Sascha Hauer, <s.hauer@pengutronix.de> - * - * 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., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -#include <config.h> -#include <common.h> - -#ifdef CFG_SPLASH - -#include <command.h> -#include <bmp_layout.h> -#include <splash.h> -#include <asm/byteorder.h> - -static struct fb_data *fbd = NULL; - -int splash_set_fb_data(struct fb_data *d) -{ - fbd = d; - return 0; -} - -static int do_splash(cmd_tbl_t *cmdtp, int argc, char *argv[]) -{ - ulong addr; - bmp_image_t *bmp; - int fb_line_length, bmp_line_length; - int copy_width, copy_height; - int colors; - int i, x, y; - char *src, *dst; - unsigned long *dstl, *srcl; - - if (argc == 1) - return COMMAND_ERROR_USAGE; - - if (!fbd) { - printf("No framebuffer found\n"); - return 1; - } - - addr = simple_strtoul(argv[1], NULL, 16); - - bmp = (bmp_image_t *)addr; - - if (!((bmp->header.signature[0]=='B') && - (bmp->header.signature[1]=='M'))) { - printf("No valid bmp file found on address 0x%08x\n",addr); - return 1; - } - - if (fbd->bpp != le16_to_cpu(bmp->header.bit_count)) { - printf("Display image depth does not match framebuffer image depth\n"); - printf("(display depth: %dbpp image depth: %dbpp\n", fbd->bpp, - le16_to_cpu(bmp->header.bit_count)); - return 1; - } - - colors = 1 << le16_to_cpu (bmp->header.bit_count); - printf("Image size : %d x %d\n", le32_to_cpu(bmp->header.width), - le32_to_cpu(bmp->header.height)); - printf("Bits per pixel: %d\n", le16_to_cpu(bmp->header.bit_count)); - printf("colors used : %d\n", colors); - - /* Set color map to zero */ - for (i = 0; i < colors; i++) - fbd->setcolreg(fbd, i, 0, 0, 0); - - fb_line_length = (fbd->xres * fbd->bpp) >> 3; - bmp_line_length = (le32_to_cpu(bmp->header.width) * - le16_to_cpu(bmp->header.bit_count)) >> 3; - if (bmp_line_length & 0x3) - bmp_line_length = (bmp_line_length & ~3) + 4; - copy_width = min(fb_line_length, bmp_line_length); - copy_height = min(fbd->yres, le32_to_cpu(bmp->header.height)); - - memset(fbd->fb, 0, fb_line_length * fbd->yres); - -// printf("copy_width: %d copy_height: %d fb_line_length: %d " -// "bmp_line_length: %d\n", copy_width, copy_height, -// fb_line_length, bmp_line_length); - for (y = 0; y < copy_height; y++) { - dst = (char*)fbd->fb + y * fb_line_length; - src = (char*)(addr + bmp->header.data_offset) + - (le32_to_cpu(bmp->header.height) - y - 1) * bmp_line_length; - -// printf("dst: %d src: %d\n", -// (unsigned long)dst - (unsigned long)fbd->fb, -// (unsigned long)src - (unsigned long)(addr + bmp->header.data_offset)); - - dstl = (unsigned long *)dst; - srcl = (unsigned long *)((unsigned long)src & ~3); - for (x = 0; x < (copy_width >> 2); x++) { - *dstl++ = *srcl++; - } - } - - /* Set color map */ - for (i = 0; i < colors; i++) { - bmp_color_table_entry_t cte = bmp->color_table[i]; - fbd->setcolreg(fbd, i, cte.red, cte.green, cte.blue); - } - - return 0; -} - -U_BOOT_CMD( - splash, 2, 0, do_splash, - "splash <imageaddr> - display a splash screen.", - " Only color mapped\n" - " bmp files are supported. Images smaller than\n" - " the screen are put in the top left corner, from \n" - " bigger images only the top left corner of the\n" - " image is displayed\n" -); - -#endif /* CFG_SPLASH */ - |