iommu: Add IOMMU uclass
authorMark Kettenis <kettenis@openbsd.org>
Sat, 23 Oct 2021 14:58:01 +0000 (16:58 +0200)
committerTom Rini <trini@konsulko.com>
Sun, 31 Oct 2021 12:46:44 +0000 (08:46 -0400)
commit40dbf03d7d2dd2b5516f797069e3ea830db6fecc
tree130f479f79def7c72f81cf6ffd834a0c9c2bf82e
parentd73db3042734f8077a5866d9d60d2eeda685b2ec
iommu: Add IOMMU uclass

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 <kettenis@openbsd.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
doc/device-tree-bindings/iommu/iommu.txt [new file with mode: 0644]
drivers/Kconfig
drivers/Makefile
drivers/core/device.c
drivers/iommu/Kconfig [new file with mode: 0644]
drivers/iommu/Makefile [new file with mode: 0644]
drivers/iommu/iommu-uclass.c [new file with mode: 0644]
include/dm/uclass-id.h
include/iommu.h [new file with mode: 0644]