config MIPS
	bool
	default y
	# Horrible source of confusion.  Die, die, die ...
	select EMBEDDED

mainmenu "Linux/MIPS Kernel Configuration"

source "init/Kconfig"

menu "Machine selection"

choice
	prompt "System type"
	# default MIPS_BRCM97XXX
	


# select BRCM_7XXX_SERIAL THT Now in drivers/char/KConfig

# Support for 7038A0 has been dropped
#      config MIPS_BCM7038A0
#         bool "Support for BCM97038A0"
#         depends MIPS_BRCM97XXX
#         select MIPS_BCM7038
#         select HW_HAS_PCI

config MIPS_BCM3560A0
	bool "Support for BCM93560A0"
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MIPS_BCM3560

config MIPS_BCM3560B0
	bool "Support for BCM93560B0"
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MIPS_BCM3560

config MIPS_BCM3563
	bool "Support for BCM93563"
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MIPS_BCM3560

config MIPS_BCM7038B0
	bool "Support for BCM97038Bx"
	select MIPS_BRCM97XXX
	select MIPS_BCM7038
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7038CX
	bool "Support for BCM97038Cx"
	select MIPS_BRCM97XXX
	select MIPS_BCM7038C0
	select MIPS_BCM7038
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM97398
	bool "Support for BCM97398 board"
	select MIPS_BRCM97XXX
	select MIPS_BCM7038C0
	select MIPS_BCM7038
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7110
	bool "Support for BCM97110"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7111
	bool "Support for BCM97111-DSG"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7112
	bool "Support for BCM97112"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7115
	bool "Support for BCM97115"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7118A0
	bool "Support for BCM97118Ax"
	select MIPS_BRCM97XXX
	select MIPS_BCM7118
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7312
	bool "Support for BCM97312"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7315
	bool "Support for BCM97315"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7317
	bool "Support for BCM97317"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7318
	bool "Support for BCM97318"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7319
	bool "Support for BCM97319"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7320
	bool "Support for BCM97320"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7328
	bool "Support for BCM97328"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7329
	bool "Support for BCM97329"
	select MIPS_BRCM97XXX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM97456
	bool "Support for BCM97456 board"
	select MIPS_BCM7400A0
	select MIPS_BRCM97XXX
	select MIPS_BCM7400A0
	select MIPS_BCM7400
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN



config MIPS_BCM7400AX
	bool "Support for BCM97400Ax with NOR flash"
	select MIPS_BRCM97XXX
	select MIPS_BCM7400A0
	select MIPS_BCM7400
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
    # select MIPS_BRCM_IKOS


config MIPS_BCM7400AX_NAND
	bool "Support for BCM97400Ax with NAND flash"
	select MIPS_BRCM97XXX
	select MIPS_BCM7400A0
	select MIPS_BCM7400
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MTD_BRCMNAND
	select MTD_BRCMNAND_VERIFY_WRITE
	select MTD_BLOCK_ROMBLOCK
    # select MIPS_BRCM_IKOS


config MIPS_BCM97455
	bool "Support for BCM97455 board"
	select  MIPS_BCM7401A0
	select MIPS_BCM7401
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM97455CX
	bool "Support for BCM97455CX board"
	select  MIPS_BCM97455C0
	select  MIPS_BCM7401C0
	select MIPS_BCM7401
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN


config MIPS_BCM97455CX_NAND
	bool "Support for BCM97455CX board with NAND flash"
	select  MIPS_BCM97455C0
	select  MIPS_BCM7401C0
	select MIPS_BCM7401
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MTD_BRCMNAND
	select MTD_BRCMNAND_VERIFY_WRITE
	select MTD_BLOCK_ROMBLOCK

config MIPS_BCM7401AX
	bool "Support for BCM97401Ax"
	select  MIPS_BCM7401A0
	select MIPS_BRCM97XXX
	select MIPS_BCM7401
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7401BX
	bool "Support for BCM97401Bx"
	select MIPS_BRCM97XXX
	select MIPS_BCM7401B0
	select MIPS_BCM7401
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	# select MIPS_BRCM_IKOS

config MIPS_BCM7401BX_NAND
	bool "Support for BCM97401Bx with NAND flash"
	select MIPS_BRCM97XXX
	select MIPS_BCM7401B0
	select MIPS_BCM7401
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MTD_BRCMNAND
	select MTD_BRCMNAND_VERIFY_WRITE
	select MTD_BLOCK_ROMBLOCK
	# select MIPS_BRCM_IKOS

config MIPS_BCM97455B0
	bool "Support for BCM97455B0 board"
	select MIPS_BCM7401B0
	select MIPS_BCM7401
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7401CX
	bool "Support for BCM97401Cx"
	select MIPS_BRCM97XXX
	select MIPS_BCM7401C0
	select MIPS_BCM7401
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	# select MIPS_BRCM_IKOS

config MIPS_BCM7401CX_NAND
	bool "Support for BCM97401Cx with NAND flash"
	select MIPS_BRCM97XXX
	select MIPS_BCM7401C0
	select MIPS_BCM7401
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MTD_BRCMNAND
	select MTD_BRCMNAND_VERIFY_WRITE
	select MTD_BLOCK_ROMBLOCK




config MIPS_BCM97458A0
	bool "Support for BCM97458Ax board"
	select MIPS_BCM7403A0
	select MIPS_BCM7403
	select MIPS_BRCM97XXX
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	
# bcm7402S is a 7401A0 running as a PCI slave.  This is a prototype build for 7402b0s.
config MIPS_BCM7402S
	bool "Support for BCM97402S PCI Slave"
	select MIPS_BRCM97XXX
	select MIPS_BCM7401
	# select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select BRCM_PCI_SLAVE

