On Sat, 23 Oct 2021 at 08:58, Mark Kettenis <kette...@openbsd.org> wrote: > > This uclass is intended to manage IOMMUs on systems where the > IOMMUs are not in bypass mode by default. In that case U-Boot > cannot ignore the IOMMUs if it wants to use devices that need > to do DMA and sit behind such an IOMMU. > > This initial IOMMU uclass implementation does not implement and > device ops and is intended for IOMMUs that have a bypass mode > that does not require address translation. Support for IOMMUs > that do require address translation is planned and device ops > will be defined when support for such IOMMUs will be added. > > Signed-off-by: Mark Kettenis <kette...@openbsd.org> > --- > > ChangeLog: > > v4: - Copy generic IOMMU DT bindings from Linux > - Explain IOMMU KConfig option > - Rename dev_iommu_probe() > > > doc/device-tree-bindings/iommu/iommu.txt | 206 +++++++++++++++++++++++ > drivers/Kconfig | 2 + > drivers/Makefile | 1 + > drivers/core/device.c | 8 + > drivers/iommu/Kconfig | 17 ++ > drivers/iommu/Makefile | 3 + > drivers/iommu/iommu-uclass.c | 45 +++++ > include/dm/uclass-id.h | 1 + > include/iommu.h | 16 ++ > 9 files changed, 299 insertions(+) > create mode 100644 doc/device-tree-bindings/iommu/iommu.txt > create mode 100644 drivers/iommu/Kconfig > create mode 100644 drivers/iommu/Makefile > create mode 100644 drivers/iommu/iommu-uclass.c > create mode 100644 include/iommu.h
Reviewed-by: Simon Glass <s...@chromium.org>