# 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 Exynos5422 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.

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
