config EMBEDDED6xx
	bool "Embedded 6xx/7xx/7xxx-based boards"
	depends on 6xx && BROKEN_ON_SMP

config LINKSTATION
	bool "Linkstation / Kurobox(HG) from Buffalo"
	depends on EMBEDDED6xx
	select MPIC
	select FSL_SOC
	select PPC_UDBG_16550 if SERIAL_8250
	select DEFAULT_UIMAGE
	select MPC10X_OPENPIC
	select MPC10X_BRIDGE
	help
	  Select LINKSTATION if configuring for one of PPC- (MPC8241)
	  based NAS systems from Buffalo Technology. So far only
	  KuroboxHG has been tested. In the future classical Kurobox,
	  Linkstation-I HD-HLAN and HD-HGLAN versions, and PPC-based
	  Terastation systems should be supported too.

config STORCENTER
	bool "IOMEGA StorCenter"
	depends on EMBEDDED6xx
	select MPIC
	select FSL_SOC
	select PPC_UDBG_16550 if SERIAL_8250
	select MPC10X_OPENPIC
	select MPC10X_BRIDGE
	help
	  Select STORCENTER if configuring for the iomega StorCenter
	  with an 8241 CPU in it.

config MPC7448HPC2
	bool "Freescale MPC7448HPC2(Taiga)"
	depends on EMBEDDED6xx
	select TSI108_BRIDGE
	select DEFAULT_UIMAGE
	select PPC_UDBG_16550
	select TSI108_BRIDGE
	help
	  Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga)
	  platform

config PPC_HOLLY
	bool "PPC750GX/CL with TSI10x bridge (Hickory/Holly)"
	depends on EMBEDDED6xx
	select TSI108_BRIDGE
	select PPC_UDBG_16550
	select TSI108_BRIDGE
	help
	  Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval
	  Board with TSI108/9 bridge (Hickory/Holly)

config PPC_PRPMC2800
	bool "Motorola-PrPMC2800"
	depends on EMBEDDED6xx
	select MV64X60
	select NOT_COHERENT_CACHE
	help
	  This option enables support for the Motorola PrPMC2800 board

config PPC_C2K
	bool "SBS/GEFanuc C2K board"
	depends on EMBEDDED6xx
	select MV64X60
	select NOT_COHERENT_CACHE
	select MTD_CFI_I4
	help
	  This option enables support for the GE Fanuc C2K board (formerly
	  an SBS board).

config TSI108_BRIDGE
	bool
	select PCI
	select MPIC
	select MPIC_WEIRD

config MPC10X_BRIDGE
	bool
	select PPC_INDIRECT_PCI

config MV64X60
	bool
	select PPC_INDIRECT_PCI
	select CHECK_CACHE_COHERENCY

config MPC10X_OPENPIC
	bool

config GAMECUBE_COMMON
	bool

config USBGECKO_UDBG
	bool "USB Gecko udbg console for the Nintendo GameCube/Wii"
	depends on GAMECUBE_COMMON
	help
	  If you say yes to this option, support will be included for the
	  USB Gecko adapter as an udbg console.
	  The USB Gecko is a EXI to USB Serial converter that can be plugged
	  into a memcard slot in the Nintendo GameCube/Wii.

	  This driver bypasses the EXI layer completely.

	  If in doubt, say N here.

config GAMECUBE
	bool "Nintendo-GameCube"
	depends on EMBEDDED6xx
	select GAMECUBE_COMMON
	help
	  Select GAMECUBE if configuring for the Nintendo GameCube.
	  More information at: <http://gc-linux.sourceforge.net/>

config WII
	bool "Nintendo-Wii"
	depends on EMBEDDED6xx
	select GAMECUBE_COMMON
	help
	  Select WII if configuring for the Nintendo Wii.
	  More information at: <http://gc-linux.sourceforge.net/>

