if ARCH_OMAP

menu "TI OMAP Implementations"

config ARCH_OMAP_OTG
	bool

choice
	prompt "OMAP System Type"
	default ARCH_OMAP1

config ARCH_OMAP1
	bool "TI OMAP1"
	select COMMON_CLKDEV

config ARCH_OMAP2
	bool "TI OMAP2"
	select CPU_V6
	select COMMON_CLKDEV

config ARCH_OMAP3
	bool "TI OMAP3"
	select CPU_V7
	select COMMON_CLKDEV

config ARCH_OMAP4
	bool "TI OMAP4"
	select CPU_V7
	select ARM_GIC
	select COMMON_CLKDEV

endchoice

comment "OMAP Feature Selections"

config OMAP_DEBUG_DEVICES
	bool
	help
	  For debug cards on TI reference boards.

config OMAP_DEBUG_LEDS
	bool
	depends on OMAP_DEBUG_DEVICES
	default y if LEDS || LEDS_OMAP_DEBUG

config OMAP_DEBUG_POWERDOMAIN
	bool "Emit debug messages from powerdomain layer"
	depends on ARCH_OMAP2 || ARCH_OMAP3
	help
	  Say Y here if you want to compile in powerdomain layer
	  debugging messages for OMAP2/3.   These messages can
	  provide more detail as to why some powerdomain calls
	  may be failing, and will also emit a descriptive message
	  for every powerdomain register write.  However, the
	  extra detail costs some memory.

config OMAP_DEBUG_CLOCKDOMAIN
	bool "Emit debug messages from clockdomain layer"
	depends on ARCH_OMAP2 || ARCH_OMAP3
	help
	  Say Y here if you want to compile in clockdomain layer
	  debugging messages for OMAP2/3.   These messages can
	  provide more detail as to why some clockdomain calls
	  may be failing, and will also emit a descriptive message
	  for every clockdomain register write.  However, the
	  extra detail costs some memory.

config OMAP_SMARTREFLEX
	bool "SmartReflex support"
	depends on ARCH_OMAP34XX && TWL4030_CORE && PM
	help
	  Say Y if you want to enable SmartReflex.

	  SmartReflex can perform continuous dynamic voltage
	  scaling around the nominal operating point voltage
	  according to silicon characteristics and operating
	  conditions. Enabling SmartReflex reduces power
	  consumption.

	  Please note, that by default SmartReflex is only
	  initialized. To enable the automatic voltage
	  compensation for VDD1 and VDD2, user must write 1 to
	  /sys/power/sr_vddX_autocomp, where X is 1 or 2.

config OMAP_SMARTREFLEX_CLASS3
	bool "Class 3 mode of Smartreflex Implementation"
	depends on OMAP_SMARTREFLEX && TWL4030_CORE
	help
	  Say Y to enable Class 3 implementation of Smartreflex

	  Class 3 implementation of Smartreflex employs continuous hardware
	  voltage caliberation.

config OMAP_SMARTREFLEX_CLASS1P5
	bool "Class 1p5 mode of Smartreflex Implementation"
	depends on OMAP_SMARTREFLEX
	help
	  Say Y to enable Class 1.5 implementation of Smartreflex

	  Class 1.5 implementation of Smartreflex employs periodic hardware
	  voltage caliberation.

config OMAP_SMARTREFLEX_TESTING
	bool "Smartreflex testing support"
	depends on OMAP_SMARTREFLEX
	default n
	help
	  Say Y if you want to enable SmartReflex testing with SW hardcoded
	  NVALUES intead of E-fuse NVALUES set in factory silicon testing.

	  In some devices the E-fuse values have not been set, even though
	  SmartReflex modules are included. Using these hardcoded values set
	  in software, one can test the SmartReflex features without E-fuse.

	  WARNING: Enabling this option may cause your device to hang!

config OMAP_RESET_CLOCKS
	bool "Reset unused clocks during boot"
	depends on ARCH_OMAP
	help
	  Say Y if you want to reset unused clocks during boot.
	  This option saves power, but assumes all drivers are
	  using the clock framework. Broken drivers that do not
	  yet use clock framework may not work with this option.
	  If you are booting from another operating system, you
	  probably do not want this option enabled until your
	  device drivers work properly.

config OMAP_MUX
	bool "OMAP multiplexing support"
        depends on ARCH_OMAP
	default y
        help
          Pin multiplexing support for OMAP boards. If your bootloader
          sets the multiplexing correctly, say N. Otherwise, or if unsure,
          say Y.

config OMAP_MUX_DEBUG
	bool "Multiplexing debug output"
        depends on OMAP_MUX
        help
          Makes the multiplexing functions print out a lot of debug info.
          This is useful if you want to find out the correct values of the
          multiplexing registers.

