mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
Compile fixes
This commit is contained in:
parent
d791b1dc3e
commit
824a1ebffe
8 changed files with 99 additions and 174 deletions
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" ; \
|
||||
|
|
|
@ -126,12 +126,12 @@ long int initdram (int board_type)
|
|||
memctl->memc_mar = 0x00000088;
|
||||
|
||||
/*
|
||||
* Map controller bank 1 to the SDRAM bank at
|
||||
* Map controller bank 2 to the SDRAM bank at
|
||||
* preliminary address - these have to be modified after the
|
||||
* SDRAM size has been determined.
|
||||
*/
|
||||
memctl->memc_or1 = CFG_OR1_PRELIM;
|
||||
memctl->memc_br1 = CFG_BR1_PRELIM;
|
||||
memctl->memc_or2 = CFG_OR2_PRELIM;
|
||||
memctl->memc_br2 = CFG_BR2_PRELIM;
|
||||
|
||||
memctl->memc_mamr = CFG_MAMR_8COL & (~(MAMR_PTAE)); /* no refresh yet */
|
||||
|
||||
|
@ -139,9 +139,9 @@ long int initdram (int board_type)
|
|||
|
||||
/* perform SDRAM initializsation sequence */
|
||||
|
||||
memctl->memc_mcr = 0x80002105; /* SDRAM bank 0 */
|
||||
memctl->memc_mcr = 0x80004105; /* SDRAM bank 0 */
|
||||
udelay (200);
|
||||
memctl->memc_mcr = 0x80002230; /* SDRAM bank 0 - execute twice */
|
||||
memctl->memc_mcr = 0x80004230; /* SDRAM bank 0 - execute twice */
|
||||
udelay (200);
|
||||
|
||||
memctl->memc_mamr |= MAMR_PTAE; /* enable refresh */
|
||||
|
@ -153,7 +153,7 @@ long int initdram (int board_type)
|
|||
*
|
||||
* try 8 column mode
|
||||
*/
|
||||
size8 = dram_size (CFG_MAMR_8COL, (ulong *) SDRAM_BASE1_PRELIM,
|
||||
size8 = dram_size (CFG_MAMR_8COL, (ulong *) SDRAM_BASE2_PRELIM,
|
||||
SDRAM_MAX_SIZE);
|
||||
|
||||
udelay (1000);
|
||||
|
@ -161,13 +161,13 @@ long int initdram (int board_type)
|
|||
/*
|
||||
* try 9 column mode
|
||||
*/
|
||||
size9 = dram_size (CFG_MAMR_9COL, (ulong *) SDRAM_BASE1_PRELIM,
|
||||
size9 = dram_size (CFG_MAMR_9COL, (ulong *) SDRAM_BASE2_PRELIM,
|
||||
SDRAM_MAX_SIZE);
|
||||
|
||||
if (size8 < size9) { /* leave configuration at 9 columns */
|
||||
size_b0 = size9;
|
||||
/* debug ("SDRAM Bank 0 in 9 column mode: %ld MB\n", size >> 20); */
|
||||
} else { /* back to 8 columns */
|
||||
} else { /* back to 8 columns */
|
||||
size_b0 = size8;
|
||||
memctl->memc_mamr = CFG_MAMR_8COL;
|
||||
udelay (500);
|
||||
|
@ -200,6 +200,47 @@ long int initdram (int board_type)
|
|||
|
||||
udelay (10000);
|
||||
|
||||
#ifdef CONFIG_CAN_DRIVER
|
||||
/* Initialize OR3 / BR3 */
|
||||
memctl->memc_or3 = CFG_OR3_CAN; /* switch GPLB_5 to GPLA_5 */
|
||||
memctl->memc_br3 = CFG_BR3_CAN;
|
||||
|
||||
/* Initialize MBMR */
|
||||
memctl->memc_mbmr = MAMR_GPL_B4DIS; /* GPL_B4 works as UPWAITB */
|
||||
|
||||
/* Initialize UPMB for CAN: single read */
|
||||
memctl->memc_mdr = 0xFFFFC004;
|
||||
memctl->memc_mcr = 0x0100 | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0x0FFFD004;
|
||||
memctl->memc_mcr = 0x0101 | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0x0FFFC000;
|
||||
memctl->memc_mcr = 0x0102 | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0x3FFFC004;
|
||||
memctl->memc_mcr = 0x0103 | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0xFFFFDC05;
|
||||
memctl->memc_mcr = 0x0104 | UPMB;
|
||||
|
||||
/* Initialize UPMB for CAN: single write */
|
||||
memctl->memc_mdr = 0xFFFCC004;
|
||||
memctl->memc_mcr = 0x0118 | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0xCFFCD004;
|
||||
memctl->memc_mcr = 0x0119 | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0x0FFCC000;
|
||||
memctl->memc_mcr = 0x011A | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0x7FFCC004;
|
||||
memctl->memc_mcr = 0x011B | UPMB;
|
||||
|
||||
memctl->memc_mdr = 0xFFFDCC05;
|
||||
memctl->memc_mcr = 0x011C | UPMB;
|
||||
#endif
|
||||
|
||||
return (size_b0);
|
||||
}
|
||||
|
||||
|
@ -213,8 +254,8 @@ long int initdram (int board_type)
|
|||
* - short between data lines
|
||||
*/
|
||||
|
||||
static long int dram_size (long int mamr_value, long int *base,
|
||||
long int maxsize)
|
||||
static long int dram_size (long int mamr_value,
|
||||
long int *base, long int maxsize)
|
||||
{
|
||||
volatile immap_t *immap = (immap_t *) CFG_IMMR;
|
||||
volatile memctl8xx_t *memctl = &immap->im_memctl;
|
||||
|
@ -257,10 +298,10 @@ static long int dram_size (long int mamr_value, long int *base,
|
|||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
void r360_pwm_write (uchar reg, uchar val)
|
||||
void r360_i2c_lcd_write (uchar data0, uchar data1)
|
||||
{
|
||||
if (i2c_write (CFG_I2C_PWM_ADDR, reg, 1, &val, 1)) {
|
||||
printf ("Can't write PWM register 0x%02X.\n", reg);
|
||||
if (i2c_write (CFG_I2C_LCD_ADDR, data0, 1, &data1, 1)) {
|
||||
printf("Can't write lcd data 0x%02X 0x%02X.\n", data0, data1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -271,10 +312,8 @@ void r360_pwm_write (uchar reg, uchar val)
|
|||
*/
|
||||
|
||||
/* Number of bytes returned from Keyboard Controller */
|
||||
#define KEYBD_KEY_MAX 20 /* maximum key number */
|
||||
#define KEYBD_DATALEN ((KEYBD_KEY_MAX + 7) / 8) /* normal key scan data */
|
||||
|
||||
static uchar kbd_addr = CFG_I2C_KBD_ADDR;
|
||||
#define KEYBD_KEY_MAX 16 /* maximum key number */
|
||||
#define KEYBD_DATALEN ((KEYBD_KEY_MAX + 7) / 8) /* normal key scan data */
|
||||
|
||||
static uchar *key_match (uchar *);
|
||||
|
||||
|
@ -287,14 +326,14 @@ int misc_init_r (void)
|
|||
|
||||
i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE);
|
||||
|
||||
i2c_read (kbd_addr, 0, 0, kbd_data, KEYBD_DATALEN);
|
||||
i2c_read (CFG_I2C_KEY_ADDR, 0, 0, kbd_data, KEYBD_DATALEN);
|
||||
|
||||
for (i = 0; i < KEYBD_DATALEN; ++i) {
|
||||
sprintf (keybd_env + i + i, "%02X", kbd_data[i]);
|
||||
}
|
||||
setenv ("keybd", keybd_env);
|
||||
|
||||
str = strdup (key_match (kbd_data)); /* decode keys */
|
||||
str = strdup (key_match (keybd_env)); /* decode keys */
|
||||
|
||||
#ifdef CONFIG_PREBOOT /* automatically configure "preboot" command on key match */
|
||||
setenv ("preboot", str); /* set or delete definition */
|
||||
|
@ -324,16 +363,13 @@ int misc_init_r (void)
|
|||
static uchar kbd_magic_prefix[] = "key_magic";
|
||||
static uchar kbd_command_prefix[] = "key_cmd";
|
||||
|
||||
static uchar *key_match (uchar * kbd_data)
|
||||
static uchar *key_match (uchar * kbd_str)
|
||||
{
|
||||
uchar compare[KEYBD_DATALEN];
|
||||
uchar magic[sizeof (kbd_magic_prefix) + 1];
|
||||
uchar cmd_name[sizeof (kbd_command_prefix) + 1];
|
||||
uchar key_mask;
|
||||
uchar *str, *nxt, *suffix;
|
||||
uchar *str, *suffix;
|
||||
uchar *kbd_magic_keys;
|
||||
char *cmd;
|
||||
int i;
|
||||
|
||||
/*
|
||||
* The following string defines the characters that can pe appended
|
||||
|
@ -343,62 +379,48 @@ static uchar *key_match (uchar * kbd_data)
|
|||
* "key_magic" is checked (old behaviour); the string "125" causes
|
||||
* checks for "key_magic1", "key_magic2" and "key_magic5", etc.
|
||||
*/
|
||||
if ((kbd_magic_keys = getenv ("magic_keys")) == NULL)
|
||||
kbd_magic_keys = "";
|
||||
if ((kbd_magic_keys = getenv ("magic_keys")) != NULL) {
|
||||
/* loop over all magic keys;
|
||||
* use '\0' suffix in case of empty string
|
||||
*/
|
||||
for (suffix = kbd_magic_keys;
|
||||
*suffix || suffix == kbd_magic_keys;
|
||||
++suffix) {
|
||||
sprintf (magic, "%s%c", kbd_magic_prefix, *suffix);
|
||||
|
||||
/* loop over all magic keys;
|
||||
* use '\0' suffix in case of empty string
|
||||
*/
|
||||
for (suffix=kbd_magic_keys; *suffix || suffix==kbd_magic_keys; ++suffix) {
|
||||
sprintf (magic, "%s%c", kbd_magic_prefix, *suffix);
|
||||
#if 0
|
||||
printf ("### Check magic \"%s\"\n", magic);
|
||||
printf ("### Check magic \"%s\"\n", magic);
|
||||
#endif
|
||||
|
||||
memcpy(compare, kbd_data, KEYBD_DATALEN);
|
||||
if ((str = getenv (magic)) != 0) {
|
||||
|
||||
for (str = getenv(magic); str != NULL; str = (*nxt) ? nxt+1 : nxt) {
|
||||
uchar c;
|
||||
#if 0
|
||||
printf ("### Compare \"%s\" \"%s\"\n",
|
||||
kbd_str, str);
|
||||
#endif
|
||||
if (strcmp (kbd_str, str) == 0) {
|
||||
sprintf (cmd_name, "%s%c",
|
||||
kbd_command_prefix,
|
||||
*suffix);
|
||||
|
||||
c = (uchar) simple_strtoul (str, (char **) (&nxt), 16);
|
||||
|
||||
if (str == nxt) /* invalid character */
|
||||
break;
|
||||
|
||||
if (c >= KEYBD_KEY_MAX) /* bad key number */
|
||||
goto next_magic;
|
||||
|
||||
key_mask = 0x80 >> (c % 8);
|
||||
|
||||
if (!(compare[c / 8] & key_mask)) /* key not pressed */
|
||||
goto next_magic;
|
||||
|
||||
compare[c / 8] &= ~key_mask;
|
||||
if ((cmd = getenv (cmd_name)) != 0) {
|
||||
#if 0
|
||||
printf ("### Set PREBOOT to $(%s): \"%s\"\n",
|
||||
cmd_name, cmd);
|
||||
#endif
|
||||
return (cmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0; i<KEYBD_DATALEN; i++)
|
||||
if (compare[i]) /* key(s) not released */
|
||||
goto next_magic;
|
||||
|
||||
sprintf (cmd_name, "%s%c", kbd_command_prefix, *suffix);
|
||||
|
||||
cmd = getenv (cmd_name);
|
||||
#if 0
|
||||
printf ("### Set PREBOOT to $(%s): \"%s\"\n",
|
||||
cmd_name, cmd ? cmd : "<<NULL>>");
|
||||
#endif
|
||||
*kbd_data = *suffix;
|
||||
return (cmd);
|
||||
|
||||
next_magic:;
|
||||
}
|
||||
#if 0
|
||||
printf ("### Delete PREBOOT\n");
|
||||
#endif
|
||||
*kbd_data = '\0';
|
||||
*kbd_str = '\0';
|
||||
return (NULL);
|
||||
}
|
||||
#endif /* CONFIG_PREBOOT */
|
||||
#endif /* CONFIG_PREBOOT */
|
||||
|
||||
/* Read Keyboard status */
|
||||
int do_kbd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
||||
|
@ -410,7 +432,7 @@ int do_kbd (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
|||
i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE);
|
||||
|
||||
/* Read keys */
|
||||
i2c_read (kbd_addr, 0, 0, kbd_data, KEYBD_DATALEN);
|
||||
i2c_read (CFG_I2C_KEY_ADDR, 0, 0, kbd_data, KEYBD_DATALEN);
|
||||
|
||||
puts ("Keys:");
|
||||
for (i = 0; i < KEYBD_DATALEN; ++i) {
|
||||
|
|
102
cpu/mpc8xx/lcd.c
102
cpu/mpc8xx/lcd.c
|
@ -1001,102 +1001,6 @@ static void lcd_enable (void)
|
|||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#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) */
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
#ifdef NOT_USED_SO_FAR
|
||||
static void lcd_disable (void)
|
||||
{
|
||||
|
@ -1170,9 +1074,9 @@ static void bitmap_plot (int x, int y)
|
|||
|
||||
#if (CONFIG_COMMANDS & CFG_CMD_BMP)
|
||||
/*
|
||||
Display the BMP file located at address bmp_image.
|
||||
Only uncompressed
|
||||
*/
|
||||
* 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;
|
||||
|
|
|
@ -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 | \
|
||||
|
|
|
@ -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 | \
|
||||
|
|
Loading…
Reference in a new issue