# bcm7402b0S is a 7401B0 running as a PCI slave.
config MIPS_BCM7402B0S
	bool "Support for BCM97402B0 PCI Slave"
	select MIPS_BRCM97XXX
	select MIPS_BCM7401B0
	# select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select BRCM_PCI_SLAVE

# bcm7402A0 is a 7401B0 w/o SATA
config MIPS_BCM7402A0
	bool "Support for BCM97402A0"
	select MIPS_BRCM97XXX
	select MIPS_BCM7402
	#select MIPS_BCM7401B0
	#select MIPS_BCM7401
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

# bcm7402C0 is a 7401C0 w/o SATA
config MIPS_BCM7402CX
	bool "Support for BCM97402CX"
	select MIPS_BCM7402C0
	select MIPS_BRCM97XXX
	select MIPS_BCM7402
	#select MIPS_BCM7401B0
	#select MIPS_BCM7401
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BCM7402CX_NAND
	bool "Support for BCM97402Cx with NAND flash"
	select MIPS_BRCM97XXX
	select MIPS_BCM7402C0
	select MIPS_BCM7402
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select MTD_BRCMNAND
	select MTD_BRCMNAND_VERIFY_WRITE
	select MTD_BLOCK_ROMBLOCK
    # select MIPS_BRCM_IKOS

# bcm7403a0 is a modified 7401C0
config MIPS_BCM7403AX
        bool "Support for BCM97403Ax"
        select MIPS_BRCM97XXX
        select MIPS_BCM7403A0
        select MIPS_BCM7403
        select HW_HAS_PCI
        select SYS_SUPPORTS_32BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        select SYS_SUPPORTS_LITTLE_ENDIAN
        # select MIPS_BRCM_IKOS


config MIPS_BCM7440AX
	bool "Support for BCM97440Ax with NOR flash"
	select MIPS_BRCM97XXX
	select MIPS_BCM7440A0
	select MIPS_BCM7440
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN


config MIPS_BCM93730
	bool "Broadcom MIPS BCM93730-40|45"
	#selects MIPS32
	select BRCM_SERIAL
	select SERIAL
	select DMA_NONCOHERENT
	select I8259
	select IRQ_CPU
	select HW_HAS_PCI
	#select MIPS_BRCM
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_MTX1
	bool "Support for 4G Systems MTX-1 board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SOC_AU1500
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_BOSPORUS
	bool "AMD Alchemy Bosporus board"
	select SOC_AU1500
	select DMA_NONCOHERENT
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_PB1000
	bool "AMD Alchemy PB1000 board"
	select SOC_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_PB1100
	bool "AMD Alchemy PB1100 board"
	select SOC_AU1100
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_PB1500
	bool "AMD Alchemy PB1500 board"
	select SOC_AU1500
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_PB1550
	bool "AMD Alchemy PB1550 board"
	select SOC_AU1550
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_DISABLE_OBSOLETE_IDE
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_PB1200
	bool "AMD Alchemy PB1200 board"
	select SOC_AU1200
	select DMA_NONCOHERENT
	select MIPS_DISABLE_OBSOLETE_IDE
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_DB1000
	bool "AMD Alchemy DB1000 board"
	select SOC_AU1000
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_DB1100
	bool "AMD Alchemy DB1100 board"
	select SOC_AU1100
	select DMA_NONCOHERENT
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_DB1500
	bool "AMD Alchemy DB1500 board"
	select SOC_AU1500
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_DISABLE_OBSOLETE_IDE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_DB1550
	bool "AMD Alchemy DB1550 board"
	select SOC_AU1550
	select HW_HAS_PCI
	select DMA_NONCOHERENT
	select MIPS_DISABLE_OBSOLETE_IDE
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_DB1200
	bool "AMD Alchemy DB1200 board"
	select SOC_AU1200
	select DMA_NONCOHERENT
	select MIPS_DISABLE_OBSOLETE_IDE
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_MIRAGE
	bool "AMD Alchemy Mirage board"
	select DMA_NONCOHERENT
	select SOC_AU1500
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_COBALT
	bool "Support for Cobalt Server"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select I8259
	select IRQ_CPU
	select MIPS_GT64111
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MACH_DECSTATION
	bool "Support for DECstations"
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select EARLY_PRINTK
	select IRQ_CPU
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This enables support for DEC's MIPS based workstations.  For details
	  see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
	  DECstation porting pages on <http://decstation.unix-ag.org/>.

	  If you have one of the following DECstation Models you definitely
	  want to choose R4xx0 for the CPU Type:

	  	DECstation 5000/50
	  	DECstation 5000/150
	  	DECstation 5000/260
	  	DECsystem 5900/260

	  otherwise choose R3000.

config MIPS_EV64120
	bool "Support for Galileo EV64120 Evaluation board (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_GT64120
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  This is an evaluation board based on the Galileo GT-64120
	  single-chip system controller that contains a MIPS R5000 compatible
	  core running at 75/100MHz.  Their website is located at
	  <http://www.marvell.com/>.  Say Y here if you wish to build a
	  kernel for this platform.

config MIPS_EV96100
	bool "Support for Galileo EV96100 Evaluation board (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select MIPS_GT96100
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  This is an evaluation board based on the Galileo GT-96100 LAN/WAN
	  communications controllers containing a MIPS R5000 compatible core
	  running at 83MHz. Their website is <http://www.marvell.com/>. Say Y
	  here if you wish to build a kernel for this platform.

config MIPS_IVR
	bool "Support for Globespan IVR board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select ITE_BOARD_GEN
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This is an evaluation board built by Globespan to showcase thir
	  iVR (Internet Video Recorder) design. It utilizes a QED RM5231
	  R5000 MIPS core. More information can be found out their website
	  located at <http://www.globespan.net/>. Say Y here if you wish to
	  build a kernel for this platform.

