summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorFederico G. Schwindt <fgsch@cvs.openbsd.org>1998-12-15 07:12:58 +0000
committerFederico G. Schwindt <fgsch@cvs.openbsd.org>1998-12-15 07:12:58 +0000
commitf8856540e6c5c391a4a24363c2dab1771b260c19 (patch)
tree135586c590caae080043add9b038a41e3430c3ce /sys/dev/ic
parent8c52ec1cbfe87f032a8ae928067ea5380f51a38b (diff)
Sync with NetBSD (no detach updates yet).
This should fix pcic_chip_socket_enable() to work on more machines.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/i82365.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sys/dev/ic/i82365.c b/sys/dev/ic/i82365.c
index 2c5a75f9f09..fc5a3458d06 100644
--- a/sys/dev/ic/i82365.c
+++ b/sys/dev/ic/i82365.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: i82365.c,v 1.1 1998/09/11 07:53:57 fgsch Exp $ */
+/* $OpenBSD: i82365.c,v 1.2 1998/12/15 07:12:57 fgsch Exp $ */
/* $NetBSD: i82365.c,v 1.10 1998/06/09 07:36:55 thorpej Exp $ */
/*
@@ -1042,7 +1042,8 @@ pcic_wait_ready(h)
}
#ifdef DIAGNOSTIC
- printf("pcic_wait_ready ready never happened\n");
+ printf("pcic_wait_ready: ready never happened, status = %02x\n",
+ pcic_read(h, PCIC_IF_STATUS));
#endif
}
@@ -1067,27 +1068,26 @@ pcic_chip_socket_enable(pch)
/* power up the socket */
- pcic_write(h, PCIC_PWRCTL, PCIC_PWRCTL_PWR_ENABLE);
+ pcic_write(h, PCIC_PWRCTL, PCIC_PWRCTL_DISABLE_RESETDRV
+ | PCIC_PWRCTL_PWR_ENABLE);
/*
* wait 100ms until power raise (Tpr) and 20ms to become
* stable (Tsu(Vcc)).
+ *
+ * some machines require some more time to be settled
+ * (another 200ms is added here).
*/
- delay((100 + 20) * 1000);
+ delay((100 + 20 + 200) * 1000);
- pcic_write(h, PCIC_PWRCTL, PCIC_PWRCTL_PWR_ENABLE | PCIC_PWRCTL_OE);
+ pcic_write(h, PCIC_PWRCTL, PCIC_PWRCTL_DISABLE_RESETDRV | PCIC_PWRCTL_OE
+ | PCIC_PWRCTL_PWR_ENABLE);
+ pcic_write(h, PCIC_INTR, 0);
-#if 0
/*
* hold RESET at least 10us.
*/
delay(10);
-#else
- /*
- * at least one card i've tested needs this. -fgsch
- */
- delay(250 * 1000);
-#endif
/* clear the reset flag */