# SPDX-License-Identifier: GPL-2.0
config SAMSUNG_MC
	bool "Samsung Exynos Memory Controller support" if COMPILE_TEST
	help
	  Support for the Memory Controller (MC) devices found on
	  Samsung Exynos SoCs.

if SAMSUNG_MC

config EXYNOS5422_DMC
	tristate "Exynos5422 Dynamic Memory Controller driver"
	depends on ARCH_EXYNOS || (COMPILE_TEST && HAS_IOMEM)
	select DDR
	depends on DEVFREQ_GOV_SIMPLE_ONDEMAND
	depends on (PM_DEVFREQ && PM_DEVFREQ_EVENT)
	help
	  This adds driver for Samsung Exynos5422 SoC DMC (Dynamic Memory
	  Controller).  The driver provides support for Dynamic Voltage and
	  Frequency Scaling in DMC and DRAM. It also supports changing timings
	  of DRAM running with different frequency. The timings are calculated
	  based on DT memory information.
	  If unsure, say Y on devices with Samsung Exynos SoCs.

config EXYNOS_SROM
	bool "Exynos SROM controller driver" if COMPILE_TEST
	depends on (ARM && ARCH_EXYNOS) || (COMPILE_TEST && HAS_IOMEM)
	help
	  This adds driver for Samsung Exynos SoC SROM controller.  The driver
	  in basic operation mode only saves and restores SROM registers
	  during suspend.  If however appropriate device tree configuration
	  is provided, the driver enables support for external memory
	  or external devices.
	  If unsure, say Y on devices with Samsung Exynos SoCs.

endif
