if ARCH_EMXX

menu "EMMA Mobile series Implementations"

choice
	prompt "EMMA Mobile Core Type"
	default MACH_EMEV

config MACH_EMEV
	bool "EMMA Mobile EV1/EV2"
	select CPU_V7

config MACH_EMGR
	bool "EMMA Mobile EV0"
	select CPU_V7
endchoice

choice
	prompt "EMMA Mobile Board Type"
	default EMEV_BOARD_EVA

config EMEV_BOARD_EVA
	bool "EMMA Mobile EV1/2 Evaluation board"
	depends on MACH_EMEV

config EMEV_KZM9D
	bool "KMC KZM-A9-Dual board"
	depends on MACH_EMEV

config EMGR_BOARD_EVA
	bool "EMMA Mobile EV0 Evaluation board"
	depends on MACH_EMGR
endchoice

if MACH_EMGR
choice
	prompt "EMMA Mobile EV0 Memory size"
	default EMGR_2G_MEM

config EMGR_2G_MEM
	bool "2G Bit"

config EMGR_1G_MEM
	bool "1G Bit"
endchoice
endif

config EMGR_TI_PMIC
	bool "TI power board support"
	depends on EMGR_BOARD_EVA

config EMXX_QR
	bool "Enable QR"
	default y

config EMXX_L310
	bool "ARM L2 cache Enable"
	default y
	select CACHE_L2X0
	select EMXX_L310_NORAM if MACH_EMGR

config EMXX_L310_NORAM
	bool
	depends on MACH_EMGR

if MACH_EMEV

choice
	prompt "L2 cache way-size"
	depends on EMXX_L310
	default EMXX_L310_8WAY

config EMXX_L310_8WAY
	bool "8way 32KByte"

config EMXX_L310_16WAY
	bool "16way 16KByte"
endchoice

endif

config EMXX_ANDROID
	bool "Use Android setting"

config EMXX_SPI0
	bool "SPI0 Driver support"
	default y

config EMXX_SPI_EXCL_SP0
	int "SP0 Exclusive control method (0:scheduling/1:interrupt disabled)"
	depends on EMXX_SPI0
	default "1"

config EMXX_SPI
	tristate "SPI Driver support (SPI1)"

config EMXX_PWM
	tristate "PWM Driver support"

config EMXX_DTV
	tristate "DTV Interface support"

config EMXX_DTV_BUFFERSIZE
	int "DMA buffer size (752-)[byte]"
	depends on EMXX_DTV
	default "8192"

config EMXX_PWC
	bool
	depends on EMXX_SPI0
	default y

config EMXX_EXTIO
	bool
	depends on (EMEV_BOARD_EVA || EMGR_BOARD_EVA) && I2C
	default y

config EMXX_LED
	bool
	depends on EMXX_PWC
	default y

config EMXX_PDMA
	tristate "Software interrupt support for PDMA"
	depends on MACH_EMGR
	default y

config EMXX_INTERDSP
	tristate "InterDSP support"
	default m

if MACH_EMEV
config EMXX_DMA_LCH0
	int "P2M/M2P DMA LCH0 device"
	default 7
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config EMXX_DMA_LCH1
	int "P2M/M2P DMA LCH1 device"
	default 0
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config EMXX_DMA_LCH2
	int "P2M/M2P DMA LCH2 device"
	default 1
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP 
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config EMXX_DMA_LCH3
	int "P2M/M2P DMA LCH3 device"
	default 2
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config EMXX_DMA_LCH4
	int "P2M/M2P DMA LCH4 device"
	default 10
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config EMXX_DMA_LCH5
	int "P2M/M2P DMA LCH5 device"
	default 11
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config EMXX_DMA_LCH6
	int "P2M/M2P DMA LCH6 device"
	default 12
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config EMXX_DMA_LCH7
	int "P2M/M2P DMA LCH7 device"
	default 13
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  3:CRP
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1 
	   12:SIO2 13:SIO3    14:SIO4   15:SIO5

config SNSC_EMXX_TIMER_IRQ_FLAGS
	bool "define extra irq flags for timer irq handler"
	depends on SNSC && ARCH_EMXX
	default n
	help
	   This config is used to pass extra irq flags to
	   emxx_timer_register_cb() routine i.e useful for
	   RT-testbed module.

endif

if MACH_EMGR
config EMXX_DMA_LCH0
	int "P2M/M2P DMA LCH0 device"
	default 7
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3

config EMXX_DMA_LCH1
	int "P2M/M2P DMA LCH1 device"
	default 0
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3

config EMXX_DMA_LCH2
	int "P2M/M2P DMA LCH2 device"
	default 1
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3

config EMXX_DMA_LCH3
	int "P2M/M2P DMA LCH3 device"
	default 2
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3

config EMXX_DMA_LCH4
	int "P2M/M2P DMA LCH4 device"
	default 10
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3

config EMXX_DMA_LCH5
	int "P2M/M2P DMA LCH5 device"
	default 11
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3

config EMXX_DMA_LCH6
	int "P2M/M2P DMA LCH6 device"
	default 12
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3

config EMXX_DMA_LCH7
	int "P2M/M2P DMA LCH7 device"
	default 13
	help
	   0:MMM    1:MSP_GDF  2:MSP_PB  4:UART4  5:UART5
	   6:UART0  7:UART1    8:UART2   9:UART3 10:SIO0  11:SIO1
	   12:SIO2 13:SIO3
endif

config SNSC_EMXX_SCHED_CLOCK_USE_TG_TIMER
	bool "Use TG[0-5] any timer counter for sched_clock()"
	default n
	help
	   EMXX timer module(TIM), have [TG0-TG5].
	   TG[0-5] is configured to be driven by DIV_TIM_CLK (PLL3) at 5Mhz.

config SNSC_EMXX_SCHED_CLOCK_TG_TIMER
	int "Use TG timer [0-5]"
	depends on SNSC_EMXX_SCHED_CLOCK_USE_TG_TIMER
	default 0

config SNSC_EMXX_CHANGE_AVAILABLE_TIMER
	bool "Forcefully increase available timer for emxx"
	depends on SNSC && ARCH_EMXX
	default n
	help
	   This config is used to increase number of available
	   timers that will be used in rt-testbed module.

config SNSC_EMXX_MAX_AVAILABLE_TIMER
	int "Number of available timers"
	range 0 14
	depends on SNSC_EMXX_CHANGE_AVAILABLE_TIMER
	default 9
	help
	   The total number of timers available are 15.

endmenu

endif
