| # |
| # IOMMU devices |
| # |
| |
| menu "IOMMU device drivers" |
| |
| config IOMMU |
| bool "Enable Driver Model for IOMMU drivers" |
| depends on DM |
| help |
| Enable driver model for IOMMU devices. An IOMMU maps device |
| virtiual memory addresses to physical addresses. Devices |
| that sit behind an IOMMU can typically only access physical |
| memory if the IOMMU has been programmed to allow access to |
| that memory. |
| |
| config APPLE_DART |
| bool "Apple DART support" |
| depends on IOMMU && ARCH_APPLE |
| default y |
| help |
| Enable support for the DART on Apple SoCs. The DART is Apple's |
| IOMMU implementation. The driver performs the necessary |
| configuration to put the DART into bypass mode such that it can |
| be used transparently by U-Boot. |
| |
| config QCOM_HYP_SMMU |
| bool "Qualcomm quirky SMMU support" |
| depends on IOMMU && ARCH_SNAPDRAGON |
| help |
| Enable support for the Qualcomm variant of the Arm System MMU-500. |
| Qualcomm boards have a non-standard SMMU where some registers are |
| emulated by the hypervisor. It is initialised early in the boot |
| process and can't be turned off. |
| |
| The main caveat with this hardware is that it doesn't support BYPASS |
| streams, attempting to configure once will instead wind up with a |
| FAULT stream, and the device will crash when DMA is attempted. |
| |
| Say Y here to enable support for non-boot peripherals like USB by |
| configuring identity mapped streams for them. |
| |
| endmenu |