summaryrefslogtreecommitdiff
path: root/sys/dev/usb/controller
AgeCommit message (Collapse)Author
2025-12-05xhci: Add header values for Debug Capability (DbC)Tom Jones
Add header values for xHCI debug capability. These values are defined in section 7.6 of xHCI Specification 1.2b (April 2023). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53897
2025-12-05xhci: Correct name of HCCPARAMS RegisterTom Jones
On inital import the name of HCCPARAMS1 was misnamed as HCSPARAMS0. HCCPARAMS1 is defined in section 5.3.6 of xHCI Specification 1.2b (April 2023). Reviewed by: adrian Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53895
2025-12-05xhci: Add some Alder lake device idsTom Jones
Reviewed By: aokblast Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52994
2025-10-20ehci(4): Add ID for Realtek RTL811x USB 2.0 controllerDmitry Luhtionov
2025-09-08Add random Intel Elkhart Lake device IDs.Dmitry Luhtionov
2025-09-02xhci: Parse and print extended capabilitiesTom Jones
Parse out and display xhci controller extended capabilities. This gives us a mechanism to pick these up when the controller attaches. The print helps users and developer know the availability of features in the wild. This change will let developers know from dmesg that a controller supports USB debugging. Reviewed by: aokblast Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51255
2025-07-14xhci pci: Add some amd xhci controller device idsTom Jones
Reviewed by: aokblast Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51259
2025-05-19dwc_otg_fdt: do not create and leak extra usbus childAndriy Gapon
dwc_otg_init() already takes care of creating the bus and setting up sc to point to it. Fixes: 518da7ace813e MFC after: 1 week
2025-03-12usb: Use bus_detach_children instead of bus_generic_detachJohn Baldwin
The USB bus performs additional teardown steps in between detaching child devices and deleting child devices. Reported by: phk, thj Tested by: phk Fixes: e9d3857040a1 ("Use bus_detach_children instead of bus_generic_detach")
2025-03-04usb: Kill left-over cdefs.h includesWarner Losh
These includes were for __FBSD_RCSID() macro. They weren't formatted like the rest of the tree so weren't trimmed automatically when that script was run. Trim them now. MFC After: 1 week Sponsored by: Netflix
2025-01-10riscv: enable Allwinner D1 USB driversMitchell Horne
Add the generic USB drivers and FDT glue to the build. Make small tweaks to the aw_usbphy and aw_musb drivers for the Allwinner D1. Reviewed by: manu Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48126
2025-01-02Use bus_generic_detach instead of device_delete_children in detachJohn Baldwin
While here, check for errors from bus_generic_detach and move it to the start of detach if necessary. Differential Revision: https://reviews.freebsd.org/D47969
2024-12-06Replace calls to bus_generic_attach with bus_attach_childrenJohn Baldwin
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47675
2024-09-24usb: change LIST to SLIST to avoid LinuxKPI conflictsBjoern A. Zeeb
In order to better integrate modern LinuxKPI USB this tries to reduce a contention point of "LIST". Given there is no need to use a LIST here change it to SLIST to avoid conflicts. It is a workaround which does not solve the actual problem (overlapping namespaces) but it helps us a lot for now. Sponsored by: The FreeBSD Foundation X-MFC? unclear Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D46534
2024-07-24newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANYWarner Losh
Sponsored by: Netflix
2024-06-07Add some AMD device IDs.Dmitry Luhtionov
2024-06-03kern: Remove leftover saf1761otg bitsJoshua Kinard
Almost all code related to the saf1761 driver was removed in commit 44796b7e822e, except for two small bits related to saf1761otg support. This patch completes the removal. PR: 279302 Signed-off-by: Joshua Kinard <freebsd@kumba.dev> Reviewed by: mhorne MFC after: 3 days Fixes: 44796b7e822e ("mips: remove saf1761")
2024-04-09bcm2838_xhci: add moduleLexi Winter
bcm2838_xhci(4) is a shim for the XHCI controller on the Raspberry Pi 4B SoC. It loads the controller's firmware before passing control to the normal xhci(4) driver. When xhci(4) is built as a module (and not in the kernel), bcm2838_xhci is not built at all and the RPi4's XHCI controller won't attach due to missing firmware. To fix this, build a new module, bcm2838_xhci.ko, which depends on xhci.ko. For the dependency to work correctly, also modify xhci to provide the 'xhci' module in addition to the 'xhci_pci' module it already provided. Since bcm2838_xhci is specific to a quirk of the RPi4 SoC, only build the module for AArch64. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1142
2024-01-10syscon: Move syscon code in dev/sysconEmmanuel Vadot
We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: mhorne Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43196
2024-01-10phy: Move phy code in dev/phyEmmanuel Vadot
We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: emaste, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43195
2024-01-10regulator: Move regulator code in dev/regulatorEmmanuel Vadot
We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: emaste, imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43194
2024-01-10hwreset: Move reset code in dev/hwresetEmmanuel Vadot
We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: imp Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43192
2024-01-10clk: Move clock code in dev/clkEmmanuel Vadot
We've removed kernel option EXT_RESOURCES almost two years ago. While it was ok to have some code under a common 'extres' subdirectory at first, we now have a lot of consumer of it and we made it mandatory so no need to have it under a cryptic name. Reviewed by: mhorne Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43191
2024-01-10usb: dwc3: Move driver under a subdirectoryEmmanuel Vadot
dwc3 is big enough to have its own subdirectory. While here only make it depend on kernel option dwc3 and rk_dwc3 without any SOC options. Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D43190
2023-11-26sys: Automated cleanup of cdefs and other formattingWarner Losh
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
2023-10-30Add some Intel ICH10 PCI IDs.Dmitry Luhtionov
2023-08-23arm64: xilinx: dwc3: Fix reset namesEmmanuel Vadot
Use the correct resets and not the same one three times in a row. Reported by: rpokala Sponsored by: Beckhoff Automation GmbH & Co. KG
2023-08-23arm64: xilinx: Add glue driver for usb3 controllerEmmanuel Vadot
Like other dwc3 controller, on Xilinx ZynqMP the base node is just here to provide resets, the main dwc3 controller node is a child node. Sponsored by: Beckhoff Automation GmbH & Co. KG
2023-08-19xhci: Add support for 64-bit DMA in generic XHCI controller driverStephen J. Kiernan
The XHCI controller on 64-bit SoCs need to use 64-bit DMA. Add a quirk to tell the generic XHCI driver that 32-bit DMA needs to be used, if there are any that may need to use 32-bit DMA only. Reviewed by: andrew Obtained from: Juniper Networks, Inc.
2023-08-16sys: Remove $FreeBSD$: one-line sh patternWarner Losh
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-08-16sys: Remove $FreeBSD$: one-line .c patternWarner Losh
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2023-08-16sys: Remove $FreeBSD$: one-line .c comment patternWarner Losh
Remove /^/[*/]\s*\$FreeBSD\$.*\n/
2023-08-16sys: Remove $FreeBSD$: two-line .h patternWarner Losh
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
2023-07-23xhci(4): Describe AMD 400 Series USB 3.1 controllersMarius Strobl
While at it, correct the string for 300 series ones, these also are already xHCI 3.1. Fixes: d171d2f2 Add AHCI/XHCI device IDs found on AMD Ryzen+B350 system
2023-05-12spdx: The BSD-2-Clause-NetBSD identifier is obsolete, drop -NetBSDWarner Losh
The SPDX folks have obsoleted the BSD-2-Clause-NetBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
2023-05-12spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
2023-03-20xhci(4): Describe Fresco Logic FL1009 USB 3.0 controllerZhenlei Huang
Reviewed by: hselasky MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D38922
2023-03-18uhci(4): Correct PCI device ID for Zhaoxin USB controllerZhenlei Huang
And minor style fixes. Tested by: Weitao Wang <WeitaoWang-oc@zhaoxin.com> Fixes: 986c7be472bd uhci(4): Add new USB IDs Differential Revision: https://reviews.freebsd.org/D38924
2023-03-18ehci(4): Correct PCI device ID for Zhaoxin USB 2.0 controllerZhenlei Huang
And minor style fixes. Tested by: Weitao Wang <WeitaoWang-oc@zhaoxin.com> Fixes: f9237e1937a4 ehci(4): Add new USB IDs Differential Revision: https://reviews.freebsd.org/D38923
2023-03-18xhci(4): Correct PCI device IDs for Zhaoxin USB 3.0 controllersZhenlei Huang
And minor style fixes. Reviewed by: hselasky Tested by: Weitao Wang <WeitaoWang-oc@zhaoxin.com> Fixes: 0d7064d58f89 xhci(4): Add new USB IDs Differential Revision: https://reviews.freebsd.org/D38921
2023-03-08usb: dwc3: add <sys/mutex.h>Joerg Wunsch
Commit 5e54bb1ea9e90 added USB_BUS_LOCK/USB_BUS_UNLOCK. They, in consequence, require mutexes so <sys/mutex.h> is needed.
2023-02-28usb: dwc3: implement hw.usb.xhci.use_pollingKyle Evans
Polling is currently only implemented in the xhci pci attachment. Adding it to dwc3 doesn't make it much uglier, and supporting it can be useful for confirming that hardware's otherwise functional when interrupts are apparently not firing. Reviewed by: manu Differential Revision: https://reviews.freebsd.org/D38816
2023-02-04usb: purge EOL release compatibilityElliott Mitchell
Remove conditionsals for FreeBSD 6, 7, 8 and 9 compatibility. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/603 Differential Revision: https://reviews.freebsd.org/D35560
2023-01-17xhci(4): Add new USB IDs.Dmitry Luhtionov
MFC after: 1 week Sponsored by: NVIDIA Networking
2023-01-17ehci(4): Add new USB IDs.Dmitry Luhtionov
MFC after: 1 week Sponsored by: NVIDIA Networking
2023-01-17uhci(4): Add new USB IDs.Dmitry Luhtionov
MFC after: 1 week Sponsored by: NVIDIA Networking
2023-01-13xhci(4): Make sure allocated bandwidth is freed in hardware by unconfiguring ↵Cheng, Huiming
endpoint. MFC after: 1 week Sponsored by: NVIDIA Networking
2023-01-06copyright: chase my name and email changeVal Packett
Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D37945
2023-01-04Check for more XHCI ACPI IDsAndrew Turner
The Windows Dev Kit 2023 uses the XHCI-compliant USB controller without standard debug ID in its ACPI tables. Check for both ID values found on [1] in the XHCI ACPI attachment. [1] https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/device-management-namespace-objects Tested by: Robert Clausecker <fuz@fuz.su> Sponsored by: Arm Ltd
2022-12-20Get clocks for Rockchip RK3568.Søren Schmidt