opnsense-src/sys/dev/usb/controller
Bjoern A. Zeeb fbb5cb66f7 dwc3: add ACPI attachment
Split the current FDT-only implementation up into an FDT and an
ACPI part reusing and sharing as much code as possible (thanks mw!).

This makes the Synopsis XHCI root hubs attach correctly on SolidRun's
HoenyComb instead of just the generic XHCI root and this means we
are also doing proper chip setup and applying the quirk needed there [1].

There is one problem with ACPI attachment in that it uses the generic
XHCI PNP ID.  So we need to do extra checks in order to not claim
all xhci, which means we check for a known quirk to be present
in acpi_probe.  Long term this isn't scaling and this was discussed
in SolidRun's Discord Channel in 2021 with the intend that "jnettlet"
will take this to a steering committee.  Since then ACPI has kind-of
become a technology non grata (due to not getting changes into Linux
timely) so it is unclear if this will ever happen.  If there will be
further hardware with dwc3/ACPI we should go and make sure this problem
gets solved.

[1] 24698f90b7/Silicon/NXP/LX2160A/AcpiTables/Dsdt/Usb.asl

Reviewed by:		manu, mw
MFC after:		10 days
Differential Revision:	https://reviews.freebsd.org/D32256
2022-07-06 11:26:34 +00:00
..
atmegadci.c atmegadci: eliminate unused variables sc, ep_no 2022-04-04 22:30:23 -06:00
atmegadci.h
avr32dci.c Fix undefined behaviour in the USB controllers 2022-01-12 13:53:19 +00:00
avr32dci.h
dwc3.c dwc3: add ACPI attachment 2022-07-06 11:26:34 +00:00
dwc3.h dwc3: add more quirks and checks 2022-07-03 22:17:35 +00:00
dwc_otg.c usb(4): Remove a double word in a source code comment 2022-04-09 11:02:23 +02:00
dwc_otg.h
dwc_otg_acpi.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
dwc_otg_fdt.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
dwc_otg_fdt.h
dwc_otg_hisi.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
dwc_otgreg.h
ehci.c
ehci.h
ehci_fsl.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
ehci_imx.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
ehci_msm.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
ehci_mv.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
ehci_pci.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
ehcireg.h
generic_ehci.c
generic_ehci.h
generic_ehci_acpi.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
generic_ehci_fdt.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
generic_ohci.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
generic_usb_if.m
generic_xhci.c
generic_xhci.h
generic_xhci_acpi.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
generic_xhci_fdt.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
musb_otg.c musb: eliminate write only variable sc 2022-04-04 22:30:26 -06:00
musb_otg.h
musb_otg_allwinner.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
ohci.c usb: Add a __usbdebug_used for variables only used under #ifdef USB_DEBUG. 2022-04-13 16:08:20 -07:00
ohci.h
ohci_pci.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
ohcireg.h
uhci.c uhci: Remove write-only variable. 2022-04-06 16:45:27 -07:00
uhci.h
uhci_pci.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
uhcireg.h
usb_controller.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
usb_nop_xceiv.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
uss820dci.c uss820dci: eliminate unused variables sc, ep_no 2022-04-04 22:30:31 -06:00
uss820dci.h
xhci.c USB: add quirks to XHCI 2022-06-15 21:08:58 +00:00
xhci.h USB: add quirks to XHCI 2022-06-15 21:08:58 +00:00
xhci_pci.c usb: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
xhcireg.h xhci(4): Properly define all basic USB port speeds. 2022-05-04 09:26:38 +02:00