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?