aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iommu/Kconfig')
-rw-r--r--drivers/iommu/Kconfig51
1 files changed, 43 insertions, 8 deletions
diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
index 325188eef1c1..baa0d9786f50 100644
--- a/drivers/iommu/Kconfig
+++ b/drivers/iommu/Kconfig
@@ -4,6 +4,7 @@ config IOMMU_API
4 4
5menuconfig IOMMU_SUPPORT 5menuconfig IOMMU_SUPPORT
6 bool "IOMMU Hardware Support" 6 bool "IOMMU Hardware Support"
7 depends on MMU
7 default y 8 default y
8 ---help--- 9 ---help---
9 Say Y here if you want to compile device drivers for IO Memory 10 Say Y here if you want to compile device drivers for IO Memory
@@ -13,13 +14,43 @@ menuconfig IOMMU_SUPPORT
13 14
14if IOMMU_SUPPORT 15if IOMMU_SUPPORT
15 16
17menu "Generic IOMMU Pagetable Support"
18
19# Selected by the actual pagetable implementations
20config IOMMU_IO_PGTABLE
21 bool
22
23config IOMMU_IO_PGTABLE_LPAE
24 bool "ARMv7/v8 Long Descriptor Format"
25 select IOMMU_IO_PGTABLE
26 help
27 Enable support for the ARM long descriptor pagetable format.
28 This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page
29 sizes at both stage-1 and stage-2, as well as address spaces
30 up to 48-bits in size.
31
32config IOMMU_IO_PGTABLE_LPAE_SELFTEST
33 bool "LPAE selftests"
34 depends on IOMMU_IO_PGTABLE_LPAE
35 help
36 Enable self-tests for LPAE page table allocator. This performs
37 a series of page-table consistency checks during boot.
38
39 If unsure, say N here.
40
41endmenu
42
43config IOMMU_IOVA
44 bool
45
16config OF_IOMMU 46config OF_IOMMU
17 def_bool y 47 def_bool y
18 depends on OF && IOMMU_API 48 depends on OF && IOMMU_API
19 49
20config FSL_PAMU 50config FSL_PAMU
21 bool "Freescale IOMMU support" 51 bool "Freescale IOMMU support"
22 depends on PPC_E500MC 52 depends on PPC32
53 depends on PPC_E500MC || COMPILE_TEST
23 select IOMMU_API 54 select IOMMU_API
24 select GENERIC_ALLOCATOR 55 select GENERIC_ALLOCATOR
25 help 56 help
@@ -30,7 +61,8 @@ config FSL_PAMU
30# MSM IOMMU support 61# MSM IOMMU support
31config MSM_IOMMU 62config MSM_IOMMU
32 bool "MSM IOMMU Support" 63 bool "MSM IOMMU Support"
33 depends on ARCH_MSM8X60 || ARCH_MSM8960 64 depends on ARM
65 depends on ARCH_MSM8X60 || ARCH_MSM8960 || COMPILE_TEST
34 select IOMMU_API 66 select IOMMU_API
35 help 67 help
36 Support for the IOMMUs found on certain Qualcomm SOCs. 68 Support for the IOMMUs found on certain Qualcomm SOCs.
@@ -91,6 +123,7 @@ config INTEL_IOMMU
91 bool "Support for Intel IOMMU using DMA Remapping Devices" 123 bool "Support for Intel IOMMU using DMA Remapping Devices"
92 depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC) 124 depends on PCI_MSI && ACPI && (X86 || IA64_GENERIC)
93 select IOMMU_API 125 select IOMMU_API
126 select IOMMU_IOVA
94 select DMAR_TABLE 127 select DMAR_TABLE
95 help 128 help
96 DMA remapping (DMAR) devices support enables independent address 129 DMA remapping (DMAR) devices support enables independent address
@@ -140,7 +173,8 @@ config IRQ_REMAP
140# OMAP IOMMU support 173# OMAP IOMMU support
141config OMAP_IOMMU 174config OMAP_IOMMU
142 bool "OMAP IOMMU Support" 175 bool "OMAP IOMMU Support"
143 depends on ARCH_OMAP2PLUS 176 depends on ARM && MMU
177 depends on ARCH_OMAP2PLUS || COMPILE_TEST
144 select IOMMU_API 178 select IOMMU_API
145 179
146config OMAP_IOMMU_DEBUG 180config OMAP_IOMMU_DEBUG
@@ -187,7 +221,7 @@ config TEGRA_IOMMU_SMMU
187 221
188config EXYNOS_IOMMU 222config EXYNOS_IOMMU
189 bool "Exynos IOMMU Support" 223 bool "Exynos IOMMU Support"
190 depends on ARCH_EXYNOS && ARM 224 depends on ARCH_EXYNOS && ARM && MMU
191 select IOMMU_API 225 select IOMMU_API
192 select ARM_DMA_USE_IOMMU 226 select ARM_DMA_USE_IOMMU
193 help 227 help
@@ -216,7 +250,7 @@ config SHMOBILE_IPMMU_TLB
216config SHMOBILE_IOMMU 250config SHMOBILE_IOMMU
217 bool "IOMMU for Renesas IPMMU/IPMMUI" 251 bool "IOMMU for Renesas IPMMU/IPMMUI"
218 default n 252 default n
219 depends on ARM 253 depends on ARM && MMU
220 depends on ARCH_SHMOBILE || COMPILE_TEST 254 depends on ARCH_SHMOBILE || COMPILE_TEST
221 select IOMMU_API 255 select IOMMU_API
222 select ARM_DMA_USE_IOMMU 256 select ARM_DMA_USE_IOMMU
@@ -287,6 +321,7 @@ config IPMMU_VMSA
287 depends on ARM_LPAE 321 depends on ARM_LPAE
288 depends on ARCH_SHMOBILE || COMPILE_TEST 322 depends on ARCH_SHMOBILE || COMPILE_TEST
289 select IOMMU_API 323 select IOMMU_API
324 select IOMMU_IO_PGTABLE_LPAE
290 select ARM_DMA_USE_IOMMU 325 select ARM_DMA_USE_IOMMU
291 help 326 help
292 Support for the Renesas VMSA-compatible IPMMU Renesas found in the 327 Support for the Renesas VMSA-compatible IPMMU Renesas found in the
@@ -304,13 +339,13 @@ config SPAPR_TCE_IOMMU
304 339
305config ARM_SMMU 340config ARM_SMMU
306 bool "ARM Ltd. System MMU (SMMU) Support" 341 bool "ARM Ltd. System MMU (SMMU) Support"
307 depends on ARM64 || (ARM_LPAE && OF) 342 depends on (ARM64 || ARM) && MMU
308 select IOMMU_API 343 select IOMMU_API
344 select IOMMU_IO_PGTABLE_LPAE
309 select ARM_DMA_USE_IOMMU if ARM 345 select ARM_DMA_USE_IOMMU if ARM
310 help 346 help
311 Support for implementations of the ARM System MMU architecture 347 Support for implementations of the ARM System MMU architecture
312 versions 1 and 2. The driver supports both v7l and v8l table 348 versions 1 and 2.
313 formats with 4k and 64k page sizes.
314 349
315 Say Y here if your SoC includes an IOMMU device implementing 350 Say Y here if your SoC includes an IOMMU device implementing
316 the ARM SMMU architecture. 351 the ARM SMMU architecture.