menu "CPU support"
	depends on BCM63268

config BCM63268_CPU_63168
	bool "support 63168 CPU"
	select DMA_NONCOHERENT
	select SYS_SUPPORTS_SMP
	select NR_CPUS_DEFAULT_2
	select BRCM_DCACHE_SHARED
	select USB_OHCI_BIG_ENDIAN_DESC
	select USB_OHCI_BIG_ENDIAN_MMIO
	select USB_EHCI_BIG_ENDIAN_MMIO
	
endmenu

config BRCM_KERNEL_ENHANCE
	bool "Enable Broadcom's Kernel Enhancements"
	depends on BCM63268
	default n
	help
		Enables the support of Broadcom's kernel enhancements
		
config BRCM_KERNEL_NF_ENHANCE
	bool "Enable Broadcom's Kernel Netfilter Enhancements"
	depends on NF_CONNTRACK && BCM63268
	default n
	help
		Enables the support of Broadcom's kernel netfilter enhancements

config ARCADYAN_KERNEL_ENHANCE
	bool "Enable Arcadyan's Kernel Enhancements"
	depends on BCM63268
	default n
	help
		Enables the support of Arcadyan's kernel enhancesments

source "arch/mips/bcm63268/boards/Kconfig"

config BCM_EARLY_PRINTK
	bool "Enable the support of early printk"
	depends on SMP && BCM63268 && EARLY_PRINTK
	default n
	help
		Enables the support of the early printk output

config BCM_EARLY_PRINTK_UART_PORT
	int "UART port which is used to output the early printk messages"
	depends on SMP && BCM63268 && EARLY_PRINTK
	range 0 1
	default 0

config BRCM_DCACHE_SHARED
	bool "Enable Shared D-Cache Support"
	depends on SMP && BCM63268
	default n
	
config BCM_SCHED_RT_PERIOD
	int "Period over which RT task cpu usage is measured (in us)"
	depends on BCM63268
	range 0 1000000
	
config BCM_SCHED_RT_RUNTIME
	int "Portion of the period that RT tasks are allowed to run (in us)"
	depends on BCM63268
	range 0 1000000
	
config BCM_HARDIRQ_COUNT_CYCLES
    bool "Enable cycle counter to track time spent in hardirq"
	depends on BCM63268
    default n
    help
           Since most/all of our interrupt handlers disable interrupts
           during interrupt handling with the IRQF_DISABLED flag, Linux
           cannot track time spent in hardirq handling with the normal
           tick sampling mechanism.  This option enables code to count
           cycles spent in hardirq and adds a tick to kernel_stat.irq
           when the number of cycles spent reaches 1 tick.  This mechanism 
           is similar to CONFIG_VIRT_CPU_ACCOUNTING 
	
config BCM_PKTFLOW
	tristate "Support for Broadcom Packet Flow Cache"
	depends on BCM63268
	help
		Say 'M' to include support for Broadcom Packet Flow Cache.
		Static compile not supported.

config BCM_PKTCMF
	tristate "Support for Packet CMF"
	depends on BCM63268
	help
		Say 'M' to include support for Packet CMF.
		Static compile not supported.

config BCM_FAP
	tristate "Support for Packet FAP"
	depends on BCM63268
	help
		Say 'M' to include support for Forward Assist Processor.
		Static compile not supported.
		
config BCM_FAP_IMPL
	int "Implementation index for FAP"
	depends on BCM63268 && BCM_FAP
	default 1
	range 1 4
		
config BCM_FAP_GSO
	bool "Support GSO in FAP"
	depends on BCM_FAP && BCM63268

config BCM_INGQOS
	tristate "Support for Ingress QoS"
	depends on BCM63268
	help
		Say 'M' to include support for Ingress QoS.

config BCM_BPM
	tristate "Support for Buffer Pool Manager"
	depends on BCM63268
	help
		Say 'M' to include support for BPM
		
config BCM_BPM_BUF_MEM_PRCNT
	int "Buffer Memory as % of Total Memory"
	depends on BCM63268 && BCM_BPM
	default 15
	range 1 100

config BCM_PKTDMA
	tristate "Support for Packet DMA"
	depends on BCM63268
	help
		Say 'M' to include support for Packet DMA.
		Dynamic compile not supported.
		
config BCM_PKTDMA_IMPL
	int "Implementation index for Packet DMA"
	depends on BCM63268 && BCM_PKTDMA
	default 1
	range 1 4
	depends on BCM63268
		
config BCM_DEF_NR_RX_DMA_CHANNELS
	int "Number of RX DMA Channels"
	depends on BCM63268 && BCM_PKTDMA
	range 1 4

config BCM_DEF_NR_TX_DMA_CHANNELS
	int "Number of TX DMA Channels"
	depends on BCM63268 && BCM_PKTDMA
	range 1 4
		
config BCM_PKTDMA_RX_SPLITTING
	bool "PktDma Iudma Rx Splitting"
	depends on BCM_PKTDMA && BCM_FAP && BCM63268
		
config BCM_PKTDMA_TX_SPLITTING
	bool "PktDma Iudma Tx Splitting"
	depends on BCM_PKTDMA && BCM_FAP && BCM63268
	
config BCM_GMAC
	bool "Support for GMAC"
	depends on BCM63268

config BCM_ENET
	tristate "Support for Ethernet"
	depends on BCM63268
	help
		Say 'M' to include support for Ethernet.
		Static compile not supported.
		
config BCM_ENET_BCM63XX
	bool "Support for BCM63XX series SoCs Internal Switch"
	depends on BCM63268
	default n

