Module Name: src
Committed By: phx
Date: Sun Sep 7 22:24:40 UTC 2014
Modified Files:
src/sys/arch/amiga/dev: gayle_pcmcia.c
Log Message:
According to http://eab.abime.net/showpost.php?p=782840&postcount=115
there are two methods for a Gayle PCMCIA soft-reset.
pccard_attach() only implemented a method with works on A600 and some
older (?) A1200 models. I added the second method as well, to make the
reset work in any case. Tested on the latest A1200 model, which failed before.
To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/amiga/dev/gayle_pcmcia.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/amiga/dev/gayle_pcmcia.c
diff -u src/sys/arch/amiga/dev/gayle_pcmcia.c:1.29 src/sys/arch/amiga/dev/gayle_pcmcia.c:1.30
--- src/sys/arch/amiga/dev/gayle_pcmcia.c:1.29 Wed Jan 22 00:25:16 2014
+++ src/sys/arch/amiga/dev/gayle_pcmcia.c Sun Sep 7 22:24:40 2014
@@ -1,9 +1,9 @@
-/* $NetBSD: gayle_pcmcia.c,v 1.29 2014/01/22 00:25:16 christos Exp $ */
+/* $NetBSD: gayle_pcmcia.c,v 1.30 2014/09/07 22:24:40 phx Exp $ */
/* public domain */
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gayle_pcmcia.c,v 1.29 2014/01/22 00:25:16 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gayle_pcmcia.c,v 1.30 2014/09/07 22:24:40 phx Exp $");
/* PCMCIA front-end driver for A1200's and A600's. */
@@ -206,6 +206,11 @@ pccard_attach(device_t parent, device_t
/* reset the card if it's already there */
if (gayle_pcmcia_status_read() & GAYLE_CCMEM_DETECT) {
volatile u_int8_t x;
+
+ gayle_intr_ack(0xff);
+ delay(500);
+ gayle_intr_ack(0xfc);
+
*reset_card_reg = 0x0;
delay(1000);
x = *reset_card_reg;