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

