diff options
author | nate <nate@FreeBSD.org> | 1996-01-06 07:49:43 +0000 |
---|---|---|
committer | nate <nate@FreeBSD.org> | 1996-01-06 07:49:43 +0000 |
commit | 4200f0d643424f01e8e5b65ff5b6f408dfb2dac6 (patch) | |
tree | 67190a08ed095c38bb0c9947a79c4acf7201cd4b | |
parent | ccd7b7cc3f86658d755de89e06b2389c150642c3 (diff) | |
download | FreeBSD-src-4200f0d643424f01e8e5b65ff5b6f408dfb2dac6.zip FreeBSD-src-4200f0d643424f01e8e5b65ff5b6f408dfb2dac6.tar.gz |
Don't rely on the card 'automatically' powering up when we probe it.
On some laptops, this doesn't work (ie; IBM 75x series), so force it
to power on.
With this modification, I am able to read the tuples off 4 different
PCMCIA cards on my ThinkPad.
Reviewed by: phk@FreeBSD.org
Obtained from: if_zp.c
-rw-r--r-- | sys/pccard/i82365.h | 1 | ||||
-rw-r--r-- | sys/pccard/pcic.c | 4 |
2 files changed, 3 insertions, 2 deletions
diff --git a/sys/pccard/i82365.h b/sys/pccard/i82365.h index 3ca9683..a6cec01 100644 --- a/sys/pccard/i82365.h +++ b/sys/pccard/i82365.h @@ -102,6 +102,7 @@ #define PCIC_OUTENA 0x80 /* Output Enable */ #define PCIC_DISRST 0x40 /* Disable RESETDRV */ #define PCIC_APSENA 0x20 /* Auto Pwer Switch Enable */ +#define PCIC_PCPWRE 0x10 /* PC Card Power Enable */ #define PCIC_VCC 0x18 /* Vcc control bits */ #define PCIC_VCC_5V 0x10 /* 5 volts */ #define PCIC_VCC_3V 0x18 /* 3 volts */ diff --git a/sys/pccard/pcic.c b/sys/pccard/pcic.c index 0a0aa57..5fe35ad 100644 --- a/sys/pccard/pcic.c +++ b/sys/pccard/pcic.c @@ -565,7 +565,7 @@ pcic_probe () /* * Check for a card in this slot. */ - setb (sp, PCIC_POWER, PCIC_APSENA | PCIC_DISRST); + setb (sp, PCIC_POWER, PCIC_PCPWRE| PCIC_DISRST); if ((getb (sp, PCIC_STATUS) & PCIC_CD) != PCIC_CD) { slotp->laststate = slotp->state = empty; } else { @@ -615,7 +615,7 @@ pcic_ioctl(struct slot *slotp, int cmd, caddr_t data) static int pcic_power(struct slot *slotp) { - unsigned char reg = PCIC_DISRST|PCIC_APSENA; + unsigned char reg = PCIC_DISRST|PCIC_PCPWRE; struct pcic_slot *sp = slotp->cdata; switch(sp->controller) { |