config MIPS_ITE8172
	bool "Support for ITE 8172G board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select ITE_BOARD_GEN
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  Ths is an evaluation board made by ITE <http://www.ite.com.tw/>
	  with ATX form factor that utilizes a MIPS R5000 to work with its
	  ITE8172G companion internet appliance chip. The MIPS core can be
	  either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
	  a kernel for this platform.

config MACH_JAZZ
	bool "Support for the Jazz family of machines"
	select ARC
	select ARC32
	select GENERIC_ISA_DMA
	select I8259
	select ISA
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	help
	 This a family of machines based on the MIPS R4030 chipset which was
	 used by several vendors to build RISC/os and Windows NT workstations.
	 Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and
	 Olivetti M700-10 workstations.

config LASAT
	bool "Support for LASAT Networks platforms"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_GT64120
	select MIPS_NILE4
	select R5000_CPU_SCACHE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN

config MIPS_ATLAS
	bool "Support for MIPS Atlas board"
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_BOARDS_GEN
	select MIPS_BONITO64
	select MIPS_GT64120
	select MIPS_MSC
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This enables support for the MIPS Technologies Atlas evaluation
	  board.

config MIPS_MALTA
	bool "Support for MIPS Malta board"
	select BOOT_ELF32
	select HAVE_STD_PC_SERIAL_PORT
	select DMA_NONCOHERENT
	select GENERIC_ISA_DMA
	select HW_HAS_PCI
	select I8259
	select MIPS_BOARDS_GEN
	select MIPS_BONITO64
	select MIPS_GT64120
	select MIPS_MSC
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This enables support for the MIPS Technologies Malta evaluation
	  board.

config MIPS_SEAD
	bool "Support for MIPS SEAD board (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select IRQ_CPU
	select DMA_NONCOHERENT
	select MIPS_BOARDS_GEN
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This enables support for the MIPS Technologies SEAD evaluation
	  board.

config MOMENCO_JAGUAR_ATX
	bool "Support for Momentum Jaguar board"
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select IRQ_MV64340
	select LIMITED_DMA
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  The Jaguar ATX is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config MOMENCO_OCELOT
	bool "Support for Momentum Ocelot board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select MIPS_GT64120
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config MOMENCO_OCELOT_3
	bool "Support for Momentum Ocelot-3 board"
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select IRQ_MV64340
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  The Ocelot-3 is based off Discovery III System Controller and
	  PMC-Sierra Rm79000 core.

config MOMENCO_OCELOT_C
	bool "Support for Momentum Ocelot-C board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_MV64340
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config MOMENCO_OCELOT_G
	bool "Support for Momentum Ocelot-G board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select PCI_MARVELL
	select RM7000_CPU_SCACHE
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  The Ocelot is a MIPS-based Single Board Computer (SBC) made by
	  Momentum Computer <http://www.momenco.com/>.

config MIPS_XXS1500
	bool "Support for MyCable XXS1500 board"
	select DMA_NONCOHERENT
	select SOC_AU1500
	select SYS_SUPPORTS_LITTLE_ENDIAN

config DDB5074
	bool "Support for NEC DDB Vrc-5074 (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select DDB5XXX_COMMON
	select DMA_NONCOHERENT
	select HAVE_STD_PC_SERIAL_PORT
	select HW_HAS_PCI
	select IRQ_CPU
	select I8259
	select ISA
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This enables support for the VR5000-based NEC DDB Vrc-5074
	  evaluation board.

config DDB5476
	bool "Support for NEC DDB Vrc-5476"
	select DDB5XXX_COMMON
	select DMA_NONCOHERENT
	select HAVE_STD_PC_SERIAL_PORT
	select HW_HAS_PCI
	select IRQ_CPU
	select I8259
	select ISA
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This enables support for the R5432-based NEC DDB Vrc-5476
	  evaluation board.

	  Features : kernel debugging, serial terminal, NFS root fs, on-board
	  ether port USB, AC97, PCI, PCI VGA card & framebuffer console,
	  IDE controller, PS2 keyboard, PS2 mouse, etc.

config DDB5477
	bool "Support for NEC DDB Vrc-5477"
	select DDB5XXX_COMMON
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select I8259
	select IRQ_CPU
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  This enables support for the R5432-based NEC DDB Vrc-5477,
	  or Rockhopper/SolutionGear boards with R5432/R5500 CPUs.

	  Features : kernel debugging, serial terminal, NFS root fs, on-board
	  ether port USB, AC97, PCI, etc.

config MACH_VR41XX
	bool "Support for NEC VR41XX-based machines"

config PMC_YOSEMITE
	bool "Support for PMC-Sierra Yosemite eval board"
	select DMA_COHERENT
	select HW_HAS_PCI
	select IRQ_CPU
	select IRQ_CPU_RM7K
	select IRQ_CPU_RM9K
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  Yosemite is an evaluation board for the RM9000x2 processor
	  manufactured by PMC-Sierra.

config QEMU
	bool "Support for Qemu"
	select DMA_COHERENT
	select GENERIC_ISA_DMA
	select HAVE_STD_PC_SERIAL_PORT
	select I8259
	select ISA
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  Qemu is a software emulator which among other architectures also
	  can simulate a MIPS32 4Kc system.  This patch adds support for the
	  system architecture that currently is being simulated by Qemu.  It
	  will eventually be removed again when Qemu has the capability to
	  simulate actual MIPS hardware platforms.  More information on Qemu
	  can be found at http://www.linux-mips.org/wiki/Qemu.

