Skip to content

Commit 7b2fe0b

Browse files
kettenisjannau
authored andcommitted
usb: xhci-pci: Load ASMedia XHCI controller firmware
The ASMedia XHCI controller found on some of the Apple Silicon machines needs firmware to operate. Use the file system firmware loader interface to read the firmware and load it onto the controller. This allows keyboards connected to the type-A ports on these machines to function in U-Boot. Signed-off-by: Mark Kettenis <[email protected]>
1 parent b673282 commit 7b2fe0b

6 files changed

Lines changed: 435 additions & 0 deletions

File tree

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ F: drivers/nvme/nvme_apple.c
137137
F: drivers/pci/pcie_apple.c
138138
F: drivers/phy/phy-apple-atc.c
139139
F: drivers/pinctrl/pinctrl-apple.c
140+
F: drivers/usb/host/xhci-pci-asmedia.c
140141
F: drivers/watchdog/apple_wdt.c
141142
F: include/configs/apple.h
142143

drivers/usb/host/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,17 @@ config USB_XHCI_PCI
102102
help
103103
Enables support for the PCI-based xHCI controller.
104104

105+
config USB_XHCI_PCI_ASMEDIA
106+
bool "Support for ASMedia xHCI USB controller"
107+
depends on USB_XHCI_PCI
108+
default y if ARCH_APPLE
109+
select FS_LOADER
110+
help
111+
Enables support for loading firmware for the ASMedia xHCI
112+
controller. This is needed on Apple Silicon machines that
113+
contain ASMedia xHCI controllers without the full USB
114+
firmware.
115+
105116
config USB_XHCI_RCAR
106117
bool "Renesas R-Car USB 3.0 support"
107118
default y

drivers/usb/host/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ obj-$(CONFIG_USB_XHCI_MVEBU) += xhci-mvebu.o
5353
obj-$(CONFIG_USB_XHCI_GENERIC) += xhci-generic.o
5454
obj-$(CONFIG_USB_XHCI_OMAP) += xhci-omap.o
5555
obj-$(CONFIG_USB_XHCI_PCI) += xhci-pci.o
56+
obj-$(CONFIG_USB_XHCI_PCI_ASMEDIA) += xhci-pci-asmedia.o
5657
obj-$(CONFIG_USB_XHCI_RCAR) += xhci-rcar.o
5758
obj-$(CONFIG_USB_XHCI_OCTEON) += dwc3-octeon-glue.o
5859

0 commit comments

Comments
 (0)