# au1000-style gpio and interrupt controllers
config ALCHEMY_GPIOINT_AU1000
	bool

# au1300-style GPIO/INT controller
config ALCHEMY_GPIOINT_AU1300
	bool

# select this in your board config if you don't want to use the gpio
# namespace as documented in the manuals.  In this case however you need
# to create the necessary gpio_* functions in your board code/headers!
# see arch/mips/include/asm/mach-au1x00/gpio.h   for more information.
config ALCHEMY_GPIO_INDIRECT
	def_bool n

choice
	prompt "Machine type"
	depends on MIPS_ALCHEMY
	default MIPS_DB1XXX

config MIPS_MTX1
	bool "4G Systems MTX-1 board"
	select HW_HAS_PCI
	select ALCHEMY_GPIOINT_AU1000
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

config MIPS_DB1XXX
	bool "Alchemy DB1XXX / PB1XXX boards"
	select ARCH_REQUIRE_GPIOLIB
	select HW_HAS_PCI
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK
	help
	  Select this option if you have one of the following Alchemy
	  development boards:  DB1000 DB1500 DB1100 DB1550 DB1200 DB1300
			       PB1500 PB1100 PB1550 PB1200
	  Board type is autodetected during boot.

config MIPS_XXS1500
	bool "MyCable XXS1500 board"
	select ALCHEMY_GPIOINT_AU1000
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

config MIPS_GPR
	bool "Trapeze ITS GPR board"
	select ALCHEMY_GPIOINT_AU1000
	select HW_HAS_PCI
	select SYS_SUPPORTS_LITTLE_ENDIAN
	select SYS_HAS_EARLY_PRINTK

endchoice