config SGI_IP22
	bool "Support for SGI IP22 (Indy/Indigo2)"
	select ARC
	select ARC32
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select HW_HAS_EISA
	select IP22_CPU_SCACHE
	select IRQ_CPU
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  This are the SGI Indy, Challenge S and Indigo2, as well as certain
	  OEM variants like the Tandem CMN B006S. To compile a Linux kernel
	  that runs on these, say Y here.

config SGI_IP27
	bool "Support for SGI IP27 (Origin200/2000)"
	select ARC
	select ARC64
	select BOOT_ELF64
	select DMA_IP27
	select HW_HAS_PCI
	select PCI_DOMAINS
	select QL_ISP_A64
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
	  workstations.  To compile a Linux kernel that runs on these, say Y
	  here.

config SGI_IP32
	bool "Support for SGI IP32 (O2) (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	select ARC
	select ARC32
	select BOOT_ELF32
	select OWN_DMA
	select DMA_IP32
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select R5000_CPU_SCACHE
	select RM7000_CPU_SCACHE
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	help
	  If you want this kernel to run on SGI O2 workstation, say Y here.

config SIBYTE_SWARM
	bool "Support for Sibyte BCM91250A-SWARM"
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_SB1250
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SIBYTE_SENTOSA
	bool "Support for Sibyte BCM91250E-Sentosa"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_SB1250
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SIBYTE_RHONE
	bool "Support for Sibyte BCM91125E-Rhone"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_BCM1125H
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SIBYTE_CARMEL
	bool "Support for Sibyte BCM91120x-Carmel"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_BCM1120
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SIBYTE_PTSWARM
	bool "Support for Sibyte BCM91250PT-PTSWARM"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_SB1250
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SIBYTE_LITTLESUR
	bool "Support for Sibyte BCM91250C2-LittleSur"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_SB1250
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SIBYTE_CRHINE
	bool "Support for Sibyte BCM91120C-CRhine"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_BCM1120
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SIBYTE_CRHONE
	bool "Support for Sibyte BCM91125C-CRhone"
	depends on EXPERIMENTAL
	select BOOT_ELF32
	select DMA_COHERENT
	select SIBYTE_BCM1125
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN

config SNI_RM200_PCI
	bool "Support for SNI RM200 PCI"
	select ARC
	select ARC32
	select BOOT_ELF32
	select DMA_NONCOHERENT
	select GENERIC_ISA_DMA
	select HAVE_STD_PC_SERIAL_PORT
	select HW_HAS_EISA
	select HW_HAS_PCI
	select I8259
	select ISA
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
	select SYS_SUPPORTS_BIG_ENDIAN if EXPERIMENTAL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
	  Nixdorf Informationssysteme (SNI), parent company of Pyramid
	  Technology and now in turn merged with Fujitsu.  Say Y here to
	  support this machine type.

config TOSHIBA_JMR3927
	bool "Support for Toshiba JMR-TX3927 board"
	select DMA_NONCOHERENT
	select HW_HAS_PCI
	select MIPS_TX3927
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select TOSHIBA_BOARDS

config TOSHIBA_RBTX4927
	bool "Support for Toshiba TBTX49[23]7 board"
	select DMA_NONCOHERENT
	select HAS_TXX9_SERIAL
	select HW_HAS_PCI
	select I8259
	select ISA
	select SWAP_IO_SPACE
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_64BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select TOSHIBA_BOARDS
	help
	  This Toshiba board is based on the TX4927 processor. Say Y here to
	  support this machine type

endchoice


source "arch/mips/ddb5xxx/Kconfig"
source "arch/mips/gt64120/ev64120/Kconfig"
source "arch/mips/jazz/Kconfig"
source "arch/mips/ite-boards/Kconfig"
source "arch/mips/lasat/Kconfig"
source "arch/mips/momentum/Kconfig"
source "arch/mips/pmc-sierra/Kconfig"
source "arch/mips/sgi-ip27/Kconfig"
source "arch/mips/sibyte/Kconfig"
source "arch/mips/tx4927/Kconfig"
source "arch/mips/vr41xx/Kconfig"

endmenu

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

config RWSEM_XCHGADD_ALGORITHM
	bool

config GENERIC_CALIBRATE_DELAY
	bool
	default y

config HAVE_DEC_LOCK
	bool
	default y

#
# Select some configuration options automatically based on user selections.
#
config ARC
	bool

config DMA_COHERENT
	bool

config DMA_IP27
	bool

config DMA_IP32
	bool

config OWN_DMA
	bool

config DMA_NONCOHERENT
	bool

config EARLY_PRINTK
	bool

config GENERIC_ISA_DMA
	bool

config I8259
	bool

config LIMITED_DMA
	bool
	select HIGHMEM

config MIPS_BONITO64
	bool

config MIPS_MSC
	bool

config MIPS_NILE4
	bool

config MIPS_DISABLE_OBSOLETE_IDE
	bool

#
# Endianess selection.  Suffiently obscure so many users don't know what to
# answer,so we try hard to limit the available choices.  Also the use of a
# choice statement should be more obvious to the user.
#
choice
	prompt "Endianess selection"
	help
	  Some MIPS machines can be configured for either little or big endian
	  byte order. These modes require different kernels and a different
	  Linux distribution.  In general there is one prefered byteorder for a
	  particular system but some systems are just as commonly used in the
	  one or the other endianess.

config CPU_BIG_ENDIAN
	bool "Big endian"
	depends on SYS_SUPPORTS_BIG_ENDIAN

config CPU_LITTLE_ENDIAN
	bool "Little endian"
	depends on SYS_SUPPORTS_LITTLE_ENDIAN
	help

endchoice

config SYS_SUPPORTS_BIG_ENDIAN
	bool

config SYS_SUPPORTS_LITTLE_ENDIAN
	bool

