Compile fixes
authorwdenk <wdenk>
Sun, 20 Apr 2003 16:49:37 +0000 (16:49 +0000)
committerwdenk <wdenk>
Sun, 20 Apr 2003 16:49:37 +0000 (16:49 +0000)
MAKEALL
Makefile
board/r360mpi/r360mpi.c
cpu/mpc8xx/lcd.c
include/configs/LANTEC.h
include/configs/MPC8260ADS.h
include/configs/ep8260.h
include/configs/hymod.h

diff --git a/MAKEALL b/MAKEALL
index 338a1e8..c3a7516 100644 (file)
--- a/MAKEALL
+++ b/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             \
 "
 
 #########################################################################
index 57d7a5d..f6a7a89 100644 (file)
--- a/Makefile
+++ b/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" ; \
index d7b8873..91e3234 100644 (file)
@@ -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);
-
-               for (str = getenv(magic); str != NULL; str = (*nxt) ? nxt+1 : nxt) {
-                       uchar c;
-
-                       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;
+                       if ((str = getenv (magic)) != 0) {
 
-                       compare[c / 8] &= ~key_mask;
-               }
-
-               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>>");
+                               printf ("### Compare \"%s\" \"%s\"\n",
+                                       kbd_str, str);
 #endif
-               *kbd_data = *suffix;
-               return (cmd);
+                               if (strcmp (kbd_str, str) == 0) {
+                                       sprintf (cmd_name, "%s%c",
+                                                kbd_command_prefix,
+                                                *suffix);
 
-       next_magic:;
+                                       if ((cmd = getenv (cmd_name)) != 0) {
+#if 0
+                                               printf ("### Set PREBOOT to $(%s): \"%s\"\n",
+                                                       cmd_name, cmd);
+#endif
+                                               return (cmd);
+                                       }
+                               }
+                       }
+               }
        }
 #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) {
index 1c3fb23..9e92676 100644 (file)
@@ -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;
index f152dc7..7f4869f 100644 (file)
@@ -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     \
index 838c7d3..48cd9b3 100644 (file)
 
 #define CONFIG_COMMANDS                (CFG_CMD_ALL & ~( \
                                 CFG_CMD_BEDBUG | \
+                                CFG_CMD_BMP    | \
                                 CFG_CMD_BSP    | \
                                 CFG_CMD_DATE   | \
                                 CFG_CMD_DOC    | \
index 5c53a46..21b9d76 100644 (file)
 /*
 */
 #define CONFIG_COMMANDS                (       CFG_CMD_ALL     & \
+                                       ~CFG_CMD_BMP    & \
                                        ~CFG_CMD_BSP    & \
                                        ~CFG_CMD_DCR    & \
                                        ~CFG_CMD_DHCP   & \
index 271aacf..df89715 100644 (file)
 
 #define CONFIG_COMMANDS                (CFG_CMD_ALL & ~( \
                                        CFG_CMD_BEDBUG  | \
+                                       CFG_CMD_BMP     | \
                                        CFG_CMD_DOC     | \
                                        CFG_CMD_ELF     | \
                                        CFG_CMD_FDC     | \