summaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/skylake')
-rw-r--r--src/soc/intel/skylake/acpi/xhci.asl47
-rw-r--r--src/soc/intel/skylake/chip.h1
-rw-r--r--src/soc/intel/skylake/include/soc/usb.h7
3 files changed, 3 insertions, 52 deletions
diff --git a/src/soc/intel/skylake/acpi/xhci.asl b/src/soc/intel/skylake/acpi/xhci.asl
index 0540919e37..bfe6c6df77 100644
--- a/src/soc/intel/skylake/acpi/xhci.asl
+++ b/src/soc/intel/skylake/acpi/xhci.asl
@@ -2,51 +2,8 @@
#include <intelblocks/xhci.h>
-/*
- * USB Port Wake Enable (UPWE) on usb attach/detach
- * Arg0 - Port Number
- * Arg1 - Port 1 Status and control offset
- * Arg2 - xHCI Memory-mapped address
- */
-Method (UPWE, 3, Serialized)
-{
- Local0 = Arg1 + ((Arg0 - 1) * 0x10)
-
- /* Map ((XMEM << 16) + Local0 in PSCR */
- OperationRegion (PSCR, SystemMemory, (Arg2 << 16) + Local0, 0x10)
- Field (PSCR, DWordAcc, NoLock, Preserve)
- {
- PSCT, 32,
- }
- Local0 = PSCT
- Local0 = Local0 & PORTSCN_BITS_OFF_MASK
- Local0 = Local0 | PORTSCN_WAKE_ON_BOTH_CONNECT_DISCONNECT_ENABLE
- PSCT = Local0
-}
-
-/*
- * USB Wake Enable Setup (UWES)
- * Arg0 - Port enable bitmap
- * Arg1 - Port 1 Status and control offset
- * Arg2 - xHCI Memory-mapped address
- */
-Method (UWES, 3, Serialized)
-{
- Local0 = Arg0
-
- While (1) {
- FindSetRightBit (Local0, Local1)
- If (Local1 == 0) {
- Break
- }
- UPWE (Local1, Arg1, Arg2)
- /*
- * Clear the lowest set bit in Local0 since it was
- * processed.
- */
- Local0 = Local0 & (Local0 - 1)
- }
-}
+/* Include UWES method for enabling USB wake */
+#include <soc/intel/common/acpi/xhci_wake.asl>
/* XHCI Controller 0:14.0 */
diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h
index 5119037f6a..3070c462ba 100644
--- a/src/soc/intel/skylake/chip.h
+++ b/src/soc/intel/skylake/chip.h
@@ -12,6 +12,7 @@
#include <intelblocks/gspi.h>
#include <intelblocks/lpc_lib.h>
#include <intelblocks/power_limit.h>
+#include <intelblocks/xhci.h>
#include <stdbool.h>
#include <stdint.h>
#include <soc/gpe.h>
diff --git a/src/soc/intel/skylake/include/soc/usb.h b/src/soc/intel/skylake/include/soc/usb.h
index 79126037c5..612ad5fa2e 100644
--- a/src/soc/intel/skylake/include/soc/usb.h
+++ b/src/soc/intel/skylake/include/soc/usb.h
@@ -180,11 +180,4 @@ struct usb3_port_config {
.tx_downscale_amp = 0x00, \
}
-/*
- * Set bit corresponding to USB port in wake enable bitmap. Bit 0 corresponds
- * to Port 1, Bit n corresponds to Port (n+1). This bitmap is later used to
- * decide what ports need to set PORTSCN/PORTSCXUSB3 register bits.
- */
-#define USB_PORT_WAKE_ENABLE(x) (1 << ((x) - 1))
-
#endif