config IRQ_CPU
	bool

config IRQ_CPU_RM7K
	bool

config IRQ_CPU_RM9K
	bool

# Broadcom STB Specific options
config MIPS_BRCM97XXX
	bool "Broadcom MIPS super chips BCM97xxx"
	#depends MIPS32
	select CPU_MIPS32_R1
	select SERIAL
	select DMA_NONCOHERENT
	select IRQ_CPU
	select MIPS_BRCM
	# Only swap on 32 bit.
	# select SWAP_IO_SPACE_L
	select BRCM_7XXX_SERIAL if ! (MIPS_BCM7400 || MIPS_BCM7440 || MIPS_BCM7118)
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_BIG_ENDIAN
	select SYS_SUPPORTS_LITTLE_ENDIAN
	
config MIPS_BCM3560
	bool
 	depends MIPS_BCM3560A0 || MIPS_BCM3560B0 || MIPS_BCM3563

config MIPS_BCM7038C0
	bool
 	depends MIPS_BCM97398 || MIPS_BCM7038CX

config MIPS_BCM7038
	bool
 	depends MIPS_BCM7038B0 || MIPS_BCM7038C0

config MIPS_BCM7401A0
	bool
	depends MIPS_BCM7401AX || MIPS_BCM97455  || MIPS_BCM7402S

config MIPS_BCM7401B0
	bool
	depends MIPS_BCM7401BX || MIPS_BCM97455B0  || MIPS_BCM7402B0S
	select MIPS_BCM7401


config MIPS_BCM7402C0
	bool
	depends MIPS_BCM7402CX || MIPS_BCM7402CX_NAND

config MIPS_BCM7401C0
	bool
	depends MIPS_BCM7401CX || MIPS_BCM97455C0  || MIPS_BCM7402C0



config MIPS_BCM97455C0
	bool
	depends MIPS_BCM97455CX || MIPS_BCM97455CX_NAND
	select MIPS_BCM7401C0

config MIPS_BCM7401
	bool
 	depends MIPS_BCM7401A0 || MIPS_BCM7401B0 || MIPS_BCM7401C0

config MIPS_BCM7402
	bool
	depends MIPS_BCM7402A0 || MIPS_BCM7402C0

config MIPS_BCM7403A0
        bool
        depends MIPS_BCM7403AX || MIPS_BCM97458A0

config MIPS_BCM7403
        bool
        depends MIPS_BCM7403A0

config MIPS_BCM7400A0
	bool
 	depends MIPS_BCM7400AX || MIPS_BCM97456

config MIPS_BCM7400
	bool
 	depends MIPS_BCM7400A0

config MIPS_BCM7118
	bool

config MIPS_BCM7440A0
	bool
 	depends MIPS_BCM7440AX

config MIPS_BCM7440
	bool
 	depends MIPS_BCM7440A0

config MIPS_BRCM_IKOS
    	bool

config MIPS_BRCM
	bool

config BRCM_PCI_SLAVE
	bool "Broadcom MIPS in PCI Slave Mode"
	depends MIPS_BCM7402S

config BRCM_7XXX_SERIAL
	select SERIAL_CORE_CONSOLE
         tristate
	 default n

# PR10860 - Allow long long types to be used in modules
config LONG_LONG_SUPPORT
	bool "Allow long long types to be used in modules"
	depends MIPS_BRCM
	default n
	
config SERIAL
	bool
	
config SWAP_IO_SPACE_L
	bool
	
# end of Broadcom STB options


config IRQ_MV64340
	bool

config DDB5XXX_COMMON
	bool

config MIPS_BOARDS_GEN
	bool

config MIPS_GT64111
	bool

config MIPS_GT64120
	bool

config MIPS_TX3927
	bool
	select HAS_TXX9_SERIAL

config PCI_MARVELL
	bool

config ITE_BOARD_GEN
	bool

config SOC_AU1000
	bool
	select SOC_AU1X00

config SOC_AU1100
	bool
	select SOC_AU1X00

config SOC_AU1500
	bool
	select SOC_AU1X00

config SOC_AU1550
	bool
	select SOC_AU1X00

config SOC_AU1200
	bool
	select SOC_AU1X00

config SOC_AU1X00
	bool
	select SYS_SUPPORTS_32BIT_KERNEL

config SWAP_IO_SPACE
	bool

#
# Unfortunately not all GT64120 systems run the chip at the same clock.
# As the user for the clock rate and try to minimize the available options.
#
choice
	prompt "Galileo Chip Clock"
	#default SYSCLK_83 if MIPS_EV64120
	depends on MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G
	default SYSCLK_83 if MIPS_EV64120
	default SYSCLK_100 if MOMENCO_OCELOT || MOMENCO_OCELOT_G

config SYSCLK_75
	bool "75" if MIPS_EV64120

config SYSCLK_83
	bool "83.3" if MIPS_EV64120

config SYSCLK_100
	bool "100" if MIPS_EV64120 || MOMENCO_OCELOT || MOMENCO_OCELOT_G

endchoice

config ARC32
	bool

config AU1X00_USB_DEVICE
	bool
	depends on MIPS_PB1500 || MIPS_PB1100 || MIPS_PB1000
	default n

config MIPS_GT96100
	bool
	select MIPS_GT64120

config IT8172_CIR
	bool
	depends on MIPS_ITE8172 || MIPS_IVR
	default y

config IT8712
	bool
	depends on MIPS_ITE8172
	default y

config BOOT_ELF32
	bool

config MIPS_L1_CACHE_SHIFT
	int
	default "4" if MACH_DECSTATION
	default "7" if SGI_IP27
	default "5"

config HAVE_STD_PC_SERIAL_PORT
	bool

config VR4181
	bool

