choice
	prompt "Machine type"
	depends on MACH_VR41XX
	default TANBAC_TB022X

config CASIO_E55
	bool "CASIO CASSIOPEIA E-10/15/55/65"
	select CEVT_R4K
	select CSRC_R4K
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select ISA
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN

config IBM_WORKPAD
	bool "IBM WorkPad z50"
	select CEVT_R4K
	select CSRC_R4K
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select ISA
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN

config TANBAC_TB022X
	bool "TANBAC VR4131 multichip module and TANBAC VR4131DIMM"
	select CEVT_R4K
	select CSRC_R4K
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select HW_HAS_PCI
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN
	help
	  The TANBAC VR4131 multichip module(TB0225) and
	  the TANBAC VR4131DIMM(TB0229) are MIPS-based platforms
	  manufactured by TANBAC.
	  Please refer to <http://www.tanbac.co.jp/>
	  about VR4131 multichip module and VR4131DIMM.

config VICTOR_MPC30X
	bool "Victor MP-C303/304"
	select CEVT_R4K
	select CSRC_R4K
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select HW_HAS_PCI
	select PCI_VR41XX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN

config ZAO_CAPCELLA
	bool "ZAO Networks Capcella"
	select CEVT_R4K
	select CSRC_R4K
	select DMA_NONCOHERENT
	select IRQ_MIPS_CPU
	select HW_HAS_PCI
	select PCI_VR41XX
	select SYS_SUPPORTS_32BIT_KERNEL
	select SYS_SUPPORTS_LITTLE_ENDIAN

endchoice

choice
	prompt "Base board type"
	depends on TANBAC_TB022X
	default TANBAC_TB0287

config TANBAC_TB0219
	bool "TANBAC DIMM Evaluation Kit(TB0219)"
	select GPIO_VR41XX
	select PCI_VR41XX
	help
	  The TANBAC DIMM Evaluation Kit(TB0219) is a MIPS-based platform
	  manufactured by TANBAC.
	  Please refer to <http://www.tanbac.co.jp/> about DIMM Evaluation Kit.

config TANBAC_TB0226
	bool "TANBAC Mbase(TB0226)"
	select GPIO_VR41XX
	select PCI_VR41XX
	help
	  The TANBAC Mbase(TB0226) is a MIPS-based platform
	  manufactured by TANBAC.
	  Please refer to <http://www.tanbac.co.jp/> about Mbase.

config TANBAC_TB0287
	bool "TANBAC Mini-ITX DIMM base(TB0287)"
	select PCI_VR41XX
	help
	  The TANBAC Mini-ITX DIMM base(TB0287) is a MIPS-based platform
	  manufactured by TANBAC.
	  Please refer to <http://www.tanbac.co.jp/> about Mini-ITX DIMM base.

endchoice

config PCI_VR41XX
	bool "Add PCI control unit support of NEC VR4100 series"
	depends on MACH_VR41XX && HW_HAS_PCI
	default y
	select PCI
