mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Compare commits
5 Commits
LABEL_2003
...
U-Boot-0_3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
02c9bed451 | ||
|
|
53cad435bb | ||
|
|
059ae173e9 | ||
|
|
824a1ebffe | ||
|
|
d791b1dc3e |
16
CHANGELOG
16
CHANGELOG
@@ -1,7 +1,21 @@
|
||||
======================================================================
|
||||
Changes since U-Boot 0.3.0:
|
||||
Changes for U-Boot 0.3.1:
|
||||
======================================================================
|
||||
|
||||
* Make sure Block Lock Bits get cleared in R360MPI flash driver
|
||||
|
||||
* MPC823 LCD driver: Fill color map backwards, to allow for steady
|
||||
display when Linux takes over
|
||||
|
||||
* Patch by Erwin Rol, 27 Feb 2003:
|
||||
Add support for RTEMS (this time for real).
|
||||
|
||||
* Add support for "bmp info" and "bmp display" commands to load
|
||||
bitmap images; this can be used (for example in a "preboot"
|
||||
command) to display a splash screen very quickly after poweron.
|
||||
|
||||
* Add support for 133 MHz clock on INCA-IP board
|
||||
|
||||
* Patch by Lutz Dennig, 10 Apr 2003:
|
||||
Update for R360MPI board
|
||||
|
||||
|
||||
4
CREDITS
4
CREDITS
@@ -238,6 +238,10 @@ N: Stefan Roese
|
||||
E: stefan.roese@esd-electronics.com
|
||||
D: IBM PPC401/403/405GP Support; Windows environment support
|
||||
|
||||
N: Erwin Rol
|
||||
E: erwin@muffin.org
|
||||
D: boot support for RTEMS
|
||||
|
||||
N: Neil Russell
|
||||
E: caret@c-side.com
|
||||
D: Author of LiMon-1.4.2, which contributed some ideas
|
||||
|
||||
3
MAKEALL
3
MAKEALL
@@ -35,8 +35,7 @@ LIST_8xx=" \
|
||||
R360MPI RPXClassic RPXlite RRvision \
|
||||
SM850 SPD823TS svm_sc8xx SXNI855T \
|
||||
TOP860 TQM823L TQM823L_LCD TQM850L \
|
||||
TQM855L TQM860L TQM860L_FEC TTTech \
|
||||
v37 \
|
||||
TQM855L TQM860L TTTech v37 \
|
||||
"
|
||||
|
||||
#########################################################################
|
||||
|
||||
6
Makefile
6
Makefile
@@ -337,7 +337,7 @@ TOP860_config: unconfig
|
||||
# All boards can come with 50 MHz (default), 66MHz or 80MHz clock,
|
||||
# but only 855 and 860 boards may come with FEC
|
||||
# and 823 boards may have LCD support
|
||||
xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _FEC,,$(subst _config,,$1)))))
|
||||
xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _config,,$1))))
|
||||
|
||||
FPS850L_config \
|
||||
FPS860L_config \
|
||||
@@ -360,10 +360,6 @@ TQM862L_config \
|
||||
TQM862L_66MHz_config \
|
||||
TQM862L_80MHz_config: unconfig
|
||||
@ >include/config.h
|
||||
@[ -z "$(findstring _FEC,$@)" ] || \
|
||||
{ echo "#define CONFIG_FEC_ENET" >>include/config.h ; \
|
||||
echo "... with FEC support" ; \
|
||||
}
|
||||
@[ -z "$(findstring _66MHz,$@)" ] || \
|
||||
{ echo "#define CONFIG_66MHz" >>include/config.h ; \
|
||||
echo "... with 66MHz system clock" ; \
|
||||
|
||||
12
README
12
README
@@ -789,6 +789,18 @@ The following options need to be configured:
|
||||
Normally display is black on white background; define
|
||||
CFG_WHITE_ON_BLACK to get it inverted.
|
||||
|
||||
- Spash Screen Support: CONFIG_SPLASH_SCREEN
|
||||
|
||||
If this option is set, the environment is checked for
|
||||
a variable "splashimage". If found, the usual display
|
||||
of logo, copyright and system information on the LCD
|
||||
is supressed and the BMP image at the address
|
||||
specified in "splashimage" is loaded instead. The
|
||||
console is redirected to the "nulldev", too. This
|
||||
allows for a "silent" boot where a splash screen is
|
||||
loaded very quickly after power-on.
|
||||
|
||||
|
||||
- Ethernet address:
|
||||
CONFIG_ETHADDR
|
||||
CONFIG_ETH2ADDR
|
||||
|
||||
@@ -49,13 +49,11 @@
|
||||
#define MC_LATENCY(value) 0x1038(value)
|
||||
#define MC_TREFRESH(value) 0x1040(value)
|
||||
|
||||
#if CPU_CLOCK_RATE==150000000 /* 150 MHz clock for the MIPS core */
|
||||
#define CGU_MODUL_BASE 0xBF107000
|
||||
#define CGU_PLL1CR(value) 0x0008(value)
|
||||
#define CGU_DIVCR(value) 0x0010(value)
|
||||
#define CGU_MUXCR(value) 0x0014(value)
|
||||
#define CGU_PLL1SR(value) 0x000C(value)
|
||||
#endif
|
||||
|
||||
.globl memsetup
|
||||
memsetup:
|
||||
@@ -67,12 +65,12 @@ memsetup:
|
||||
li t1, 0xA0000041
|
||||
sw t1, EBU_ADDSEL0(t0)
|
||||
|
||||
#if CPU_CLOCK_RATE==150000000 /* 150 MHz clock for the MIPS core */
|
||||
li t1, 0xA841417E
|
||||
sw t1, EBU_BUSCON0(t0) /* value set up by magic flash word */
|
||||
#if CPU_CLOCK_RATE==100000000 /* 100 MHz clock for the MIPS core */
|
||||
lw t1, EBU_BUSCON0(t0) /* value set up by magic flash word */
|
||||
sw t1, EBU_BUSCON2(t0)
|
||||
#else /* 100 MHz */
|
||||
lw t1, EBU_BUSCON0(t0) /* value set up by magic flash word */
|
||||
#else /* 150 MHz or 133 MHz */
|
||||
li t1, 0x8841417E
|
||||
sw t1, EBU_BUSCON0(t0)
|
||||
sw t1, EBU_BUSCON2(t0)
|
||||
#endif
|
||||
|
||||
@@ -85,10 +83,10 @@ memsetup:
|
||||
li t1, 0xBE0000F1
|
||||
sw t1, EBU_ADDSEL1(t0)
|
||||
|
||||
#if CPU_CLOCK_RATE==150000000 /* 150 MHz clock for the MIPS core */
|
||||
li t1, 0x684143FD
|
||||
#else /* 100 MHz */
|
||||
#if CPU_CLOCK_RATE==100000000 /* 100 MHz clock for the MIPS core */
|
||||
li t1, 0x684142BD
|
||||
#else /* 150 MHz or 133 MHz */
|
||||
li t1, 0x684143FD
|
||||
#endif
|
||||
sw t1, EBU_BUSCON1(t0)
|
||||
|
||||
@@ -105,6 +103,14 @@ b1:
|
||||
beq t1, zero, b1
|
||||
li t1, 0x80000001
|
||||
sw t1, CGU_MUXCR(t0)
|
||||
#elif CPU_CLOCK_RATE==133000000 /* 133 MHz clock for the MIPS core */
|
||||
li t0, CGU_MODUL_BASE
|
||||
li t1, 0x80000054
|
||||
sw t1, CGU_DIVCR(t0)
|
||||
li t1, 0x80000000
|
||||
sw t1, CGU_MUXCR(t0)
|
||||
li t1, 0x800B0001
|
||||
sw t1, CGU_PLL1CR(t0)
|
||||
#endif
|
||||
|
||||
/* SDRAM Initialization.
|
||||
|
||||
@@ -206,6 +206,12 @@ static ulong flash_get_size (FPW * addr, flash_info_t * info)
|
||||
{
|
||||
FPW value;
|
||||
|
||||
/* Make sure Block Lock Bits get cleared */
|
||||
addr[0] = (FPW) 0x00FF00FF;
|
||||
addr[0] = (FPW) 0x00600060;
|
||||
addr[0] = (FPW) 0x00D000D0;
|
||||
addr[0] = (FPW) 0x00FF00FF;
|
||||
|
||||
/* Write auto select command: read Manufacturer ID */
|
||||
addr[0x5555] = (FPW) 0x00AA00AA;
|
||||
addr[0x2AAA] = (FPW) 0x00550055;
|
||||
|
||||
@@ -28,7 +28,7 @@ LIB = libcommon.a
|
||||
AOBJS =
|
||||
|
||||
COBJS = main.o altera.o bedbug.o \
|
||||
cmd_autoscript.o cmd_bedbug.o cmd_boot.o \
|
||||
cmd_autoscript.o cmd_bedbug.o cmd_bmp.o cmd_boot.o \
|
||||
cmd_bootm.o cmd_cache.o cmd_console.o cmd_date.o \
|
||||
cmd_dcr.o cmd_diag.o cmd_doc.o cmd_nand.o cmd_dtt.o \
|
||||
cmd_eeprom.o cmd_elf.o cmd_fdc.o cmd_fdos.o cmd_flash.o \
|
||||
|
||||
118
common/cmd_bmp.c
Normal file
118
common/cmd_bmp.c
Normal file
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* (C) Copyright 2002
|
||||
* Dtlev Zundel, DENX Software Engineering, dzu@denx.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
|
||||
*/
|
||||
|
||||
/*
|
||||
* BMP handling routines
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <bmp_layout.h>
|
||||
#include <command.h>
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_BMP)
|
||||
|
||||
static int bmp_info (ulong addr);
|
||||
static int bmp_display (ulong addr);
|
||||
|
||||
/*
|
||||
* Subroutine: do_bmp
|
||||
*
|
||||
* Description: Handler for 'bmp' command..
|
||||
*
|
||||
* Inputs: argv[1] contains the subcommand
|
||||
*
|
||||
* Return: None
|
||||
*
|
||||
*/
|
||||
int do_bmp(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
{
|
||||
ulong addr;
|
||||
|
||||
switch (argc) {
|
||||
case 2: /* use load_addr as default address */
|
||||
addr = load_addr;
|
||||
break;
|
||||
case 3: /* use argument */
|
||||
addr = simple_strtoul(argv[2], NULL, 16);
|
||||
break;
|
||||
default:
|
||||
printf ("Usage:\n%s\n", cmdtp->usage);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Allow for short names
|
||||
* Adjust length if more sub-commands get added
|
||||
*/
|
||||
if (strncmp(argv[1],"info",1) == 0) {
|
||||
return (bmp_info(addr));
|
||||
} else if (strncmp(argv[1],"display",1) == 0) {
|
||||
return (bmp_display(addr));
|
||||
} else {
|
||||
printf ("Usage:\n%s\n", cmdtp->usage);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Subroutine: bmp_info
|
||||
*
|
||||
* Description: Show information about bmp file in memory
|
||||
*
|
||||
* Inputs: addr address of the bmp file
|
||||
*
|
||||
* Return: None
|
||||
*
|
||||
*/
|
||||
static int bmp_info(ulong addr)
|
||||
{
|
||||
bmp_image_t *bmp=(bmp_image_t *)addr;
|
||||
if (!((bmp->header.signature[0]=='B') &&
|
||||
(bmp->header.signature[1]=='M'))) {
|
||||
printf("There is no valid bmp file at the given address\n");
|
||||
return(1);
|
||||
}
|
||||
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("Compression : %d\n", le32_to_cpu(bmp->header.compression));
|
||||
return(0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Subroutine: bmp_display
|
||||
*
|
||||
* Description: Display bmp file located in memory
|
||||
*
|
||||
* Inputs: addr address of the bmp file
|
||||
*
|
||||
* Return: None
|
||||
*
|
||||
*/
|
||||
static int bmp_display(ulong addr)
|
||||
{
|
||||
extern int lcd_display_bitmap (ulong);
|
||||
|
||||
return (lcd_display_bitmap (addr));
|
||||
}
|
||||
|
||||
#endif /* (CONFIG_COMMANDS & CFG_CMD_BMP) */
|
||||
@@ -98,6 +98,7 @@ static boot_os_Fcn do_bootm_linux;
|
||||
extern boot_os_Fcn do_bootm_linux;
|
||||
#endif
|
||||
static boot_os_Fcn do_bootm_netbsd;
|
||||
static boot_os_Fcn do_bootm_rtems;
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_ELF)
|
||||
static boot_os_Fcn do_bootm_vxworks;
|
||||
static boot_os_Fcn do_bootm_qnxelf;
|
||||
@@ -321,6 +322,12 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||
do_bootm_netbsd (cmdtp, flag, argc, argv,
|
||||
addr, len_ptr, verify);
|
||||
break;
|
||||
|
||||
case IH_OS_RTEMS:
|
||||
do_bootm_rtems (cmdtp, flag, argc, argv,
|
||||
addr, len_ptr, verify);
|
||||
break;
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_ELF)
|
||||
case IH_OS_VXWORKS:
|
||||
do_bootm_vxworks (cmdtp, flag, argc, argv,
|
||||
@@ -831,6 +838,7 @@ print_type (image_header_t *hdr)
|
||||
case IH_OS_VXWORKS: os = "VxWorks"; break;
|
||||
case IH_OS_QNX: os = "QNX"; break;
|
||||
case IH_OS_U_BOOT: os = "U-Boot"; break;
|
||||
case IH_OS_RTEMS: os = "RTEMS"; break;
|
||||
default: os = "Unknown OS"; break;
|
||||
}
|
||||
|
||||
@@ -953,6 +961,29 @@ int gunzip(void *dst, int dstlen, unsigned char *src, int *lenp)
|
||||
return (0);
|
||||
}
|
||||
|
||||
static void
|
||||
do_bootm_rtems (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||
ulong addr, ulong *len_ptr, int verify)
|
||||
{
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
image_header_t *hdr = &header;
|
||||
void (*entry_point)(bd_t *);
|
||||
|
||||
entry_point = (void (*)(bd_t *)) hdr->ih_ep;
|
||||
|
||||
printf ("## Transferring control to RTEMS (at address %08lx) ...\n",
|
||||
(ulong)entry_point);
|
||||
|
||||
SHOW_BOOT_PROGRESS (15);
|
||||
|
||||
/*
|
||||
* RTEMS Parameters:
|
||||
* r3: ptr to board info data
|
||||
*/
|
||||
|
||||
(*entry_point ) ( gd->bd );
|
||||
}
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_ELF)
|
||||
static void
|
||||
do_bootm_vxworks (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
#include <cmd_vfd.h> /* load a bitmap to the VFDs on TRAB */
|
||||
#include <cmd_log.h>
|
||||
#include <cmd_fdos.h>
|
||||
#include <cmd_bmp.h>
|
||||
|
||||
#ifdef CONFIG_AMIGAONEG3SE
|
||||
#include <cmd_menu.h>
|
||||
@@ -231,6 +232,7 @@ cmd_tbl_t cmd_tbl[] = {
|
||||
CMD_TBL_AUTOSCRIPT
|
||||
CMD_TBL_BASE
|
||||
CMD_TBL_BDINFO
|
||||
CMD_TBL_BMP
|
||||
#ifdef CONFIG_AMIGAONEG3SE
|
||||
CMD_TBL_BOOTA
|
||||
#endif
|
||||
|
||||
@@ -355,7 +355,7 @@ int console_init_f (void)
|
||||
return (0);
|
||||
}
|
||||
|
||||
#ifdef CFG_CONSOLE_IS_IN_ENV
|
||||
#if defined(CFG_CONSOLE_IS_IN_ENV) || defined(CONFIG_SPLASH_SCREEN)
|
||||
/* search a device */
|
||||
device_t *search_device (int flags, char *name)
|
||||
{
|
||||
@@ -374,7 +374,7 @@ device_t *search_device (int flags, char *name)
|
||||
}
|
||||
return dev;
|
||||
}
|
||||
#endif /* CFG_CONSOLE_IS_IN_ENV */
|
||||
#endif /* CFG_CONSOLE_IS_IN_ENV || CONFIG_SPLASH_SCREEN */
|
||||
|
||||
#ifdef CFG_CONSOLE_IS_IN_ENV
|
||||
/* Called after the relocation - use desired console functions */
|
||||
@@ -469,6 +469,11 @@ int console_init_r (void)
|
||||
device_t *inputdev = NULL, *outputdev = NULL;
|
||||
int i, items = ListNumItems (devlist);
|
||||
|
||||
#ifdef CONFIG_SPLASH_SCREEN
|
||||
/* suppress all output if splash screen is enabled */
|
||||
outputdev = search_device (DEV_FLAGS_OUTPUT, "nulldev");
|
||||
#endif
|
||||
|
||||
/* Scan devices looking for input and output devices */
|
||||
for (i = 1;
|
||||
(i <= items) && ((inputdev == NULL) || (outputdev == NULL));
|
||||
|
||||
@@ -37,6 +37,11 @@ list_t devlist = 0;
|
||||
device_t *stdio_devices[] = { NULL, NULL, NULL };
|
||||
char *stdio_names[MAX_FILES] = { "stdin", "stdout", "stderr" };
|
||||
|
||||
#if defined(CONFIG_SPLASH_SCREEN) && !defined(CFG_DEVICE_NULLDEV)
|
||||
#define CFG_DEVICE_NULLDEV 1
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CFG_DEVICE_NULLDEV
|
||||
void nulldev_putc(const char c)
|
||||
{
|
||||
|
||||
121
cpu/mpc8xx/lcd.c
121
cpu/mpc8xx/lcd.c
@@ -39,12 +39,10 @@
|
||||
/************************************************************************/
|
||||
/* ** CONFIG STUFF -- should be moved to board config file */
|
||||
/************************************************************************/
|
||||
#ifndef CONFIG_EDT32F10
|
||||
#define CONFIG_LCD_LOGO
|
||||
#define LCD_INFO /* Display Logo, (C) and system info */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_V37
|
||||
#if defined(CONFIG_V37) || defined(CONFIG_EDT32F10)
|
||||
#undef CONFIG_LCD_LOGO
|
||||
#undef LCD_INFO
|
||||
#endif
|
||||
@@ -53,6 +51,14 @@
|
||||
/* #define CFG_INVERT_COLORS */ /* Not needed - adjust vl_dp instead */
|
||||
/************************************************************************/
|
||||
|
||||
/************************************************************************/
|
||||
/* ** BITMAP DISPLAY SUPPORT -- should probably be moved elsewhere */
|
||||
/************************************************************************/
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_BMP)
|
||||
#include <bmp_layout.h>
|
||||
#endif /* (CONFIG_COMMANDS & CFG_CMD_BMP) */
|
||||
|
||||
/************************************************************************/
|
||||
/* ** FONT AND LOGO DATA */
|
||||
/************************************************************************/
|
||||
@@ -1066,6 +1072,100 @@ static void bitmap_plot (int x, int y)
|
||||
}
|
||||
#endif /* CONFIG_LCD_LOGO */
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_BMP)
|
||||
/*
|
||||
* Display the BMP file located at address bmp_image.
|
||||
* Only uncompressed
|
||||
*/
|
||||
int lcd_display_bitmap(ulong bmp_image)
|
||||
{
|
||||
volatile immap_t *immr = (immap_t *) CFG_IMMR;
|
||||
volatile cpm8xx_t *cp = &(immr->im_cpm);
|
||||
ushort *cmap;
|
||||
ushort i, j;
|
||||
uchar *fb;
|
||||
bmp_image_t *bmp=(bmp_image_t *)bmp_image;
|
||||
uchar *bmap;
|
||||
ushort padded_line;
|
||||
unsigned long width, height;
|
||||
unsigned colors,bpix;
|
||||
unsigned long compression;
|
||||
|
||||
if (!((bmp->header.signature[0]=='B') &&
|
||||
(bmp->header.signature[1]=='M'))) {
|
||||
printf ("Error: no valid bmp image at %lx\n", bmp_image);
|
||||
return 1;
|
||||
}
|
||||
|
||||
width = le32_to_cpu (bmp->header.width);
|
||||
height = le32_to_cpu (bmp->header.height);
|
||||
colors = 1<<le16_to_cpu (bmp->header.bit_count);
|
||||
compression = le32_to_cpu (bmp->header.compression);
|
||||
|
||||
bpix = NBITS(panel_info.vl_bpix);
|
||||
|
||||
if ((bpix != 1) && (bpix != 8)) {
|
||||
printf ("Error: %d bit/pixel mode not supported by U-Boot\n",
|
||||
bpix);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (bpix != le16_to_cpu(bmp->header.bit_count)) {
|
||||
printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n",
|
||||
bpix,
|
||||
le16_to_cpu(bmp->header.bit_count));
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (compression!=BMP_BI_RGB) {
|
||||
printf ("Error: compression type %ld not supported\n",
|
||||
compression);
|
||||
return 1;
|
||||
}
|
||||
|
||||
debug ("Display-bmp: %d x %d with %d colors\n",
|
||||
width, height, colors);
|
||||
|
||||
if (bpix==8) {
|
||||
/* Fill the entire color map */
|
||||
cmap = (ushort *)&(cp->lcd_cmap[255*sizeof(ushort)]);
|
||||
|
||||
/* Set color map */
|
||||
for (i = 0; i < colors; ++i) {
|
||||
bmp_color_table_entry_t cte = bmp->color_table[i];
|
||||
ushort colreg =
|
||||
((cte.red>>4) << 8) |
|
||||
((cte.green>>4) << 4) |
|
||||
(cte.blue>>4) ;
|
||||
#ifdef CFG_INVERT_COLORS
|
||||
colreg ^= 0xFFF;
|
||||
#endif
|
||||
*cmap-- = colreg;
|
||||
}
|
||||
}
|
||||
|
||||
padded_line = (width&0x3) ? ((width&~0x3)+4) : (width);
|
||||
if (width>panel_info.vl_col)
|
||||
width = panel_info.vl_col;
|
||||
if (height>panel_info.vl_row)
|
||||
height = panel_info.vl_row;
|
||||
|
||||
bmap = (uchar *)bmp + le32_to_cpu (bmp->header.data_offset);
|
||||
fb = (uchar *)
|
||||
(lcd_base +
|
||||
(((height>=panel_info.vl_row) ? panel_info.vl_row : height)-1)
|
||||
* lcd_line_length);
|
||||
for (i = 0; i < height; ++i) {
|
||||
for (j = 0; j < width ; j++)
|
||||
*(fb++)=255-*(bmap++);
|
||||
bmap += (width - padded_line);
|
||||
fb -= (width + lcd_line_length);
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
||||
#endif /* (CONFIG_COMMANDS & CFG_CMD_BMP) */
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
static void *lcd_logo (void)
|
||||
@@ -1077,6 +1177,19 @@ static void *lcd_logo (void)
|
||||
char temp[32];
|
||||
#endif /* LCD_INFO */
|
||||
|
||||
#ifdef CONFIG_SPLASH_SCREEN
|
||||
char *s;
|
||||
ulong addr;
|
||||
|
||||
if ((s = getenv("splashimage")) != NULL) {
|
||||
addr = simple_strtoul(s, NULL, 16);
|
||||
|
||||
if (lcd_display_bitmap (addr) == 0) {
|
||||
return ((void *)lcd_base);
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_SPLASH_SCREEN */
|
||||
|
||||
#ifdef CONFIG_LCD_LOGO
|
||||
bitmap_plot (0, 0);
|
||||
#endif /* CONFIG_LCD_LOGO */
|
||||
@@ -1086,7 +1199,7 @@ static void *lcd_logo (void)
|
||||
sprintf (info, "%s (%s - %s) ", U_BOOT_VERSION, __DATE__, __TIME__);
|
||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y, info, strlen(info));
|
||||
|
||||
sprintf (info, "(C) 2002 DENX Software Engineering");
|
||||
sprintf (info, "(C) 2003 DENX Software Engineering");
|
||||
lcd_drawchars (LCD_INFO_X, LCD_INFO_Y + VIDEO_FONT_HEIGHT,
|
||||
info, strlen(info));
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ as 2
|
||||
autoscr 5
|
||||
base 2
|
||||
bdinfo 2
|
||||
bmp 3
|
||||
bootelf 7
|
||||
bootm 5
|
||||
bootp 5
|
||||
|
||||
77
include/bmp_layout.h
Normal file
77
include/bmp_layout.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/* (C) Copyright 2002
|
||||
* Detlev Zundel, DENX Software Engineering, dzu@denx.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
|
||||
*/
|
||||
|
||||
/************************************************************************/
|
||||
/* ** Layout of a bmp file */
|
||||
/************************************************************************/
|
||||
|
||||
#ifndef _BMP_H_
|
||||
#define _BMP_H_
|
||||
|
||||
typedef struct bmp_color_table_entry {
|
||||
__u8 blue;
|
||||
__u8 green;
|
||||
__u8 red;
|
||||
__u8 reserved;
|
||||
} __attribute__((packed)) bmp_color_table_entry_t;
|
||||
|
||||
/* When accessing these fields, remember that they are stored in little
|
||||
endian format, so use linux macros, e.g. le32_to_cpu(width) */
|
||||
|
||||
typedef struct bmp_header {
|
||||
/* Header */
|
||||
char signature[2];
|
||||
__u32 file_size;
|
||||
__u32 reserved;
|
||||
__u32 data_offset;
|
||||
/* InfoHeader */
|
||||
__u32 size;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u16 planes;
|
||||
__u16 bit_count;
|
||||
__u32 compression;
|
||||
__u32 image_size;
|
||||
__u32 x_pixels_per_m;
|
||||
__u32 y_pixels_per_m;
|
||||
__u32 colors_used;
|
||||
__u32 colors_important;
|
||||
/* ColorTable */
|
||||
|
||||
} __attribute__((packed)) bmp_header_t;
|
||||
|
||||
typedef struct bmp_image {
|
||||
bmp_header_t header;
|
||||
/* We use a zero sized array just as a placeholder for variable
|
||||
sized array */
|
||||
bmp_color_table_entry_t color_table[0];
|
||||
} bmp_image_t;
|
||||
|
||||
/* Data in the bmp_image is aligned to this length */
|
||||
#define BMP_DATA_ALIGN 4
|
||||
|
||||
/* Constants for the compression field */
|
||||
#define BMP_BI_RGB 0
|
||||
#define BMP_BI_RLE8 1
|
||||
#define BMP_BI_RLE4 2
|
||||
|
||||
#endif /* _BMP_H_ */
|
||||
44
include/cmd_bmp.h
Normal file
44
include/cmd_bmp.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/* (C) Copyright 2002
|
||||
* Detlev Zundel, DENX Software Engineering, dzu@denx.de.
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
/*
|
||||
* Bitmap display support
|
||||
*/
|
||||
#ifndef _CMD_BMP_H
|
||||
#define _CMD_BMP_H
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
|
||||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_BMP)
|
||||
|
||||
#define CMD_TBL_BMP MK_CMD_TBL_ENTRY( \
|
||||
"bmp", 3, 3, 1, do_bmp, \
|
||||
"bmp - manipulate BMP image data\n", \
|
||||
"\nbmp info <imageAddr> - display image info\n" \
|
||||
"bmp display <imageAddr> - display image\n" \
|
||||
),
|
||||
int do_bmp (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
|
||||
|
||||
#else
|
||||
#define CMD_TBL_BMP
|
||||
#endif
|
||||
|
||||
#endif /* _CMD_BMP_H */
|
||||
@@ -79,6 +79,7 @@
|
||||
#define CFG_CMD_FDOS 0x0000200000000000 /* Floppy DOS support */
|
||||
#define CFG_CMD_VFD 0x0000400000000000 /* VFD support (TRAB) */
|
||||
#define CFG_CMD_NAND 0x0000800000000000 /* NAND support */
|
||||
#define CFG_CMD_BMP 0x0001000000000000 /* BMP support */
|
||||
|
||||
#define CFG_CMD_ALL 0xFFFFFFFFFFFFFFFF /* ALL commands */
|
||||
|
||||
@@ -87,6 +88,7 @@
|
||||
*/
|
||||
#define CFG_CMD_NONSTD (CFG_CMD_ASKENV | \
|
||||
CFG_CMD_BEDBUG | \
|
||||
CFG_CMD_BMP | \
|
||||
CFG_CMD_BSP | \
|
||||
CFG_CMD_CACHE | \
|
||||
CFG_CMD_DATE | \
|
||||
|
||||
@@ -1365,7 +1365,7 @@ typedef struct scc_enet {
|
||||
/*** TQM855L, TQM860L, TQM862L **************************************/
|
||||
|
||||
#if defined(CONFIG_TQM855L) || \
|
||||
defined(CONFIG_TQM860L)
|
||||
defined(CONFIG_TQM860L) || \
|
||||
defined(CONFIG_TQM862L)
|
||||
|
||||
# ifdef CONFIG_SCC1_ENET /* use SCC for 10Mbps Ethernet */
|
||||
|
||||
@@ -84,6 +84,7 @@
|
||||
#define CONFIG_CMD_NORMAL (CONFIG_CMD_DFL & ~CFG_CMD_BOOTD)
|
||||
#define CONFIG_CMD_GDB (CONFIG_CMD_NORMAL | CFG_CMD_KGDB)
|
||||
#define CONFIG_CMD_FULL (CFG_CMD_ALL & ~CFG_CMD_BEDBUG \
|
||||
& ~CFG_CMD_BMP \
|
||||
& ~CFG_CMD_BSP \
|
||||
& ~CFG_CMD_DOC \
|
||||
& ~CFG_CMD_DTT \
|
||||
|
||||
@@ -114,6 +114,7 @@
|
||||
|
||||
#define CONFIG_COMMANDS (CFG_CMD_ALL & ~( \
|
||||
CFG_CMD_BEDBUG | \
|
||||
CFG_CMD_BMP | \
|
||||
CFG_CMD_BSP | \
|
||||
CFG_CMD_DATE | \
|
||||
CFG_CMD_DOC | \
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
|
||||
#define CONFIG_COMMANDS (CFG_CMD_ALL & ~( \
|
||||
CFG_CMD_BEDBUG | \
|
||||
CFG_CMD_BMP | \
|
||||
CFG_CMD_BSP | \
|
||||
CFG_CMD_DATE | \
|
||||
CFG_CMD_DOC | \
|
||||
|
||||
@@ -40,6 +40,8 @@
|
||||
#undef CONFIG_EDT32F10
|
||||
#define CONFIG_SHARP_LQ057Q3DC02
|
||||
|
||||
#define CONFIG_SPLASH_SCREEN
|
||||
|
||||
#define MPC8XX_FACT 1 /* Multiply by 1 */
|
||||
#define MPC8XX_XIN 50000000 /* 50 MHz in */
|
||||
#define CONFIG_8xx_GCLK_FREQ 50000000 /* define if can't use get_gclk_freq */
|
||||
@@ -118,6 +120,7 @@
|
||||
#define CFG_I2C_TEM_ADDR 0x49 /* Temperature Sensors */
|
||||
|
||||
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
||||
CFG_CMD_BMP | \
|
||||
CFG_CMD_DHCP | \
|
||||
CFG_CMD_DATE | \
|
||||
CFG_CMD_I2C | \
|
||||
|
||||
@@ -270,6 +270,7 @@
|
||||
/*
|
||||
*/
|
||||
#define CONFIG_COMMANDS ( CFG_CMD_ALL & \
|
||||
~CFG_CMD_BMP & \
|
||||
~CFG_CMD_BSP & \
|
||||
~CFG_CMD_DCR & \
|
||||
~CFG_CMD_DHCP & \
|
||||
|
||||
@@ -138,6 +138,7 @@
|
||||
|
||||
#define CONFIG_COMMANDS (CFG_CMD_ALL & ~( \
|
||||
CFG_CMD_BEDBUG | \
|
||||
CFG_CMD_BMP | \
|
||||
CFG_CMD_DOC | \
|
||||
CFG_CMD_ELF | \
|
||||
CFG_CMD_FDC | \
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
#define CONFIG_MIPS32 1 /* MIPS 4Kc CPU core */
|
||||
#define CONFIG_INCA_IP 1 /* on a INCA-IP Board */
|
||||
|
||||
/* allowed values: 100000000 and 150000000 */
|
||||
#define CPU_CLOCK_RATE 150000000 /* 150 MHz clock for the MIPS core */
|
||||
/* allowed values: 100000000, 133000000, and 150000000 */
|
||||
#define CPU_CLOCK_RATE 133000000 /* 133 MHz clock for the MIPS core */
|
||||
|
||||
#if CPU_CLOCK_RATE == 100000000
|
||||
#define INFINEON_EBU_BOOTCFG 0x20C4 /* CMULT = 4 for 100 MHz */
|
||||
|
||||
@@ -153,6 +153,7 @@
|
||||
CFG_CMD_EEPROM | \
|
||||
CFG_CMD_IDE | \
|
||||
CFG_CMD_BSP | \
|
||||
CFG_CMD_BMP | \
|
||||
CFG_CMD_POST_DIAG )
|
||||
#else
|
||||
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
|
||||
@@ -162,6 +163,7 @@
|
||||
CFG_CMD_EEPROM | \
|
||||
CFG_CMD_IDE | \
|
||||
CFG_CMD_BSP | \
|
||||
CFG_CMD_BMP | \
|
||||
CFG_CMD_POST_DIAG )
|
||||
#endif
|
||||
#define CONFIG_MAC_PARTITION
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define IH_OS_PSOS 15 /* pSOS */
|
||||
#define IH_OS_QNX 16 /* QNX */
|
||||
#define IH_OS_U_BOOT 17 /* Firmware */
|
||||
#define IH_OS_RTEMS 18 /* RTEMS */
|
||||
|
||||
/*
|
||||
* CPU Architecture Codes (supported by Linux)
|
||||
|
||||
2
tools/env/fw_env.h
vendored
2
tools/env/fw_env.h
vendored
@@ -27,7 +27,7 @@
|
||||
* See included "fw_env.config" sample file (TRAB board)
|
||||
* for notes on configuration.
|
||||
*/
|
||||
/*#define CONFIG_FILE "/etc/fw_env.config" */
|
||||
#define CONFIG_FILE "/etc/fw_env.config"
|
||||
|
||||
#define HAVE_REDUND /* For systems with 2 env sectors */
|
||||
#define DEVICE1_NAME "/dev/mtd1"
|
||||
|
||||
@@ -92,6 +92,7 @@ table_entry_t os_name[] = {
|
||||
{ IH_OS_PSOS, "psos", "pSOS", },
|
||||
{ IH_OS_QNX, "qnx", "QNX", },
|
||||
{ IH_OS_U_BOOT, "u-boot", "U-Boot", },
|
||||
{ IH_OS_RTEMS, "rtems", "RTEMS", },
|
||||
{ -1, "", "", },
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user