All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Apple PCIe/XHCI support
@ 2023-01-17 22:03 Mark Kettenis
  2023-01-17 22:03 ` [PATCH 1/7] iommu: Add DMA mapping operations Mark Kettenis
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Mark Kettenis @ 2023-01-17 22:03 UTC (permalink / raw)
  To: u-boot; +Cc: sjg, bmeng.cn, marex, Mark Kettenis

This series adds support for the PCIe controller found on Apple M1 and
M2 machines and enables support for PCIe XHCI controllers.  This makes
the type-A USB ports on the M1 Mac mini work.  Since the use of Apples
DART IOMMU is mandatory (these PCIe DARTs don't support bypass mode),
this adds DMA mapping operations to the IOMMU uclass and implements
them for the Apple DART.  It modifies the XHCI driver code to go map
DMA buffers through the IOMMU if there is one.  Since the M1 Mac mini
now has two types of XHCI controllers with different number of ports
(2 for the DWC3 controllers, 8 for the Fresco Logic PCIe controller)
this uncovered an issue in with the way the hub descriptor is
implemented in the XHCI driver.


Mark Kettenis (7):
  iommu: Add DMA mapping operations
  iommu: apple: Implement DMA mapping operations for Apple DART
  usb: xhci: Implement DMA mapping
  iommu: Implement mapping IOMMUs for PCI devices
  pci: Add Apple PCIe controller driver
  arm: apple: Enable PCIe USB controller
  usb: xhci: Fix root hub descriptor

 MAINTAINERS                  |   1 +
 arch/arm/Kconfig             |   2 +
 configs/apple_m1_defconfig   |   1 +
 drivers/iommu/apple_dart.c   | 311 ++++++++++++++++++++++++++----
 drivers/iommu/iommu-uclass.c |  93 +++++++++
 drivers/pci/Kconfig          |   9 +
 drivers/pci/Makefile         |   1 +
 drivers/pci/pcie_apple.c     | 354 +++++++++++++++++++++++++++++++++++
 drivers/usb/host/xhci-mem.c  |  84 ++++++---
 drivers/usb/host/xhci-ring.c |  76 +++++---
 drivers/usb/host/xhci.c      |  25 +--
 include/dm/device.h          |   3 +
 include/iommu.h              |  24 +++
 include/usb/xhci.h           |  28 ++-
 14 files changed, 904 insertions(+), 108 deletions(-)
 create mode 100644 drivers/pci/pcie_apple.c

-- 
2.39.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-01-21 19:30 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-17 22:03 [PATCH 0/7] Apple PCIe/XHCI support Mark Kettenis
2023-01-17 22:03 ` [PATCH 1/7] iommu: Add DMA mapping operations Mark Kettenis
2023-01-18 19:42   ` Simon Glass
2023-01-21 19:28     ` Mark Kettenis
2023-01-17 22:03 ` [PATCH 2/7] iommu: apple: Implement DMA mapping operations for Apple DART Mark Kettenis
2023-01-17 22:04 ` [PATCH 3/7] usb: xhci: Implement DMA mapping Mark Kettenis
2023-01-17 22:51   ` Marek Vasut
2023-01-17 22:04 ` [PATCH 4/7] iommu: Implement mapping IOMMUs for PCI devices Mark Kettenis
2023-01-17 22:04 ` [PATCH 5/7] pci: Add Apple PCIe controller driver Mark Kettenis
2023-01-17 22:04 ` [PATCH 6/7] arm: apple: Enable PCIe USB controller Mark Kettenis
2023-01-17 22:04 ` [PATCH 7/7] usb: xhci: Fix root hub descriptor Mark Kettenis
2023-01-17 22:51   ` Marek Vasut

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.