summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2001-11-09 06:26:57 +0000
committerWarner Losh <imp@FreeBSD.org>2001-11-09 06:26:57 +0000
commit3761b249c92008bb0c13332d899bb76cd0344ee3 (patch)
tree5f1472f5bf74446c598087df5c8b5ab63bc4bd48
parent48eb18a1650e643a8956ff3ce015bbf51fb4b53f (diff)
Notes
-rw-r--r--sys/pccard/pcic.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/pccard/pcic.c b/sys/pccard/pcic.c
index f801e113f42f..aaa683abe94b 100644
--- a/sys/pccard/pcic.c
+++ b/sys/pccard/pcic.c
@@ -575,6 +575,28 @@ pcic_power(struct slot *slt)
if ((c & PCIC_VS1STAT) == 0)
slt->pwr.vcc = 33;
}
+ if (sc->flags & PCIC_PD_POWER) {
+ /*
+ * Datasheets indicate that this is only supported on
+ * the CL-PD6710. However, my 6722 seems to support
+ * it as well. The datasheet for the '22 talks about
+ * the need to read this from register 0x6f.0xa (both
+ * slots are read from the same register). The
+ * datasheet is a little vauge. The '29 datasheet is
+ * clear and spells out the recommends way on the '22
+ * is the way on the '29. Note: PCIC_MISC1_5V_DETECT
+ * is definitely not defined on the '29.
+ */
+ c = sp->getb(sp, PCIC_MISC1);
+ if ((c & PCIC_MISC1_5V_DETECT) == 0)
+ slt->pwr.vcc = 33;
+
+ /*
+ * Regardless of the above, setting the Auto Power Switch
+ * enable for the CL-PD 6722 seems to help too.
+ */
+ reg |= PCIC_APSENA;
+ }
/*
* XXX Note: The Vpp controls varies quit a bit between bridge chips