config ARM_GIC
	select IRQ_DOMAIN
	select MULTI_IRQ_HANDLER
	select MSM_SHOW_RESUME_IRQ
	bool

config GIC_NON_BANKED
	bool

config GIC_SECURE
	bool
	depends on ARM_GIC

config ARM_VIC
	select IRQ_DOMAIN
	select MULTI_IRQ_HANDLER
	bool

config ARM_VIC_NR
	int
	default 4 if ARCH_S5PV210
	default 3 if ARCH_S5PC100
	default 2
	depends on ARM_VIC
	help
	  The maximum number of VICs available in the system, for
	  power management.

config ICST
	bool

config SA1111
	bool
	select DMABOUNCE if !ARCH_PXA

config DMABOUNCE
	bool
	select ZONE_DMA

config SHARP_LOCOMO
	bool

config SHARP_PARAM
	bool

config SHARP_SCOOP
	bool

config FIQ_GLUE
	bool
	select FIQ

config FIQ_DEBUGGER
	bool "FIQ Mode Serial Debugger"
	select FIQ
	select FIQ_GLUE
	default n
	help
	  The FIQ serial debugger can accept commands even when the
	  kernel is unresponsive due to being stuck with interrupts
	  disabled.


config FIQ_DEBUGGER_NO_SLEEP
	bool "Keep serial debugger active"
	depends on FIQ_DEBUGGER
	default n
	help
	  Enables the serial debugger at boot. Passing
	  fiq_debugger.no_sleep on the kernel commandline will
	  override this config option.

config FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON
	bool "Don't disable wakeup IRQ when debugger is active"
	depends on FIQ_DEBUGGER
	default n
	help
	  Don't disable the wakeup irq when enabling the uart clock.  This will
	  cause extra interrupts, but it makes the serial debugger usable with
	  on some MSM radio builds that ignore the uart clock request in power
	  collapse.

config FIQ_DEBUGGER_CONSOLE
	bool "Console on FIQ Serial Debugger port"
	depends on FIQ_DEBUGGER
	default n
	help
	  Enables a console so that printk messages are displayed on
	  the debugger serial port as the occur.

config FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE
	bool "Put the FIQ debugger into console mode by default"
	depends on FIQ_DEBUGGER_CONSOLE
	default n
	help
	  If enabled, this puts the fiq debugger into console mode by default.
	  Otherwise, the fiq debugger will start out in debug mode.