config ARC_CONSOLE
	bool "ARC console support"
	depends on SGI_IP22 || SNI_RM200_PCI

config ARC_MEMORY
	bool
	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP32
	default y

config ARC_PROMLIB
	bool
	depends on MACH_JAZZ || SNI_RM200_PCI || SGI_IP22 || SGI_IP32
	default y

config ARC64
	bool

config BOOT_ELF64
	bool

config QL_ISP_A64
	bool

config TOSHIBA_BOARDS
	bool

menu "CPU selection"

choice
	prompt "CPU type"
	default CPU_MIPS32_R1

config CPU_MIPS32_R1
	bool "MIPS32 Release 1"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_HAS_PREFETCH
	help
	  Choose this option to build a kernel for release 1 or later of the
	  MIPS32 architecture.  Most modern embedded systems with a 32-bit
	  MIPS processor are based on a MIPS32 processor.  If you know the
	  specific type of processor in your system, choose those that one
	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.

config CPU_MIPS64_R1
	bool "MIPS64 Release 1"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	select CPU_HAS_PREFETCH
	help
	  Choose this option to build a kernel for release 1 or later of the
	  MIPS64 architecture.  Many modern embedded systems with a 64-bit
	  MIPS processor are based on a MIPS64 processor.  If you know the
	  specific type of processor in your system, choose those that one
	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.

config CPU_R3000
	bool "R3000"
	select CPU_SUPPORTS_32BIT_KERNEL
	help
	  Please make sure to pick the right CPU type. Linux/MIPS is not
	  designed to be generic, i.e. Kernels compiled for R3000 CPUs will
	  *not* work on R4000 machines and vice versa.  However, since most
	  of the supported machines have an R4000 (or similar) CPU, R4x00
	  might be a safe bet.  If the resulting kernel does not work,
	  try to recompile with R3000.

config CPU_TX39XX
	bool "R39XX"
	select CPU_SUPPORTS_32BIT_KERNEL

config CPU_VR41XX
	bool "R41xx"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  The options selects support for the NEC VR41xx series of processors.
	  Only choose this option if you have one of these processors as a
	  kernel built with this option will not run on any other type of
	  processor or vice versa.

config CPU_R4300
	bool "R4300"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  MIPS Technologies R4300-series processors.

config CPU_R4X00
	bool "R4x00"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  MIPS Technologies R4000-series processors other than 4300, including
	  the R4000, R4400, R4600, and 4700.

config CPU_TX49XX
	bool "R49XX"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL

config CPU_R5000
	bool "R5000"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  MIPS Technologies R5000-series processors other than the Nevada.

config CPU_R5432
	bool "R5432"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL

config CPU_R6000
	bool "R6000"
	depends on EXPERIMENTAL
	select CPU_SUPPORTS_32BIT_KERNEL
	help
	  MIPS Technologies R6000 and R6000A series processors.  Note these
	  processors are extremly rare and the support for them is incomplete.

config CPU_NEVADA
	bool "RM52xx"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  QED / PMC-Sierra RM52xx-series ("Nevada") processors.

config CPU_R8000
	bool "R8000"
	depends on EXPERIMENTAL
	select CPU_HAS_PREFETCH
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  MIPS Technologies R8000 processors.  Note these processors are
	  uncommon and the support for them is incomplete.

config CPU_R10000
	bool "R10000"
	select CPU_HAS_PREFETCH
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL
	help
	  MIPS Technologies R10000-series processors.

config CPU_RM7000
	bool "RM7000"
	select CPU_HAS_PREFETCH
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL

config CPU_RM9000
	bool "RM9000"
	select CPU_HAS_PREFETCH
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL

config CPU_SB1
	bool "SB1"
	select CPU_SUPPORTS_32BIT_KERNEL
	select CPU_SUPPORTS_64BIT_KERNEL

endchoice

endmenu

config SYS_SUPPORTS_32BIT_KERNEL
	bool
config SYS_SUPPORTS_64BIT_KERNEL
	bool
config CPU_SUPPORTS_32BIT_KERNEL
	bool
config CPU_SUPPORTS_64BIT_KERNEL
	bool

menu "Kernel type"

choice

	prompt "Kernel code model"
	help
	  You should only select this option if you have a workload that
	  actually benefits from 64-bit processing or if your machine has
	  large memory.  You will only be presented a single option in this
	  menu if your system does not support both 32-bit and 64-bit kernels.

config MIPS32
	bool "32-bit kernel"
	depends on CPU_SUPPORTS_32BIT_KERNEL && SYS_SUPPORTS_32BIT_KERNEL
	select TRAD_SIGNALS
	help
	  Select this option if you want to build a 32-bit kernel.
config MIPS64
	bool "64-bit kernel"
	depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL
	help
	  Select this option if you want to build a 64-bit kernel.

endchoice

config 64BIT
	def_bool MIPS64

choice
	prompt "Kernel page size"
	default PAGE_SIZE_4KB

config PAGE_SIZE_4KB
	bool "4kB"
	help
	 This option select the standard 4kB Linux page size.  On some
	 R3000-family processors this is the only available page size.  Using
	 4kB page size will minimize memory consumption and is therefore
	 recommended for low memory systems.

config PAGE_SIZE_8KB
	bool "8kB"
	depends on EXPERIMENTAL && CPU_R8000
	help
	  Using 8kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available
	  only on the R8000 processor.  Not that at the time of this writing
	  this option is still high experimental; there are also issues with
	  compatibility of user applications.

config PAGE_SIZE_16KB
	bool "16kB"
	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
	help
	  Using 16kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available on
	  all non-R3000 family processor.  Not that at the time of this
	  writing this option is still high experimental; there are also
	  issues with compatibility of user applications.

config PAGE_SIZE_64KB
	bool "64kB"
	depends on EXPERIMENTAL && !CPU_R3000 && !CPU_TX39XX
	help
	  Using 64kB page size will result in higher performance kernel at
	  the price of higher memory consumption.  This option is available on
	  all non-R3000 family processor.  Not that at the time of this
	  writing this option is still high experimental; there are also
	  issues with compatibility of user applications.

endchoice

config BOARD_SCACHE
	bool

config IP22_CPU_SCACHE
	bool
	select BOARD_SCACHE

config R5000_CPU_SCACHE
	bool
	select BOARD_SCACHE

config RM7000_CPU_SCACHE
	bool
	select BOARD_SCACHE

config SIBYTE_DMA_PAGEOPS
	bool "Use DMA to clear/copy pages"
	depends on CPU_SB1
	help
	  Instead of using the CPU to zero and copy pages, use a Data Mover
	  channel.  These DMA channels are otherwise unused by the standard
	  SiByte Linux port.  Seems to give a small performance benefit.

config CPU_HAS_PREFETCH
	bool

config SB1_PASS_1_WORKAROUNDS
	bool
	depends on CPU_SB1_PASS_1
	default y

config SB1_PASS_2_WORKAROUNDS
	bool
	depends on CPU_SB1 && (CPU_SB1_PASS_2_2 || CPU_SB1_PASS_2)
	default y

config SB1_PASS_2_1_WORKAROUNDS
	bool
	depends on CPU_SB1 && CPU_SB1_PASS_2
	default y

config 64BIT_PHYS_ADDR
	bool "Support for 64-bit physical address space"
	depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32_R1 || CPU_MIPS64_R1) && MIPS32

config CPU_ADVANCED
	bool "Override CPU Options"
	depends on MIPS32
	help
	  Saying yes here allows you to select support for various features
	  your CPU may or may not have.  Most people should say N here.

config CPU_HAS_LLSC
	bool "ll/sc Instructions available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX
	help
	  MIPS R4000 series and later provide the Load Linked (ll)
	  and Store Conditional (sc) instructions. More information is
	  available at <http://www.go-ecs.com/mips/miptek1.htm>.

	  Say Y here if your CPU has the ll and sc instructions.  Say Y here
	  for better performance, N if you don't know.  You must say Y here
	  for multiprocessor machines.

config CPU_HAS_LLDSCD
	bool "lld/scd Instructions available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX && !CPU_MIPS32_R1
	help
	  Say Y here if your CPU has the lld and scd instructions, the 64-bit
	  equivalents of ll and sc.  Say Y here for better performance, N if
	  you don't know.  You must say Y here for multiprocessor machines.

config CPU_HAS_WB
	bool "Writeback Buffer available" if CPU_ADVANCED
	default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION
	help
	  Say N here for slightly better performance.  You must say Y here for
	  machines which require flushing of write buffers in software.  Saying
	  Y is the safe option; N may result in kernel malfunction and crashes.

config CPU_HAS_SYNC
	bool
	depends on !CPU_R3000
	default y

#
# - Highmem only makes sense for the 32-bit kernel.
# - The current highmem code will only work properly on physically indexed
#   caches such as R3000, SB1, R7000 or those that look like they're virtually
#   indexed such as R4000/R4400 SC and MC versions or R10000.  So for the
#   moment we protect the user and offer the highmem option only on machines
#   where it's known to be safe.  This will not offer highmem on a few systems
#   such as MIPS32 and MIPS64 CPUs which may have virtual and physically
#   indexed CPUs but we're playing safe.
# - We should not offer highmem for system of which we already know that they
#   don't have memory configurations that could gain from highmem support in
#   the kernel because they don't support configurations with RAM at physical
#   addresses > 0x20000000.
#
config HIGHMEM
	bool "High Memory Support"
	depends on MIPS32 && (CPU_R3000 || CPU_SB1 || CPU_R7000 || CPU_RM9000 || CPU_R10000) && !(MACH_DECSTATION || MOMENCO_JAGUAR_ATX)

