Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ae349a0 authored by Rob Clark's avatar Rob Clark Committed by Joerg Roedel
Browse files

iommu/qcom: Add qcom_iommu



An iommu driver for Qualcomm "B" family devices which do implement the
ARM SMMU spec, but not in a way that is compatible with how the arm-smmu
driver is designed.  It seems SMMU_SCR1.GASRAE=1 so the global register
space is not accessible.  This means it needs to get configuration from
devicetree instead of setting it up dynamically.

In the end, other than register definitions, there is not much code to
share with arm-smmu (other than what has already been refactored out
into the pgtable helpers).

Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
Tested-by: default avatarRiku Voipio <riku.voipio@linaro.org>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 2b03774b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -367,4 +367,14 @@ config MTK_IOMMU_V1

	  if unsure, say N here.

config QCOM_IOMMU
	# Note: iommu drivers cannot (yet?) be built as modules
	bool "Qualcomm IOMMU Support"
	depends on ARCH_QCOM || COMPILE_TEST
	select IOMMU_API
	select IOMMU_IO_PGTABLE_LPAE
	select ARM_DMA_USE_IOMMU
	help
	  Support for IOMMU on certain Qualcomm SoCs.

endif # IOMMU_SUPPORT
+1 −0
Original line number Diff line number Diff line
@@ -27,3 +27,4 @@ obj-$(CONFIG_TEGRA_IOMMU_SMMU) += tegra-smmu.o
obj-$(CONFIG_EXYNOS_IOMMU) += exynos-iommu.o
obj-$(CONFIG_FSL_PAMU) += fsl_pamu.o fsl_pamu_domain.o
obj-$(CONFIG_S390_IOMMU) += s390-iommu.o
obj-$(CONFIG_QCOM_IOMMU) += qcom_iommu.o
+868 −0

File added.

Preview size limit exceeded, changes collapsed.