Commit f6557331 authored by David Gibson's avatar David Gibson Committed by Paul Mackerras

[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: default avatarDavid Gibson <dwg@au1.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent e6349a95
...@@ -3,278 +3,206 @@ config 4xx ...@@ -3,278 +3,206 @@ config 4xx
depends on 40x || 44x depends on 40x || 44x
default y default y
config WANT_EARLY_SERIAL config BOOKE
bool 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 depends on 44x
default EBONY default y
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 menu "AMCC 40x options"
depends on 40x
config EP405PC #config BUBINGA
bool "EP405PC Support" # bool "Bubinga"
depends on EP405 # depends on 40x
# default n
# select 405EP
# help
# This option enables support for the IBM 405EP evaluation board.
#config CPCI405
# bool "CPCI405"
# depends on 40x
# default n
# select 405GP
# help
# This option enables support for the CPCI405 board.
#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
# It's often necessary to know the specific 4xx processor type. # 40x specific CPU modules, selected based on the board above.
# Fortunately, it is impled (so far) from the board type, so we
# don't need to ask more redundant questions.
config NP405H config NP405H
bool bool
depends on ASH #depends on ASH
default y
config 440EP # OAK doesn't exist but wanted to keep this around for any future 403GCX boards
config 403GCX
bool bool
depends on BAMBOO #depends on OAK
select PPC_FPU select IBM405_ERR51
default y
config 440GP config 405GP
bool bool
depends on EBONY select IBM405_ERR77
default y select IBM405_ERR51
config 440GX config 405EP
bool bool
depends on OCOTEA
default y
config 440SP config 405GPR
bool bool
depends on LUAN
default y
config 440 config VIRTEX_II_PRO
bool bool
depends on 440GP || 440SP || 440EP select IBM405_ERR77
default y select IBM405_ERR51
config 440A config STB03xxx
bool bool
depends on 440GX select IBM405_ERR77
default y select IBM405_ERR51
config IBM440EP_ERR42 # 40x errata/workaround config symbols, selected by the CPU models above
bool
depends on 440EP
default y
# All 405-based cores up until the 405GPR and 405EP have this errata. # All 405-based cores up until the 405GPR and 405EP have this errata.
config IBM405_ERR77 config IBM405_ERR77
bool bool
depends on 40x && !403GCX && !405GPR && !405EP
default y
# All 40x-based cores, up until the 405GPR and 405EP have this errata. # All 40x-based cores, up until the 405GPR and 405EP have this errata.
config IBM405_ERR51 config IBM405_ERR51
bool bool
depends on 40x && !405GPR && !405EP
default y
config BOOKE menu "AMCC 44x options"
bool
depends on 44x 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
config XILINX_OCP #config BAMBOO
bool # bool "Bamboo"
depends on XILINX_ML300 # depends on 44x
default y # default n
# select 440EP
# help
# This option enables support for the IBM PPC440EP evaluation board.
config IBM_EMAC4 config EBONY
bool bool "Ebony"
depends on 440GX || 440SP depends on 44x
default y
config BIOS_FIXUP
bool
depends on BUBINGA || EP405 || SYCAMORE || WALNUT
default y
# 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
config 405GP
bool
depends on CPCI405 || EP405 || WALNUT
default y
config 405GPR
bool
depends on SYCAMORE
default y default y
select 440GP
help
This option enables support for the IBM PPC440GP evaluation board.
config VIRTEX_II_PRO #config LUAN
bool # bool "Luan"
depends on XILINX_ML300 # depends on 44x
default y # 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 STB03xxx endmenu
bool
depends on REDWOOD_5 || REDWOOD_6
default y
config EMBEDDEDBOOT # 44x specific CPU modules, selected based on the board above.
config 440EP
bool bool
depends on EP405 || XILINX_ML300 select PPC_FPU
default y select IBM440EP_ERR42
config IBM_OPENBIOS config 440GP
bool bool
depends on ASH || BUBINGA || REDWOOD_5 || REDWOOD_6 || SYCAMORE || WALNUT select IBM_NEW_EMAC_ZMII
default y
config PPC4xx_DMA config 440GX
bool "PPC4xx DMA controller support"
depends on 4xx
config PPC4xx_EDMA
bool bool
depends on !STB03xxx && PPC4xx_DMA
default y
config PPC_GEN550 config 440SP
bool 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 config 440A
bool "UART1"
endchoice
config SERIAL_SICC
bool "SICC Serial port support"
depends on STB03xxx
config UART1_DFLT_CONSOLE
bool bool
depends on SERIAL_SICC && UART0_TTYS1 depends on 440GX
default y default y
config SERIAL_SICC_CONSOLE # 44x errata/workaround config symbols, selected by the CPU models above
config IBM440EP_ERR42
bool bool
depends on SERIAL_SICC && UART0_TTYS1
default y
endmenu
#config XILINX_OCP
# bool
# depends on XILINX_ML300
# default y
menu "IBM 40x options" #config BIOS_FIXUP
depends on 40x # bool
# depends on BUBINGA || EP405 || SYCAMORE || WALNUT
config SERIAL_SICC # default y
bool "SICC Serial port"
depends on STB03xxx
config UART1_DFLT_CONSOLE
bool
depends on SERIAL_SICC && UART0_TTYS1
default y
config SERIAL_SICC_CONSOLE #config PPC4xx_DMA
bool # bool "PPC4xx DMA controller support"
depends on SERIAL_SICC && UART0_TTYS1 # depends on 4xx
default y
endmenu #config PPC4xx_EDMA
# bool
# depends on !STB03xxx && PPC4xx_DMA
# default y
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment