config BAMBOO
	bool "Bamboo"
	depends on 44x
	default n
	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 SEQUOIA
	bool "Sequoia"
	depends on 44x
	default n
	select 440EPX
	help
	  This option enables support for the AMCC PPC440EPX evaluation board.

config TAISHAN
	bool "Taishan"
	depends on 44x
	default n
	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 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 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 CANYONLANDS
	bool "Canyonlands"
	depends on 44x
	default n
	select 460EX
	select PCI
	select PPC4xx_PCI_EXPRESS
	help
	  This option enables support for the AMCC PPC460EX evaluation board.

config YOSEMITE
	bool "Yosemite"
	depends on 44x
	default n
	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.

# 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_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
