config PPC_47x
	bool "Support for 47x variant"
	depends on 44x
	default n
	select MPIC
	help
	  This option enables support for the 47x family of processors and is
	  not currently compatible with other 44x or 46x varients

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 BLUESTONE
	bool "Bluestone"
	depends on 44x
	default n
	select PPC44x_SIMPLE
	select APM821xx
	select IBM_EMAC_RGMII
	help
	  This option enables support for the APM APM821xx 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
	select PCI_MSI
	select PPC4xx_MSI
	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 460EX
	select PCI
	select PPC4xx_PCI_EXPRESS
	select PCI_MSI
	select PPC4xx_MSI
	select IBM_EMAC_RGMII
	select IBM_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_EMAC_RGMII
	select IBM_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
	select PCI_MSI
	select PPC4xx_MSI
	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_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 ISS4xx
	bool "ISS 4xx Simulator"
	depends on (44x || 40x)
	default n
	select 405GP if 40x
	select 440GP if 44x && !PPC_47x
	select PPC_FPU
	select OF_RTC
	help
	  This option enables support for the IBM ISS simulation environment

config CURRITUCK
	bool "IBM Currituck (476fpe) Support"
	depends on PPC_47x
	default n
	select SWIOTLB
	select 476FPE
	select PPC4xx_PCI_EXPRESS
	help
	  This option enables support for the IBM Currituck (476fpe) evaluation board

config ICON
	bool "Icon"
	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 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_EMAC_ZMII
	select USB_ARCH_HAS_OHCI

config 440EPX
	bool
	select PPC_FPU
	select IBM_EMAC_EMAC4
	select IBM_EMAC_RGMII
	select IBM_EMAC_ZMII

config 440GRX
	bool
	select IBM_EMAC_EMAC4
	select IBM_EMAC_RGMII
	select IBM_EMAC_ZMII

config 440GP
	bool
	select IBM_EMAC_ZMII

config 440GX
	bool
	select IBM_EMAC_EMAC4
	select IBM_EMAC_RGMII
	select IBM_EMAC_ZMII #test only
	select IBM_EMAC_TAH  #test only

config 440SP
	bool

config 440SPe
	bool
	select IBM_EMAC_EMAC4

config 460EX
	bool
	select PPC_FPU
	select IBM_EMAC_EMAC4
	select IBM_EMAC_TAH

config 460SX
	bool
	select PPC_FPU
	select IBM_EMAC_EMAC4
	select IBM_EMAC_RGMII
	select IBM_EMAC_ZMII
	select IBM_EMAC_TAH

config 476FPE
	bool
	select PPC_FPU

config APM821xx
	bool
	select PPC_FPU
	select IBM_EMAC_EMAC4
	select IBM_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

