[POWERPC] Re-organize Kconfig code for 4xx in arch/powerpc

Now that we always take a device tree in arch/powerpc, there's no good
reason not to allow a single kernel to support multiple embedded 4xx
boards - the correct platform code can be selected based on the device
tree information.

Therefore, this patch re-arranges the 4xx Kconfig code to allow this.
In addition we:
	- use "select" instead of depends to configure the correct
	  config options for specific 4xx CPUs and workarounds, which
	  makes the information about specific boards and CPUs less
	  scattered.
	- Some old, unused (in arch/powerpc) config options are
	  removed: WANT_EARLY_SERIAL, IBM_OCP, etc.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
David Gibson 2007-04-18 16:36:26 +10:00 committed by Paul Mackerras
parent e6349a958b
commit f65573314e
1 changed files with 163 additions and 235 deletions

View File

@ -3,278 +3,206 @@ config 4xx
depends on 40x || 44x
default y
config WANT_EARLY_SERIAL
bool
select SERIAL_8250
default n
menu "AMCC 4xx options"
depends on 4xx
choice
prompt "Machine Type"
depends on 40x
default WALNUT
config BUBINGA
bool "Bubinga"
select WANT_EARLY_SERIAL
help
This option enables support for the IBM 405EP evaluation board.
config CPCI405
bool "CPCI405"
help
This option enables support for the CPCI405 board.
config EP405
bool "EP405/EP405PC"
help
This option enables support for the EP405/EP405PC boards.
config REDWOOD_5
bool "Redwood-5"
help
This option enables support for the IBM STB04 evaluation board.
config REDWOOD_6
bool "Redwood-6"
help
This option enables support for the IBM STBx25xx evaluation board.
config SYCAMORE
bool "Sycamore"
help
This option enables support for the IBM PPC405GPr evaluation board.
config WALNUT
bool "Walnut"
help
This option enables support for the IBM PPC405GP evaluation board.
config XILINX_ML300
bool "Xilinx-ML300"
help
This option enables support for the Xilinx ML300 evaluation board.
endchoice
choice
prompt "Machine Type"
depends on 44x
default EBONY
config BAMBOO
bool "Bamboo"
select WANT_EARLY_SERIAL
help
This option enables support for the IBM PPC440EP evaluation board.
config EBONY
bool "Ebony"
select WANT_EARLY_SERIAL
help
This option enables support for the IBM PPC440GP evaluation board.
config LUAN
bool "Luan"
select WANT_EARLY_SERIAL
help
This option enables support for the IBM PPC440SP evaluation board.
config OCOTEA
bool "Ocotea"
select WANT_EARLY_SERIAL
help
This option enables support for the IBM PPC440GX evaluation board.
endchoice
config EP405PC
bool "EP405PC Support"
depends on EP405
# It's often necessary to know the specific 4xx processor type.
# Fortunately, it is impled (so far) from the board type, so we
# don't need to ask more redundant questions.
config NP405H
bool
depends on ASH
default y
config 440EP
bool
depends on BAMBOO
select PPC_FPU
default y
config 440GP
bool
depends on EBONY
default y
config 440GX
bool
depends on OCOTEA
default y
config 440SP
bool
depends on LUAN
default y
config 440
bool
depends on 440GP || 440SP || 440EP
default y
config 440A
bool
depends on 440GX
default y
config IBM440EP_ERR42
bool
depends on 440EP
default y
# All 405-based cores up until the 405GPR and 405EP have this errata.
config IBM405_ERR77
bool
depends on 40x && !403GCX && !405GPR && !405EP
default y
# All 40x-based cores, up until the 405GPR and 405EP have this errata.
config IBM405_ERR51
bool
depends on 40x && !405GPR && !405EP
default y
config BOOKE
bool
depends on 44x
default y
config IBM_OCP
bool
depends on ASH || BAMBOO || BUBINGA || CPCI405 || EBONY || EP405 || LUAN || OCOTEA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT
default y
menu "AMCC 40x options"
depends on 40x
config XILINX_OCP
bool
depends on XILINX_ML300
default y
#config BUBINGA
# bool "Bubinga"
# depends on 40x
# default n
# select 405EP
# help
# This option enables support for the IBM 405EP evaluation board.
config IBM_EMAC4
bool
depends on 440GX || 440SP
default y
#config CPCI405
# bool "CPCI405"
# depends on 40x
# default n
# select 405GP
# help
# This option enables support for the CPCI405 board.
config BIOS_FIXUP
#config EP405
# bool "EP405/EP405PC"
# depends on 40x
# default n
# select 405GP
# help
# This option enables support for the EP405/EP405PC boards.
#config EP405PC
# bool "EP405PC Support"
# depends on EP405
# default y
# help
# This option enables support for the extra features of the EP405PC board.
#config REDWOOD_5
# bool "Redwood-5"
# depends on 40x
# default n
# select STB03xxx
# help
# This option enables support for the IBM STB04 evaluation board.
#config REDWOOD_6
# bool "Redwood-6"
# depends on 40x
# default n
# select STB03xxx
# help
# This option enables support for the IBM STBx25xx evaluation board.
#config SYCAMORE
# bool "Sycamore"
# depends on 40x
# default n
# select 405GPR
# help
# This option enables support for the IBM PPC405GPr evaluation board.
#config WALNUT
# bool "Walnut"
# depends on 40x
# default y
# select 405GP
# help
# This option enables support for the IBM PPC405GP evaluation board.
#config XILINX_ML300
# bool "Xilinx-ML300"
# depends on 40x
# default y
# select VIRTEX_II_PRO
# help
# This option enables support for the Xilinx ML300 evaluation board.
endmenu
# 40x specific CPU modules, selected based on the board above.
config NP405H
bool
depends on BUBINGA || EP405 || SYCAMORE || WALNUT
default y
#depends on ASH
# OAK doesn't exist but wanted to keep this around for any future 403GCX boards
config 403GCX
bool
depends on OAK
default y
config 405EP
bool
depends on BUBINGA
default y
#depends on OAK
select IBM405_ERR51
config 405GP
bool
depends on CPCI405 || EP405 || WALNUT
default y
select IBM405_ERR77
select IBM405_ERR51
config 405EP
bool
config 405GPR
bool
depends on SYCAMORE
default y
config VIRTEX_II_PRO
bool
depends on XILINX_ML300
default y
select IBM405_ERR77
select IBM405_ERR51
config STB03xxx
bool
depends on REDWOOD_5 || REDWOOD_6
default y
select IBM405_ERR77
select IBM405_ERR51
config EMBEDDEDBOOT
# 40x errata/workaround config symbols, selected by the CPU models above
# All 405-based cores up until the 405GPR and 405EP have this errata.
config IBM405_ERR77
bool
depends on EP405 || XILINX_ML300
default y
config IBM_OPENBIOS
# All 40x-based cores, up until the 405GPR and 405EP have this errata.
config IBM405_ERR51
bool
depends on ASH || BUBINGA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT
menu "AMCC 44x options"
depends on 44x
#config BAMBOO
# bool "Bamboo"
# depends on 44x
# default n
# select 440EP
# help
# This option enables support for the IBM PPC440EP evaluation board.
config EBONY
bool "Ebony"
depends on 44x
default y
select 440GP
help
This option enables support for the IBM PPC440GP evaluation board.
config PPC4xx_DMA
bool "PPC4xx DMA controller support"
depends on 4xx
#config LUAN
# bool "Luan"
# depends on 44x
# default n
# select 440SP
# help
# This option enables support for the IBM PPC440SP evaluation board.
config PPC4xx_EDMA
bool
depends on !STB03xxx && PPC4xx_DMA
default y
#config OCOTEA
# bool "Ocotea"
# depends on 44x
# default n
# select 440GX
# help
# This option enables support for the IBM PPC440GX evaluation board.
config PPC_GEN550
bool
depends on 4xx
default y
choice
prompt "TTYS0 device and default console"
depends on 40x
default UART0_TTYS0
config UART0_TTYS0
bool "UART0"
config UART0_TTYS1
bool "UART1"
endchoice
config SERIAL_SICC
bool "SICC Serial port support"
depends on STB03xxx
config UART1_DFLT_CONSOLE
bool
depends on SERIAL_SICC && UART0_TTYS1
default y
config SERIAL_SICC_CONSOLE
bool
depends on SERIAL_SICC && UART0_TTYS1
default y
endmenu
menu "IBM 40x options"
depends on 40x
config SERIAL_SICC
bool "SICC Serial port"
depends on STB03xxx
config UART1_DFLT_CONSOLE
# 44x specific CPU modules, selected based on the board above.
config 440EP
bool
depends on SERIAL_SICC && UART0_TTYS1
select PPC_FPU
select IBM440EP_ERR42
config 440GP
bool
select IBM_NEW_EMAC_ZMII
config 440GX
bool
config 440SP
bool
config 440A
bool
depends on 440GX
default y
config SERIAL_SICC_CONSOLE
# 44x errata/workaround config symbols, selected by the CPU models above
config IBM440EP_ERR42
bool
depends on SERIAL_SICC && UART0_TTYS1
default y
endmenu
#config XILINX_OCP
# bool
# depends on XILINX_ML300
# default y
#config BIOS_FIXUP
# bool
# depends on BUBINGA || EP405 || SYCAMORE || WALNUT
# default y
#config PPC4xx_DMA
# bool "PPC4xx DMA controller support"
# depends on 4xx
#config PPC4xx_EDMA
# bool
# depends on !STB03xxx && PPC4xx_DMA
# default y