summaryrefslogtreecommitdiff
path: root/sys/dev/acpi
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2020-04-10 21:25:01 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2020-04-10 21:25:01 +0000
commit2831b432f846a64b3daa93a4caa17e89fecc2366 (patch)
treed118c6b22e99d8f8d38b0a21d040b008c38ca37c /sys/dev/acpi
parentc337af36932bcaa6d7c313ce19ac8dc71c47c9d7 (diff)
The Raspberry Pi4 (suing UEFI firmware in ACPI mode) uses QWord()
resource descriptors. Add support for this. ok deraadt@
Diffstat (limited to 'sys/dev/acpi')
-rw-r--r--sys/dev/acpi/xhci_acpi.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/acpi/xhci_acpi.c b/sys/dev/acpi/xhci_acpi.c
index bd2c89cb387..b2a32eb0f77 100644
--- a/sys/dev/acpi/xhci_acpi.c
+++ b/sys/dev/acpi/xhci_acpi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xhci_acpi.c,v 1.1 2018/07/02 11:23:19 kettenis Exp $ */
+/* $OpenBSD: xhci_acpi.c,v 1.2 2020/04/10 21:25:00 kettenis Exp $ */
/*
* Copyright (c) 2018 Mark Kettenis
*
@@ -153,6 +153,13 @@ xhci_acpi_parse_resources(int crsidx, union acpi_resource *crs, void *arg)
sc->sc_size = crs->lr_m32fixed._len;
}
break;
+ case LR_QWORD:
+ /* XHCI registers are specified by the first resource. */
+ if (sc->sc_size == 0) {
+ sc->sc_addr = crs->lr_qword._min;
+ sc->sc_size = crs->lr_qword._len;
+ }
+ break;
case LR_EXTIRQ:
sc->sc_irq = crs->lr_extirq.irq[0];
sc->sc_irq_flags = crs->lr_extirq.flags;