Date: Sun, 21 Jul 2002 06:56:00 -0700 From: "Michael C. Wu" <keichii@iteration.net> To: "M. Warner Losh" <imp@bsdimp.com> Cc: tony@valemount.com, mobile@FreeBSD.ORG Subject: Re: pcmcia support with no ISA bus? Message-ID: <20020721135600.GA70904@nuit.iteration.net> In-Reply-To: <20020720.004449.29960453.imp@bsdimp.com> References: <09f301c22f87$05d23d70$114c35d1@tonyxp> <20020719.231116.78708067.imp@bsdimp.com> <005d01c22fb4$0bac86b0$8a4c35d1@master> <20020720.004449.29960453.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Adding some information, During a very short window of -current, I actually got both card slots to function correctly, attaching two different cards to pcic0 the normal pcmcia slot and pcic1 the CF slot. IBM's BIOS is quite weird, it allows me to pick devices for PCI slots1-4, and makes the cards share the IRQ's if you assign them the same IRQ. Does anybody have experience with this type of stupid BIOS? It doesn't even allow me to pick ACPI or APM modes. On Sat, Jul 20, 2002 at 12:44:49AM -0600, M. Warner Losh scribbled: | well, the following is completely untested. Lemme know if it works. | It is too green to go into the tree as-is, but will (if it works) get | you up and running. It won't work for anything but a real pci cardbus | bridge (or the wannabe cardbus bridge the ti-1031). Some ISA based | chips can also do it, but I don't plan on supporting those because | there are too many different ways to do it, it won't work on real ISA | cards, just funky wired chips in laptops, and there's little demand. | | this patch should also apply to -stable cleanly. | | Warner | | Index: pcic.c | =================================================================== | RCS file: /home/imp/FreeBSD/CVS/src/sys/pccard/pcic.c,v | retrieving revision 1.176 | diff -u -r1.176 pcic.c | --- pcic.c 18 Jul 2002 08:13:45 -0000 1.176 | +++ pcic.c 20 Jul 2002 06:42:01 -0000 | @@ -232,6 +232,14 @@ | pcic_putw(sp, reg+2, (sys_addr + (mp->size >> 12) - 1) & 0xFFF); | pcic_putw(sp, reg+4, ((mp->card >> 12) - sys_addr) & 0x3FFF); | /* | + * Speical kludge for those users that need somewhere out of | + * the ISA window for their mapping who are using a cardbus | + * bridge. This will fail for those folks not using a yenta | + * bridge. XXX cleanup XXX | + */ | + if ((mp->start >> 24) != 0) | + sp->putb(sp, 0x40 + win, mp->start >> 24); | + /* | * Each 16 bit register has some flags in the upper bits. | */ | if (mp->flags & MDF_16BITS) | | To Unsubscribe: send mail to majordomo@FreeBSD.org | with "unsubscribe freebsd-mobile" in the body of the message ------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020721135600.GA70904>