if ARCH_FEROCEON

menu "Feroceon SoC options"
	depends on ARCH_FEROCEON

#since the Kconfig parser dispatch all source commands, we call the machines Kconfigs from here and
#not vice versa because otherwise the plat-feroceon Kconfig will be dispatched twice.     
if ARCH_FEROCEON_ORION
source "arch/arm/mach-feroceon-orion/Kconfig"
endif

if ARCH_FEROCEON_KW
source "arch/arm/mach-feroceon-kw/Kconfig"
endif

if ARCH_FEROCEON_MV78XX0
source "arch/arm/mach-feroceon-mv78xx0/Kconfig"
endif


config JTAG_DEBUG
        bool "Enable JTAG by disable \"wait for interrupt\"."
	depends on MV88F5181 || MV88F6183 || MV88F6281 || MV78XX0
        default n
        ---help---
           Enable the JTAG debugger taking over the CPU by disabling "wait for interrupt" idle loop."


menu "Feroceon SoC Included Features"

config  MV_INCLUDE_PCI
	bool "PCI Support"
	depends on PCI && MV88F5181 || MV88F5180N || MV88F5182 || MV88F5181L
	default y
	---help---
	Please don't change this configs unless you know what you are doing.


config MV_INCLUDE_PEX
	bool "PCI Express Support"
	depends on PCI && MV88F5181 || MV88F5182 || MV88F5082 || MV88F5181L || MV88F1281 || MV88F6082 || MV88F6183 || MV88F6281 || MV78XX0
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_IDMA
	bool "IDMA Support"
	depends on MV88F5181 || MV88F5180N || MV88F5182 || MV88F5082 || MV88F5181L || MV88F6183 || MV78XX0 
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_USB
	bool "USB Support"
	depends on MV88F5181 || MV88F5180N || MV88F5182 || MV88F5082 || MV88F5181L || MV88F6082 || MV88F6183 || MV88F6281 || MV78XX0
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_XOR
	bool "XOR Support"
	depends on MV88F5182 || MV88F6281 || MV78XX0 
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_CESA
	bool "CESA Support"
	depends on MV88F5182 || MV88F5082 ||  MV88F5181L || MV88F6082 || MV88F6183 || MV88F6281 || MV78XX0
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_NAND
	bool "NAND Support"
	depends on MV88F5181 || MV88F5182 || MV88F5082 || MV88F5181L || MV88F1281 || MV88F6082 || MV88F6183 || MV88F6281 || MV78XX0
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_INTEG_SATA
	bool "Integrated SATA Support"
	depends on MV88F5182 || MV88F5082 || MV88F6082 || MV88F6281 || MV78XX0
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_TDM
	bool "Integrated TDM Support"
	depends on MV88F5181L || MV88F6281 
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_GIG_ETH
	bool "Giga Ethernet Support"
	depends on MV88F5181 || MV88F5182 || MV88F5082 || MV88F5181L || MV88F5180N || MV88F6082 || MV88F6183 || MV88F6281 || MV78XX0
	default y

config MV_INCLUDE_INTEG_MFLASH
    bool "Integrated Marvell Flash Support"
    depends on MV88F6082
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.
          
config MV_INCLUDE_SPI
	bool "SPI Support"
	depends on MV88F6082 || MV88F6183 || MV88F6281 || (MV78XX0 && !MV78XX0_Z0)
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.


config MV_INCLUDE_SDIO
	bool "SDIO Support"
	depends on MV88F6183 || MV88F6281
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.


config MV_INCLUDE_AUDIO
	bool "Audio Support"
	depends on MV88F6183 || MV88F6281
	default y
        ---help---
        Please don't change this configs unless you know what you are doing.

config MV_INCLUDE_TS
	bool "TSU Support"
	depends on MV88F6281
	default n
        ---help---
        Please don't change this configs unless you know what you are doing.


endmenu

config MV_GPP_MAX_PINS
	int
	default 32 if MV88F5181 || MV88F5180N || MV88F5182 || MV88F5082 || MV88F5181L || MV88F6082 || MV88F6183 || MV78XX0
	default 16 if MV88F1181 || MV88F1281
	default 64 if MV88F6281

	
config MV_DCACHE_SIZE
	hex
	default 0x8000 if MV88F5181 || MV88F5180N || MV88F5182 || MV88F5082 || MV88F5181L || MV88F1281 || MV78XX0
	default 0x4000 if MV88F6082 || MV88F6281

config MV_ICACHE_SIZE
	hex
	default 0x8000 if MV88F5181 || MV88F5180N || MV88F5182 || MV88F5082 || MV88F5181L || MV88F1281 || MV78XX0
	default 0x4000 if MV88F6082 || MV88F6281
	          
