config BAMBOO
	bool "Bamboo"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 440EP
	select PCI
	help
	  This option enables support for the IBM PPC440EP evaluation board.

config EBONY
	bool "Ebony"
	depends on 44x
	default y
	select 440GP
	select PCI
	select OF_RTC
	help
	  This option enables support for the IBM PPC440GP evaluation board.

config SAM440EP
        bool "Sam440ep"
	depends on 44x
        default n
        select 440EP
        select PCI
        help
          This option enables support for the ACube Sam440ep board.

config SEQUOIA
	bool "Sequoia"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 440EPX
	help
	  This option enables support for the AMCC PPC440EPX evaluation board.

config TAISHAN
	bool "Taishan"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 440GX
	select PCI
	help
	  This option enables support for the AMCC PPC440GX "Taishan"
	  evaluation board.

config KATMAI
	bool "Katmai"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 440SPe
	select PCI
	select PPC4xx_PCI_EXPRESS
	help
	  This option enables support for the AMCC PPC440SPe evaluation board.

config RAINIER
	bool "Rainier"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 440GRX
	select PCI
	help
	  This option enables support for the AMCC PPC440GRX evaluation board.

config WARP
	bool "PIKA Warp"
	depends on 44x
	default n
	select 440EP
	help
	  This option enables support for the PIKA Warp(tm) Appliance. The Warp
	  is a small computer replacement with up to 9 ports of FXO/FXS plus VOIP
	  stations and trunks.

	  See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
	  Telephony Developers" link for more information.

config ARCHES
	bool "Arches"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 460EX # Odd since it uses 460GT but the effects are the same
	select PCI
	select PPC4xx_PCI_EXPRESS
	help
	  This option enables support for the AMCC Dual PPC460GT evaluation board.

config CANYONLANDS
	bool "Canyonlands"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 460EX
	select PCI
	select PPC4xx_PCI_EXPRESS
	select IBM_NEW_EMAC_RGMII
	select IBM_NEW_EMAC_ZMII
	help
	  This option enables support for the AMCC PPC460EX evaluation board.

config GLACIER
	bool "Glacier"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 460EX # Odd since it uses 460GT but the effects are the same
	select PCI
	select PPC4xx_PCI_EXPRESS
	select IBM_NEW_EMAC_RGMII
	select IBM_NEW_EMAC_ZMII
	help
	  This option enables support for the AMCC PPC460GT evaluation board.

config REDWOOD
	bool "Redwood"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 460SX
	select PCI
	select PPC4xx_PCI_EXPRESS
	help
	  This option enables support for the AMCC PPC460SX Redwood board.

config EIGER
	bool "Eiger"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 460SX
	select PCI
	select PPC4xx_PCI_EXPRESS
	select IBM_NEW_EMAC_RGMII
	help
	  This option enables support for the AMCC PPC460SX evaluation board.

config YOSEMITE
	bool "Yosemite"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select 440EP
	select PCI
	help
	  This option enables support for the AMCC PPC440EP evaluation board.

#config LUAN
#	bool "Luan"
#	depends on 44x
#	default n
#	select 440SP
#	help
#	  This option enables support for the IBM PPC440SP evaluation board.

#config OCOTEA
#	bool "Ocotea"
#	depends on 44x
#	default n
#	select 440GX
#	help
#	  This option enables support for the IBM PPC440GX evaluation board.

config XILINX_VIRTEX440_GENERIC_BOARD
	bool "Generic Xilinx Virtex 5 FXT board support"
	depends on 44x
	default n
	select XILINX_VIRTEX_5_FXT
	help
	  This option enables generic support for Xilinx Virtex based boards
	  that use a 440 based processor in the Virtex 5 FXT FPGA architecture.

	  The generic virtex board support matches any device tree which
	  specifies 'xlnx,virtex440' in its compatible field.  This includes
	  the Xilinx ML5xx reference designs using the powerpc core.

	  Most Virtex 5 designs should use this unless it needs to do some
	  special configuration at board probe time.

config XILINX_ML510
	bool "Xilinx ML510 extra support"
	depends on XILINX_VIRTEX440_GENERIC_BOARD
	select PPC_PCI_CHOICE
	select XILINX_PCI if PCI
	select PPC_INDIRECT_PCI if PCI
	select PPC_I8259 if PCI
	help
	  This option enables extra support for features on the Xilinx ML510
	  board.  The ML510 has a PCI bus with ALI south bridge.

config PPC44x_SIMPLE
	bool "Simple PowerPC 44x board support"
	depends on 44x
	default n
	help
	  This option enables the simple PowerPC 44x platform support.

config PPC4xx_GPIO
	bool "PPC4xx GPIO support"
	depends on 44x
	select ARCH_REQUIRE_GPIOLIB
	select GENERIC_GPIO
	help
	  Enable gpiolib support for ppc440 based boards

# 44x specific CPU modules, selected based on the board above.
config 440EP
	bool
	select PPC_FPU
	select IBM440EP_ERR42
	select IBM_NEW_EMAC_ZMII
	select USB_ARCH_HAS_OHCI

config 440EPX
	bool
	select PPC_FPU
	select IBM_NEW_EMAC_EMAC4
	select IBM_NEW_EMAC_RGMII
	select IBM_NEW_EMAC_ZMII

config 440GRX
	bool
	select IBM_NEW_EMAC_EMAC4
	select IBM_NEW_EMAC_RGMII
	select IBM_NEW_EMAC_ZMII

config 440GP
	bool
	select IBM_NEW_EMAC_ZMII

config 440GX
	bool
	select IBM_NEW_EMAC_EMAC4
	select IBM_NEW_EMAC_RGMII
	select IBM_NEW_EMAC_ZMII #test only
	select IBM_NEW_EMAC_TAH  #test only

config 440SP
	bool

config 440SPe
	bool
	select IBM_NEW_EMAC_EMAC4

config 460EX
	bool
	select PPC_FPU
	select IBM_NEW_EMAC_EMAC4
	select IBM_NEW_EMAC_TAH

config 460SX
	bool
	select PPC_FPU
	select IBM_NEW_EMAC_EMAC4
	select IBM_NEW_EMAC_RGMII
	select IBM_NEW_EMAC_ZMII
	select IBM_NEW_EMAC_TAH

# 44x errata/workaround config symbols, selected by the CPU models above
config IBM440EP_ERR42
	bool

# Xilinx specific config options.
config XILINX_VIRTEX
	bool
	select DEFAULT_UIMAGE

# Xilinx Virtex 5 FXT FPGA architecture, selected by a Xilinx board above
config XILINX_VIRTEX_5_FXT
	bool
	select XILINX_VIRTEX

