|
@@ -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 */
|