1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-13 10:02:38 +00:00

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
This commit is contained in:
Nate Williams 1996-01-06 07:49:43 +00:00
parent 926cb56114
commit ea5ff881da
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=13272
2 changed files with 3 additions and 2 deletions

View File

@ -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 */

View File

@ -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) {