config OMAP_MUX_WARNINGS
	bool "Warn about pins the bootloader didn't set up"
        depends on OMAP_MUX
        default y
        help
	  Choose Y here to warn whenever driver initialization logic needs
	  to change the pin multiplexing setup.  When there are no warnings
	  printed, it's safe to deselect OMAP_MUX for your product.

config OMAP_MCBSP
	bool "McBSP support"
	depends on ARCH_OMAP
	default y
	help
	  Say Y here if you want support for the OMAP Multichannel
	  Buffered Serial Port.

config OMAP_MBOX_FWK
	tristate "Mailbox framework support"
	depends on ARCH_OMAP
	help
	  Say Y here if you want to use OMAP Mailbox framework support for
	  DSP, IVA1.0 and IVA2 in OMAP1/2/3.

config OMAP_MBOX_KFIFO_SIZE
	int "Mailbox kfifo default buffer size (bytes)"
	depends on OMAP_MBOX_FWK
	default 256
	help
	  Specify the default size of mailbox's kfifo buffers (bytes).
	  This can also be changed at runtime (via the mbox_kfifo_size
	  module parameter).

config OMAP_IOMMU
	tristate

config OMAP_IOMMU_DEBUG
	depends on OMAP_IOMMU
	tristate

choice
        prompt "System timer"
	default OMAP_MPU_TIMER

config OMAP_MPU_TIMER
	bool "Use mpu timer"
	help
	  Select this option if you want to use the OMAP mpu timer. This
	  timer provides more intra-tick resolution than the 32KHz timer,
	  but consumes more power.

config OMAP_32K_TIMER
	bool "Use 32KHz timer"
	depends on ARCH_OMAP16XX || ARCH_OMAP24XX || ARCH_OMAP34XX || ARCH_OMAP4
	help
	  Select this option if you want to enable the OMAP 32KHz timer.
	  This timer saves power compared to the OMAP_MPU_TIMER, and has
	  support for no tick during idle. The 32KHz timer provides less
	  intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
	  currently only available for OMAP16XX, 24XX, 34XX and OMAP4.

endchoice

config OMAP3_DEBOBS
	bool "OMAP3 Debug observability support"
	depends on ARCH_OMAP3 && DEBUG_FS
	default n
	help
	  Use ETK pads for debug observability

config OMAP3_L2_AUX_SECURE_SAVE_RESTORE
	bool "OMAP3 HS/EMU save and restore for L2 AUX control register"
	depends on ARCH_OMAP3 && PM
	default n
	help
	  Without this option, L2 Auxiliary control register contents are
	  lost during off-mode entry on HS/EMU devices. This feature
	  requires support from PPA / boot-loader in HS/EMU devices, which
	  currently does not exist by default.

config OMAP3_L2_AUX_SECURE_SERVICE_SET_ID
	int "Service ID for the support routine to set L2 AUX control"
	depends on OMAP3_L2_AUX_SECURE_SAVE_RESTORE
	default 43
	help
	  PPA routine service ID for setting L2 auxiliary control register.

config OMAP_32K_TIMER_HZ
       int "Kernel internal timer frequency for 32KHz timer"
       range 32 1024
       depends on OMAP_32K_TIMER
       default "128"
       help
	  Kernel internal timer frequency should be a divisor of 32768,
	  such as 64 or 128.

config OMAP_DM_TIMER
	bool "Use dual-mode timer"
	depends on ARCH_OMAP16XX || ARCH_OMAP24XX || ARCH_OMAP34XX || ARCH_OMAP4
	help
	 Select this option if you want to use OMAP Dual-Mode timers.

choice
	prompt "Low-level debug console UART"
	depends on ARCH_OMAP
	default OMAP_LL_DEBUG_NONE

config OMAP_LL_DEBUG_UART1
	bool "UART1"

config OMAP_LL_DEBUG_UART2
	bool "UART2"

config OMAP_LL_DEBUG_UART3
	bool "UART3"

config OMAP_LL_DEBUG_NONE
	bool "None"

endchoice

config OMAP_SERIAL_WAKE
	bool "Enable wake-up events for serial ports"
	depends on ARCH_OMAP1 && OMAP_MUX
	default y
	help
	  Select this option if you want to have your system wake up
	  to data on the serial RX line. This allows you to wake the
	  system from serial console.

choice
	prompt "OMAP PM layer selection"
	depends on ARCH_OMAP
	default OMAP_PM_NOOP

config OMAP_PM_NONE
	bool "No PM layer"

config OMAP_PM_NOOP
	bool "No-op/debug PM layer"

config OMAP_PM_SRF
	depends on PM
	bool "PM layer implemented using SRF"

endchoice

endmenu

config OMAP_SEC
	tristate "OMAP HS secure mode support (security driver)"
	depends on ARCH_OMAP16XX || ARCH_OMAP24XX || ARCH_OMAP34XX
	select ARCH_OMAP3_HS
	default n

endif
