Subject: PCMCIA mod for Compaq Armada M700
To: None <port-i386@netbsd.org>
From: Andrew Doran <ad@netbsd.org>
List: port-i386
Date: 08/25/2001 23:44:48
Can somebody with more PCMCIA clue than I verify that PCMCIA devices aren't
typically hungry enough to consume 256 bytes of I/O space?
The problem is that the SMBus controller interface on the Armada M700 lies
at 0x4000, and bad things happen if you clobber it.
Index: i386/rbus_machdep.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/i386/rbus_machdep.c,v
retrieving revision 1.12
diff -u -r1.12 rbus_machdep.c
--- i386/rbus_machdep.c 2001/07/06 18:01:26 1.12
+++ i386/rbus_machdep.c 2001/08/25 20:40:24
@@ -53,6 +53,13 @@
#include <arch/i386/pci/pci_addr_fixup.h>
#endif
+#ifndef RBUS_IO_BASE
+#define RBUS_IO_BASE 0x4000
+#endif
+#ifndef RBUS_IO_SIZE
+#define RBUS_IO_SIZE 0x2000
+#endif
+
#ifndef RBUS_MIN_START
#define RBUS_MIN_START 0x40000000 /* 1GB */
#endif
@@ -118,8 +125,8 @@
extern struct extent *ioport_ex;
ex = ioport_ex;
#endif
- start = 0x4000;
- size = 0x2000;
+ start = RBUS_IO_BASE;
+ size = RBUS_IO_SIZE;
ret = rbus_new_root_share(pa->pa_iot, ex, start, size, 0);
if(ret == NULL) {
Index: conf/ARMADA
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/conf/ARMADA,v
retrieving revision 1.4
diff -u -r1.4 ARMADA
--- conf/ARMADA 2001/08/22 15:39:05 1.4
+++ conf/ARMADA 2001/08/25 20:40:25
@@ -284,6 +284,8 @@
# CardBus bus support
# following makes ARMADA M700's happy
options RBUS_MIN_START=0x20000000
+options RBUS_IO_BASE=0x600
+options RBUS_IO_SIZE=0x100
cardbus* at cardslot?
pcmcia* at cardslot?