# Hisilicon IOMMU support

config HISI_IODOMAIN_API
	bool

config HISI_IOMMU
	bool "Hisilicon IOMMU Support"
	select IOMMU_API
	select HISI_IODOMAIN_API
	help
	  Hisilicon IOMMU Support.

config HISI_IOMMU_LPAE
	bool "Hisilicon IOMMU LPAE Support"
	select IOMMU_API
	depends on HISI_IOMMU
	help
	  Hisilicon IOMMU Support.

config HISI_IOMMU_BYPASS
	bool "Hisilicon IOMMU Bypass Support"
	select IOMMU_API
	depends on HISI_IOMMU
	help
	  Hisilicon IOMMU Bypass Support.

config HISI_IOMMU_LEGACY
	bool "Hisilicon IOMMU SECOND LEVEL PAGE TABLE Support"
	select IOMMU_API
	depends on HISI_IOMMU && !HISI_IOMMU_LPAE
	help
	  Hisilicon IOMMU Support.

config HISI_IOMMU_TEST
	bool "Hisilicon IOMMU TEST Support"
	depends on HISI_IOMMU_LPAE
	select IOMMU_API
	help
	  Hisilicon IOMMU Support.

config HISI_IOMMU_IOVA_DEBUG
        bool "Hisilicon IOMMU IOVA DEBUG Support"
	depends on HISI_IOMMU
	default n
	help
	  Hisilicon IOMMU IOVA DEBUG Support

config HISI_SVM
	tristate "HISI SVM driver"
	depends on !ARM_SMMU_V3
	select MMU_NOTIFIER
	---help---
	  This option enables support for the hisi svm features base on the ARM
	  smmu v3 hardware. Select this option if you want to use devices by ssid
	  and asid interface.

config HISI_SMMUV310
	bool "HISI SMMUV310 Support"
	depends on HISI_SVM
	default n
	help
	  HISI SMMUV310 Support

config HISI_SMMUV320
	bool "HISI SMMUV320 Support"
	depends on HISI_SVM
	default n
	help
	  HISI SMMUV320 Support

config HISI_IOMMU_LAST_PAGE
	bool "HISI IOMMU Last Page Support"
	depends on HISI_IOMMU
	select IOMMU_API
	help
	  Hisilicon IOMMU Last Page Support

config HISI_IOMMU_DMA
	bool "HISI IOMMU DMA Support"
	depends on HISI_IOMMU
	default n
	help
		HISI IOMMU DMA Support

config HISI_IOMMU_DMD_REPORT
        tristate "IOMMU dmd report support"
        depends on ARM_SMMU_V3
        ---help---
          This option enables support for dmd report,
	  only used for B platform npu tcu noc