config SMP
	bool "Multi-Processing support"
	depends on CPU_RM9000 || (SIBYTE_SB1250 && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_BCM7400
	---help---
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, like most personal computers, say N. If
	  you have a system with more than one CPU, say Y.

	  If you say N here, the kernel will run on single and multiprocessor
	  machines, but will use only one CPU of a multiprocessor machine. If
	  you say Y here, the kernel will run on many, but not all,
	  singleprocessor machines. On a singleprocessor machine, the kernel
	  will run faster if you say N here.

	  People using multiprocessor machines who say Y here should also say
	  Y to "Enhanced Real Time Clock Support", below.

	  See also the <file:Documentation/smp.txt> and the SMP-HOWTO
	  available at <http://www.tldp.org/docs.html#howto>.

	  If you don't know what to do here, say N.

config NR_CPUS
	int "Maximum number of CPUs (2-64)"
	range 2 64
	depends on SMP
	default "64" if SGI_IP27
	default "2"
	help
	  This allows you to specify the maximum number of CPUs which this
	  kernel will support.  The maximum supported value is 32 for 32-bit
	  kernel and 64 for 64-bit kernels; the minimum value which makes
	  sense is 2.

	  This is purely to save memory - each supported CPU adds
	  approximately eight kilobytes to the kernel image.

config PREEMPT
	bool "Preemptible Kernel"
	help
	  This option reduces the latency of the kernel when reacting to
	  real-time or interactive events by allowing a low priority process to
	  be preempted even if it is in kernel mode executing a system call.
	  This allows applications to run more reliably even when the system is
	  under load.

config PREEMPT_BKL
	bool "Preempt The Big Kernel Lock"
	depends on PREEMPT
	default y
	help
	  This option reduces the latency of the kernel by making the
	  big kernel lock preemptible.

	  Say Y here if you are building a kernel for a desktop system.
	  Say N if you are unsure.

config RTC_DS1742
	bool "DS1742 BRAM/RTC support"
	depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927

config MIPS_INSANE_LARGE
	bool "Support for large 64-bit configurations"
	depends on CPU_R10000 && MIPS64
	help
	  MIPS R10000 does support a 44 bit / 16TB address space as opposed to
	  previous 64-bit processors which only supported 40 bit / 1TB. If you
	  need processes of more than 1TB virtual address space, say Y here.
	  This will result in additional memory usage, so it is not
	  recommended for normal users.

endmenu

config RWSEM_GENERIC_SPINLOCK
	bool
	default y

menu "Bus options (PCI, PCMCIA, EISA, ISA, TC)"

config HW_HAS_EISA
	bool
config HW_HAS_PCI
	bool

config PCI
	bool "Support for PCI controller"
	depends on HW_HAS_PCI
	help
	  Find out whether you have a PCI motherboard. PCI is the name of a
	  bus system, i.e. the way the CPU talks to the other stuff inside
	  your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
	  say Y, otherwise N.

	  The PCI-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>, contains valuable
	  information about which PCI hardware does work under Linux and which
	  doesn't.

config PCI_DOMAINS
	bool
	depends on PCI

source "drivers/pci/Kconfig"

#
# ISA support is now enabled via select.  Too many systems still have the one
# or other ISA chip on the board that users don't know about so don't expect
# users to choose the right thing ...
#
config ISA
	bool

config EISA
	bool "EISA support"
	depends on HW_HAS_EISA
	select ISA
	---help---
	  The Extended Industry Standard Architecture (EISA) bus was
	  developed as an open alternative to the IBM MicroChannel bus.

	  The EISA bus provided some of the features of the IBM MicroChannel
	  bus while maintaining backward compatibility with cards made for
	  the older ISA bus.  The EISA bus saw limited use between 1988 and
	  1995 when it was made obsolete by the PCI bus.

	  Say Y here if you are building a kernel for an EISA-based machine.

	  Otherwise, say N.

source "drivers/eisa/Kconfig"

config TC
	bool "TURBOchannel support"
	depends on MACH_DECSTATION
	help
	  TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
	  processors.  Documentation on writing device drivers for TurboChannel
	  is available at:
	  <http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.

#config ACCESSBUS
#	bool "Access.Bus support"
#	depends on TC

config MMU
	bool
	default y

source "drivers/pcmcia/Kconfig"

source "drivers/pci/hotplug/Kconfig"

endmenu

menu "Executable file formats"

source "fs/Kconfig.binfmt"

config TRAD_SIGNALS
	bool

config BUILD_ELF64
	bool "Use 64-bit ELF format for building"
	depends on MIPS64
	help
	  A 64-bit kernel is usually built using the 64-bit ELF binary object
	  format as it's one that allows arbitrary 64-bit constructs.  For
	  kernels that are loaded within the KSEG compatibility segments the
	  32-bit ELF format can optionally be used resulting in a somewhat
	  smaller binary, but this option is not explicitly supported by the
	  toolchain and since binutils 2.14 it does not even work at all.

	  Say Y to use the 64-bit format or N to use the 32-bit one.

	  If unsure say Y.

config BINFMT_IRIX
	bool "Include IRIX binary compatibility"
	depends on CPU_BIG_ENDIAN && MIPS32 && BROKEN

config MIPS32_COMPAT
	bool "Kernel support for Linux/MIPS 32-bit binary compatibility"
	depends on MIPS64
	help
	  Select this option if you want Linux/MIPS 32-bit binary
	  compatibility. Since all software available for Linux/MIPS is
	  currently 32-bit you should say Y here.

config COMPAT
	bool
	depends on MIPS32_COMPAT
	default y

config MIPS32_O32
	bool "Kernel support for o32 binaries"
	depends on MIPS32_COMPAT
	help
	  Select this option if you want to run o32 binaries.  These are pure
	  32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
	  existing binaries are in this format.

	  If unsure, say Y.

config MIPS32_N32
	bool "Kernel support for n32 binaries"
	depends on MIPS32_COMPAT
	help
	  Select this option if you want to run n32 binaries.  These are
	  64-bit binaries using 32-bit quantities for addressing and certain
	  data that would normally be 64-bit.  They are used in special
	  cases.

	  If unsure, say N.

config BINFMT_ELF32
	bool
	default y if MIPS32_O32 || MIPS32_N32

config SECCOMP
	bool "Enable seccomp to safely compute untrusted bytecode"
	depends on PROC_FS && BROKEN
	default y
	help
	  This kernel feature is useful for number crunching applications
	  that may need to compute untrusted bytecode during their
	  execution. By using pipes or other transports made available to
	  the process as file descriptors supporting the read/write
	  syscalls, it's possible to isolate those applications in
	  their own address space using seccomp. Once seccomp is
	  enabled via /proc/<pid>/seccomp, it cannot be disabled
	  and the task is only allowed to execute a few safe syscalls
	  defined by each seccomp mode.

	  If unsure, say Y. Only embedded should say N here.

config PM
	bool "Power Management support (EXPERIMENTAL)"
	depends on EXPERIMENTAL && SOC_AU1X00

endmenu



source "drivers/Kconfig"

source "fs/Kconfig"

source "arch/mips/oprofile/Kconfig"

source "arch/mips/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"

#
# Use the generic interrupt handling code in kernel/irq/:
#
config GENERIC_HARDIRQS
	bool
	default y

config GENERIC_IRQ_PROBE
	bool
	default y
