]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/trab/trab.c
Patch by Guillaume Alexandre,, 04 Nov 2002:
[karo-tx-uboot.git] / board / trab / trab.c
index b4ab32936798313b4fb0cc0c21591ceff90aa6df..6a758b2398d0930732a9b7f1749a34271eb05385 100644 (file)
@@ -42,13 +42,13 @@ extern int do_mdm_init; /* defined in common/main.c */
  * is that timers are not available yet, so we use a manually timed
  * loop.
  */
-#define KBD_MDELAY     1000
-static void mdelay_no_timer (int msec)
+#define KBD_MDELAY     5000
+static void udelay_no_timer (int usec)
 {
        DECLARE_GLOBAL_DATA_PTR;
 
        int i;
-       int delay = msec * 3;
+       int delay = usec * 3;
 
        for (i = 0; i < delay; i ++) gd->bd->bi_arch_number = 145;
 }
@@ -102,12 +102,12 @@ int board_init ()
        gd->bd->bi_boot_params = 0x0c000100;
 
 #ifdef CONFIG_MODEM_SUPPORT
-       /* This stuff is needed to get interrupts on stop-position
-        * contact events.
+       /* This stuff is needed by the CPLD to read keyboard data.
         * (Copied from the LCD initialization routine.)
         */
-       if (rLCDCON1 == 0)
-       {
+       if (rLCDCON1 == 0) {
+               extern void init_grid_ctrl(void);
+
                rPCCON = (rPCCON & 0xFFFFFF00)| 0x000000AA;
                rPDCON = (rPDCON & 0xFFFFFF03)| 0x000000A8;
 #if 0
@@ -118,9 +118,11 @@ int board_init ()
                rLCDCON4 = 0x00000001;
                rLCDCON5 = 0x00000440;
                rLCDCON1 = 0x00000B75;
+
+               init_grid_ctrl();
        }
 
-       mdelay_no_timer (KBD_MDELAY);
+       udelay_no_timer (KBD_MDELAY);
 
        if (key_pressed()) {
                disable_putc(); /* modem doesn't understand banner etc */