summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccbb
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2002-07-21 04:23:11 +0000
committerimp <imp@FreeBSD.org>2002-07-21 04:23:11 +0000
commitba9f87cbffa941e1a061491e4542ede0394b918d (patch)
treef5bb171fd2aad4c2717a6518126a91ff908c5e97 /sys/dev/pccbb
parent06652140c612907f023dc10503c516ab48b39633 (diff)
downloadFreeBSD-src-ba9f87cbffa941e1a061491e4542ede0394b918d.zip
FreeBSD-src-ba9f87cbffa941e1a061491e4542ede0394b918d.tar.gz
Reset the 16-bit bus and turn off power. More work in this area may
be needed, but this seems sane on my laptop.
Diffstat (limited to 'sys/dev/pccbb')
-rw-r--r--sys/dev/pccbb/pccbb.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c
index d5b3ded..f9a8ceb 100644
--- a/sys/dev/pccbb/pccbb.c
+++ b/sys/dev/pccbb/pccbb.c
@@ -115,7 +115,7 @@
pci_write_config(DEV, REG, ( \
pci_read_config(DEV, REG, SIZE) MASK1) MASK2, SIZE)
-#define PCCBB_START_MEM 0x84000000
+#define PCCBB_START_MEM 0x88000000
#define PCCBB_START_32_IO 0x1000
#define PCCBB_START_16_IO 0x100
@@ -664,6 +664,12 @@ pccbb_attach(device_t brdev)
return (ENOMEM);
}
+ /* reset 16-bit pcmcia bus */
+ exca_clrb(&sc->exca, EXCA_INTR, EXCA_INTR_RESET);
+
+ /* turn off power */
+ pccbb_power(brdev, CARD_VCC_0V | CARD_VPP_0V);
+
/* CSC Interrupt: Card detect interrupt on */
pccbb_setb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD);
OpenPOWER on IntegriCloud