summaryrefslogtreecommitdiff
path: root/drivers/iommu/Kconfig
blob: 2ba6d9c13622baf414fa698c9f4f684728b6e1af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#
# 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