summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUwe Stuehler <uwe@cvs.openbsd.org>2005-12-13 05:35:55 +0000
committerUwe Stuehler <uwe@cvs.openbsd.org>2005-12-13 05:35:55 +0000
commit6c0d3259f36f396384a2be08bb8a83952b0ca661 (patch)
treea8202eab7a25f89e6f7eaad7c29af0cd8b62f052
parent699af870e894885571a2a2343adbc1359452f7a5 (diff)
It would seem that some cards do not get reset correctly if RESET is
held only for 10us but the same cards work just fine on other platforms. A really long delay lets those cards reset correctly on zaurus, but it is only an ugly workaround until the socket setup is fixed. ok for now fgs@, drahn@
-rw-r--r--sys/arch/arm/xscale/pxa2x0_pcic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/arm/xscale/pxa2x0_pcic.c b/sys/arch/arm/xscale/pxa2x0_pcic.c
index 37e8512225d..a1a35b14082 100644
--- a/sys/arch/arm/xscale/pxa2x0_pcic.c
+++ b/sys/arch/arm/xscale/pxa2x0_pcic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pxa2x0_pcic.c,v 1.15 2005/11/23 11:39:37 mickey Exp $ */
+/* $OpenBSD: pxa2x0_pcic.c,v 1.16 2005/12/13 05:35:54 uwe Exp $ */
/*
* Copyright (c) 2005 Dale Rahn <drahn@openbsd.org>
@@ -273,6 +273,8 @@ pxapcic_socket_enable(pcmcia_chipset_handle_t pch)
/* Hold RESET at least 10us. */
so->pcictag->write(so, PXAPCIC_CARD_RESET, 1);
delay(10);
+ /* XXX wrong, but lets TE-CF100 cards work for some reason. */
+ delay(3000);
so->pcictag->write(so, PXAPCIC_CARD_RESET, 0);
/* Wait 20ms as per PC Card standard (r2.01) section 4.3.6. */