config BCM_ENET_BCM53125
	bool "Support for BCM63XX series SoCs Internal Switch"
	depends on BCM63268
	default n

config BCM_EXT_SWITCH
	bool "Support for External Switch"
	depends on BCM63268
	default n

config BCM_EXT_SWITCH_TYPE
	int "External Switch Model Number"
	depends on BCM63268 && BCM_EXT_SWITCH
	default 0

config BCM_ADSL
	tristate "Support for ADSL"
	depends on BCM63268
	help
		Say 'M' to include support for ADSL.
		Static compile not supported.
		
config BCM_XDSL_DSP_FW_SIZE
	int "Firmware size of the XDSL DSP"
	depends on BCM63268 && BCM_ADSL
    default "1253376"

config BCM_XTMCFG
    tristate "Support for XTM"
    depends on BCM63268

config BCM_XTMRT
    tristate "Support for XTM"
	depends on BCM63268
	
config BCM_XTMRT_IMPL
	int "Implementation index for XTMRT"
	depends on BCM63268
	default 4
	
config BCM_DSL_GINP_RTX
	tristate "Support for DSL_GINP_RTX"
	depends on BCM63268
	
config BCM_EXT_BONDING
	tristate "Support for EXT_BONDING"
	depends on BCM63268

config BCM_WLAN
	tristate "Support for Wireless"
    depends on BCM63268
	help
		Say 'M' to include support for Wireless.
		Dynamic compile not supported.

config BCM63268_PCI
	bool "Support for PCI"
    depends on BCM63268
	select PCI

config BCM_LOG
	tristate "Support for BCM LOG"
	depends on BCM63268

config BCM_ARL
	tristate "Support for BCM ARL"
	depends on BCM63268

config BCM_VLAN
	tristate "Support for BCM VLAN"
	depends on BCM63268

config BCM_TIMER
	bool "Support for BCM TIMER"
	depends on BCM63268
	
config BCM_PWRMNGT
    tristate "Support for Power Management"
	depends on BCM63268
	
config BCM_PWRMNGT_DDR_SR_API
    bool "Support for DDR Self-Refresh"
	depends on BCM63268 && BCM_PWRMNGT
	
config BCM_PWRMNGT_CPUFREQ
	tristate "Support for Kernel CPU Frequency Scaling"
	select MIPS_CPUFREQ
	depends on BCM63268 && BCM_PWRMNGT

config BCM_ETH_PWRSAVE
    bool "Support for Ethernet Auto Power Down and Sleep"
	depends on BCM63268 && BCM_PWRMNGT
	
config BCM_ETH_HWAPD_PWRSAVE
	bool "Support for Ethernet HW Auto Power Down and Sleep for external PHYs"
	depends on BCM63268 && BCM_PWRMNGT
	
config BCM_HOSTMIPS_PWRSAVE
    bool "Support for PWRMNGT MIPS clock divider"
	depends on BCM63268 && BCM_PWRMNGT

config BCM_HOSTMIPS_PWRSAVE_TIMERS
    bool "Support for PWRMNGT MIPS timers"
	depends on BCM63268 && BCM_PWRMNGT

config BCM_DDR_SELF_REFRESH_PWRSAVE
    bool "Support for PWRMNGT MIPS DRAM Self Refresh Mode"
	depends on BCM63268 && BCM_PWRMNGT
	
config BCM_AVS_PWRSAVE
    bool "Support for Automatic Voltage Scaling"
	depends on BCM63268 && BCM_PWRMNGT
	
config BCM_1V2REG_AUTO_SHUTDOWN
        bool "Support for Automatically Shutting down Internal 1.2V Regulator"
        depends on BCM63268

config BCM_1V2REG_ALWAYS_SHUTDOWN
        bool "Support for Overriding Automatically Shutting down Internal 1.2V Regulator"
        depends on BCM63268

config BCM_1V2REG_NEVER_SHUTDOWN
        bool "Support for Overriding Automatically Shutting down Internal 1.2V Regulator"
        depends on BCM63268

config BCM_PROCFS
	tristate "Support for PROCFS"
        depends on BCM63268

config BCM_P8021AG
	tristate "Support for BCM's IEEE P802.1ag"
        depends on BCM63268
		
config ARCADYAN_P8021AG
	tristate "Support for Arcadyan's IEEE P802.1ag"
		depends on ARCADYAN_KERNEL_ENHANCE && BCM63268

config ARCADYAN_802_3AH
	tristate "Support for Arcadyan's IEEE 802.3ah"
		depends on ARCADYAN_KERNEL_ENHANCE && BCM63268

config BRCM_KTOOLS
	bool "BRCM_KTOOLS"
	depends on BCM63268
	default n
	help
		Enables the build of BRCM MIPS Kernel Tools Support for PMON, BOUNCE

config PMON
	bool "PMON"
	depends on BRCM_KTOOLS && BCM63268
	default n
	help
	  Enables the support for MIPS Performance Monitoring Counters

config BRCM_BOUNCE
	bool "BOUNCE"
	depends on BRCM_KTOOLS && BCM63268
	default n
	help
	  This option enables the support for -finstrument-functions.

config BRCM_BOUNCE_EXIT
	bool "BOUNCE_EXIT"
	depends on BRCM_BOUNCE && BCM63268
	default n
	help
	  This option enables the instrumentation of kernel function call exit.

config BRCM_BOUNCE_DATAPATH
	bool "BOUNCE_DATAPATH"
	depends on BRCM_BOUNCE && BCM63268
	default n
	help
	  This option enables the brute force instrumentation of network data path.	  
