summaryrefslogtreecommitdiff
path: root/sys/dev/usb/ehcireg.h
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2004-12-29 01:52:28 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2004-12-29 01:52:28 +0000
commite21f5a39ae887f8942ef4219e31f1ae7e5ade40c (patch)
tree0d92495fbe02d52ddc8ffd61fbb4247e4b95c341 /sys/dev/usb/ehcireg.h
parent72f515ed522e03c0608093ba6f814fbeebd7d9fc (diff)
from freebsd: ehci.c 1.13, ehci_pci.c 1.13, ehcireg.h 1.5, ehcivar.h 1.3
log message: Attempt to follow the correct procedure for synchronising with the system BIOS to disable legacy device emulation as per the "EHCI Extended Capability: Pre-OS to OS Handoff Synchronisation" section of the EHCI spec. BIOSes that implement legacy emulation using SMIs are supposed to disable the emulation when this procedure is performed. tested on various archs by jsg@ and me ok pascoe@, looks sane jsg@
Diffstat (limited to 'sys/dev/usb/ehcireg.h')
-rw-r--r--sys/dev/usb/ehcireg.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/dev/usb/ehcireg.h b/sys/dev/usb/ehcireg.h
index 3be89651e7b..76c4baffb40 100644
--- a/sys/dev/usb/ehcireg.h
+++ b/sys/dev/usb/ehcireg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: ehcireg.h,v 1.11 2004/10/25 22:30:04 dlg Exp $ */
+/* $OpenBSD: ehcireg.h,v 1.12 2004/12/29 01:52:27 dlg Exp $ */
/* $NetBSD: ehcireg.h,v 1.17 2004/06/23 06:45:56 mycroft Exp $ */
/*
@@ -64,9 +64,16 @@
#define PCI_EHCI_PORTWAKECAP 0x62 /* RW Port wake caps (opt) */
-/* Regs ar EECP + offset */
-#define PCI_EHCI_USBLEGSUP 0x00
-#define PCI_EHCI_USBLEGCTLSTS 0x04
+/* EHCI Extended Capabilities */
+#define EHCI_EC_LEGSUP 0x01
+
+#define EHCI_EECP_NEXT(x) (((x) >> 8) & 0xff)
+#define EHCI_EECP_ID(x) ((x) & 0xff)
+
+#define EHCI_LEGSUP_LEGSUP 0x01
+#define EHCI_LEGSUP_OSOWNED 0x01000000 /* OS owned semaphore */
+#define EHCI_LEGSUP_BIOSOWNED 0x00010000 /* BIOS owned semaphore */
+#define PCI_LEGSUP_USBLEGCTLSTS 0x04
/*** EHCI capability registers ***/