config AMLOGIC_DDR_TOOL
	bool "Meson cpu ddr tool"
	depends on AMLOGIC_DRIVER
	default n
	help
	  This config add some debug tools for DDR, including test ddr
	  bandwidth, ddr window and other configs.
	  For more information.
	  Please see folllowing configs

config AMLOGIC_DDR_WINDOW_TOOL
	tristate "Meson ddr window tool"
	default m
	depends on AMLOGIC_DDR_TOOL
	help
	  This config enables test for ddr window.
	  This driver acts as a kernel agent which set different ddr window
	  register value from user space, user space can generate large ddr
	  loading to test each value are stable.

config AMLOGIC_DDR_BANDWIDTH
	bool "Meson ddr bandwidth"
	default n
	depends on AMLOGIC_DDR_TOOL
	help
	  This config enables ddr bandwidth measure.
	  If open it, this driver will export interface to get ddr total
	  bandwidth, it can be used for ddr DVFS/devfreq system.

config AMLOGIC_DDR_BANDWIDTH_GX
	tristate "Meson ddr bandwidth for GX"
	default n
	depends on AMLOGIC_DDR_BANDWIDTH
	help
	  This config enables ddr bandwidth measure for GX.
	  If open it, this driver will export interface
	  to get ddr total bandwidth, it can be used for
	  ddr DVFS/devfreq system.

config AMLOGIC_DMC_MONITOR
       bool "Amlogic dmc monitor"
       depends on AMLOGIC_DDR_TOOL
       default y
       help
               DMC monitor for hardware connected to DMC master. Using it can
               set up an address range and assign R/W permission for each
               hardware. If hardware violated R/W permission, then interrupt
               will generated and can help to debug memory pollution.

config AMLOGIC_DMC_MONITOR_GX
	tristate "Amlogic dmc monitor for GX"
	depends on AMLOGIC_DMC_MONITOR
	default n
	help
	  This config enables dmc monitor for gx chip
	  DMC monitor for hardware connected to DMC master. Using it can
	  set up an address range and assign R/W permission for each
	  hardware. If hardware violated R/W permission, then interrupt
	  will generated and can help to debug memory pollution.
