[PATCH v2 0/3] Load ASMedia XHCI controller firmware
Mark Kettenis
kettenis at openbsd.org
Mon Sep 29 21:52:38 CEST 2025
Some of the Apple desktop machine have a PCI ASMedia XHCI controller
that needs firmware to be uploaded to function. This firmware is
placed on the EFI system partition by the Asahi installer. So this
series sets up a file system firmware loader that reads from that
partition and ports the Linux driver that uploads this firmware to
the controller. With this series, users can use USB devices (such
as a keyboard) when they are connected to USB ports handled by the
ASMedia XHCI controller. This includes the type-A ports on the
M2 Mac mini for example.
I submitted the first version of this series over a year ago. Sorry
for letting this linger for so long. Back then Marek Vasut provided
some good feedback that I incorporated in this v2. Back then we
concluded that env_set() failures should print a warning instead of
doing a bitwise or of the return value. But env_set() already prints
a warning, so it makes more sense to just ignore the return value.
This is common practice in the U-Boot tree.
---
Changes in v2:
- Ignore env_set() return value
- Sort readb_poll_sleep_timeout() before readl_poll_sleep_timeout()
- Use read_poll_timeout() instead of open-coded timeout loops
- Make asmedia_read_reg() return an error code
Mark Kettenis (3):
apple: Set up file system firmware loader
iopoll: Add readb_poll_sleep_timeout
usb: xhci-pci: Load ASMedia XHCI controller firmware
MAINTAINERS | 1 +
arch/arm/mach-apple/board.c | 59 ++++
drivers/usb/host/Kconfig | 11 +
drivers/usb/host/Makefile | 1 +
drivers/usb/host/xhci-pci-asmedia.c | 410 ++++++++++++++++++++++++++++
drivers/usb/host/xhci-pci.c | 9 +
include/linux/iopoll.h | 3 +
include/usb/xhci.h | 3 +
8 files changed, 497 insertions(+)
create mode 100644 drivers/usb/host/xhci-pci-asmedia.c
--
2.50.1
More information about the U-Boot
mailing list