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"

config ARCH_OMAP2
	bool "TI OMAP2"

endchoice

source "arch/arm/mach-omap/omap1/Kconfig"

comment "OMAP Feature Selections"

config OMAP_RESET_CLOCKS
	bool "Reset unused clocks during boot"
	depends on ARCH_OMAP
	default n
	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_BOOT_TAG
	bool "OMAP bootloader information passing"
        depends on ARCH_OMAP
        default n
        help
          Say Y, if you have a bootloader which passes information
          about your board and its peripheral configuration.

config OMAP_BOOT_REASON
	bool "Support for boot reason"
        depends on OMAP_BOOT_TAG
        default n
        help
          Say Y, if you want to have a procfs entry for reading the boot
          reason in user-space.

config OMAP_GPIO_SWITCH
	bool "GPIO switch support"
        depends on OMAP_BOOT_TAG
        default n
        help
          Say Y, if you want to have support for input layer reporting
          of GPIO switches (e.g. cover switches). Your bootloader has to
          provide information about the switches to the kernel via the
          ATAG_BOARD mechanism.

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
        default n
        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.

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
	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 OMAP-16xx.

endchoice

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. If ARM Linux default HZ=100 is used, the system
	  will still work, but the timer interrupt will use less efficient
	  modulo code.

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

config NO_IDLE_HZ
	bool "Dynamic Tick Timer"
	depends on OMAP_32K_TIMER
	help
	  Select this option if you want to disable continuous timer ticks
	  and have them programmed one at a time from the idle loop. This
	  option saves power as the system does not need to exit idle state
	  because of a timer interrupt. If you have this option selected,
	  you still need to enable dynamic tick using the sysfs interface.
	  By default dynamic tick is disabled during the boot, and can be
	  manually enabled with:

 	  echo 1 > /sys/devices/platform/timer0/dyn_tick

	  If you want dynamic tick automatically enabled during boot, select
	  also NO_IDLE_HZ_ENABLED below.

config NO_IDLE_HZ_ENABLED
	bool "Enable Dynamic Tick Timer by default"
	depends on NO_IDLE_HZ
	default n
	help
	  Select this option if you want dynamic tick turned on by default
	  at startup.

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

config OMAP_LL_DEBUG_UART1
	bool "UART1"

config OMAP_LL_DEBUG_UART2
	bool "UART2"

config OMAP_LL_DEBUG_UART3
	bool "UART3"

endchoice

endmenu

endif
