diff options
author | imp <imp@FreeBSD.org> | 2002-06-23 01:55:10 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2002-06-23 01:55:10 +0000 |
commit | 2ca74898871c4224db1bf10217625a45c33e8ff4 (patch) | |
tree | 05a095e4d4f89c8b1934038308b4bf47dfbc9361 /sys/pccard/pccard.c | |
parent | 4bc342b5535ab65f0c43d675318f1186a9eb5272 (diff) | |
download | FreeBSD-src-2ca74898871c4224db1bf10217625a45c33e8ff4.zip FreeBSD-src-2ca74898871c4224db1bf10217625a45c33e8ff4.tar.gz |
What:
o ToPIC is happy with two cards now, even when the two cards are
modems.
o Fix (all?) hangs on boot when power is applied to the card. I
suspect that this will make the Ricoh bridges happier and also
make a lot of VAIO owners happy (confirm to me in private email
please :-).
o All Cardbus bridges should now support 3.3V, X.XV and Y.YV cards,
to the extent that the underlying hardware supports such cards.
(X.X and Y.Y haven't been assigned values yet :-).
o Better 3.3V support for Ricoh ISA bridges.
How:
o Don't mess with the power register when scanning the cards. It
is unnecessary and causes BADVcc conditions on many chipsets. These
in turn can cause an interrupt storm.
o Make pcic_disable reset the slot's voltage.
o Move initializing voltage for the slot until after it has been
disabled.
o Fix a lot of issues with the pcic_cardbus_power routine. We
now properly enable the card and take it out of reset after
a power change.
o When detecting the card's voltage, if we're in a BadVcc state,
direct the bridge to rescan the card for what it supports.
(we might need to in the future set the power register to 0
before doing this).
o Don't preserve CLKSTOP. need to revisit this.
o Better support for Ricoh ISA bridges for 3.3V cards.
o Don't write to PCIC_POWER directly as offten, but instead go
through the pcic_power interface.
o All cardbus bridges now default to use cardbus power control.
o Add misc register definitions.
o remove some (now) bogus comments.
Extra Special Thanks To: Scott Lamber for his kind and generous loan
of a Toshiba laptop with a ToPIC 100 in it for my use.
Diffstat (limited to 'sys/pccard/pccard.c')
-rw-r--r-- | sys/pccard/pccard.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/sys/pccard/pccard.c b/sys/pccard/pccard.c index 964748b..aa2bf3c 100644 --- a/sys/pccard/pccard.c +++ b/sys/pccard/pccard.c @@ -290,25 +290,23 @@ inserted(void *arg) slt->state = filled; /* - * Enable 5V to the card so that the CIS can be read. - */ - slt->pwr.vcc = -1; - slt->pwr.vpp = -1; - - /* * Disable any pending timeouts for this slot, and explicitly * power it off right now. Then, re-enable the power using * the (possibly new) power settings. */ untimeout(power_off_slot, (caddr_t)slt, slt->poff_ch); power_off_slot(slt); + + /* + * Enable 5V to the card so that the CIS can be read. Well, + * enable the most natural voltage so that the CIS can be read. + */ + slt->pwr.vcc = -1; + slt->pwr.vpp = -1; slt->ctrl->power(slt); printf("pccard: card inserted, slot %d\n", slt->slotnum); pccard_insert_beep(); - /* - * Now start resetting the card. - */ slt->ctrl->reset(slt); } |