menu "Feroceon SoC MTD support"

config MV_FLASH_CTRL
	bool
	default n

config MV_INCLUDE_SFLASH_MTD
    bool "Marvell support for MTD SPI flash device"
    select MV_FLASH_CTRL
    depends on MTD && MV_INCLUDE_SPI
   	default y
                    
config MV_INCLUDE_MFLASH_MTD
    bool "Marvell support for MTD Marvell flash device"
    select MV_FLASH_CTRL
    depends on MTD && MV_INCLUDE_INTEG_MFLASH
   	default y

config MV_NAND
	bool "Marvell support for MTD NAND device"
	depends on MTD && MV_INCLUDE_NAND
	default n

config MV_NAND_BOOT
	bool "Marvell boot support from MTD NAND device"
	depends on MV_NAND
	default n
	---help---
	Choose this option if NAND MTD is the system boot device.	            

endmenu

choice
	prompt "SoC USB Mode"
	depends on MV_INCLUDE_USB && !UBOOT_STRUCT
	default MV_USB_HOST

config MV_USB_HOST
	bool "Support for USB Host"
	---help---
	Choosing this option will configure on chip USB Controller to work in Host mode

config MV_USB_DEVICE
	bool "Support for USB Device"
	---help---
	Choosing this option will configure on chip USB Controller to work in Device mode
endchoice


config ARCH_SUPPORTS_BIG_ENDIAN
	bool
	default y

config USE_DSP
	bool "Use pld/ldrd/strd arm DSP instructions"
	default n

config L2_CACHE_ENABLE
	bool "Enable L2 cache support"
	depends on ARCH_FEROCEON_KW || ARCH_FEROCEON_MV78XX0
	default n
        
config CPU_L2_DCACHE_WRITETHROUGH
	depends on L2_CACHE_ENABLE
	bool "Force L2 write through D-cache"
	default y
	---help---
	Choosing this option will configure L2 to write-through operation mode, 
	otherwise L2 mode will be set to write-back.

config  FEROCEON_PROC
	bool "Support for MV-shell proc file system"
	depends on PROC_FS
	---help---	
	  Choosing this option will enable you to use the MV-shell through the Proc
	  File system.
	  The MV-shell is a debug utility which can be run from the shell.

config  MV_GENERIC_NAS_FS
	bool "Enable patches needed for Marvell's generic NAS file system"
        default n
	---help---	
	  Choosing this option will enable various kernel patches, those patches are needed 
	  when running Marvell's generic NAS file system.

config  UBOOT_STRUCT
	bool "Use UBoot Marvell tag structure"
	---help---
	  Choosing this option will cause the linux to extract the Tclk, Sysclk and
	  the uboot version from the Tag list passed by the uboot.


config  MV_DBG_TRACE
	bool "Enable tracing utility"
	default n
	---help---
	  Choosing this debug option will cause some kernel modules to log operations into
	  a cyclic buffer and dump them on failures. Enabling this feature decreases performance.

config  MV_REAL_TIME
	bool "Real Time softirq support"
	default n
	---help---
	Choosing this option will give more CPU time for user space processes

config  MV_CPU_PERF_CNTRS
        bool "CPU Performance counters support"
        default n
        ---help---
        Choosing this option will enable you to use CPU Performance counters

menu "Soc DMA accelerations"

source arch/arm/plat-feroceon/mv_drivers_lsp/mv_xor/Kconfig

source arch/arm/plat-feroceon/mv_drivers_lsp/mv_dma/Kconfig

endmenu

menu "SoC Networking support"
depends on MV_INCLUDE_GIG_ETH

source arch/arm/plat-feroceon/mv_drivers_lsp/mv_network/Kconfig

endmenu


source arch/arm/plat-feroceon/mv_drivers_lsp/mv_cesa/Kconfig

source arch/arm/plat-feroceon/mv_drivers_lsp/mv_phone/Kconfig


source arch/arm/plat-feroceon/mv_drivers_lsp/mv_sdio/Kconfig

source arch/arm/plat-feroceon/mv_drivers_lsp/mv_tsu/Kconfig


config  SCSI_MVSATA
	tristate "Support for Marvell Sata Adapters"
	depends on ( MV_INCLUDE_INTEG_SATA && SCSI ) || ( PCI && SCSI )
	---help---
	  Choosing this option will enable you to use the Marvell Sata
	  adapters support with emulation as SCSI adapters.
	  Note that the kernel scsi subsystem must be chosen too.

source arch/arm/plat-feroceon/mv_drivers_lsp/mv_sata/Kconfig

endmenu

endif


