Patch by Guillaume Alexandre,, 04 Nov 2002:
Improve PCI access on 32-bits Compact PCI bus
Adjust VFD initialization on TRAB
Cleanup RRvision video code
diff --git a/board/trab/trab.c b/board/trab/trab.c
index b4ab329..6a758b2 100644
--- a/board/trab/trab.c
+++ b/board/trab/trab.c
@@ -42,13 +42,13 @@
* 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 @@
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 @@
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 */