浏览代码

[PATCH] powerpc: Updated Kconfig and Makefiles for 83xx support

Updated Kconfig & Makefiles in prep for adding support for the Freescale
MPC83xx family of processors to arch/powerpc.  Moved around some config
options that are more globally applicable to other PowerPC processors.
Added a temporary config option (83xx) to match existing arch/ppc support
for the MPC83xx line.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Kumar Gala 19 年之前
父节点
当前提交
08264cbc9f

+ 49 - 34
arch/powerpc/Kconfig

@@ -71,15 +71,39 @@ config ARCH_MAY_HAVE_PC_FDC
 	bool
 	bool
 	default y
 	default y
 
 
+config PPC_OF
+	def_bool y
+
+config PPC_UDBG_16550
+	bool
+	default n
+
+config CRASH_DUMP
+	bool "kernel crash dumps (EXPERIMENTAL)"
+	depends on PPC_MULTIPLATFORM
+	depends on EXPERIMENTAL
+	help
+	  Build a kernel suitable for use as a kdump capture kernel.
+	  The kernel will be linked at a different address than normal, and
+	  so can only be used for Kdump.
+
+	  Don't change this unless you know what you are doing.
+
+config GENERIC_TBSYNC
+	bool
+	default y if PPC32 && SMP
+	default n
+
 menu "Processor support"
 menu "Processor support"
 choice
 choice
 	prompt "Processor Type"
 	prompt "Processor Type"
 	depends on PPC32
 	depends on PPC32
 	default 6xx
 	default 6xx
 
 
-config 6xx
+config CLASSIC32
 	bool "6xx/7xx/74xx"
 	bool "6xx/7xx/74xx"
 	select PPC_FPU
 	select PPC_FPU
+	select 6xx
 	help
 	help
 	  There are four families of PowerPC chips supported.  The more common
 	  There are four families of PowerPC chips supported.  The more common
 	  types (601, 603, 604, 740, 750, 7400), the Motorola embedded
 	  types (601, 603, 604, 740, 750, 7400), the Motorola embedded
@@ -93,12 +117,20 @@ config 6xx
 
 
 config PPC_52xx
 config PPC_52xx
 	bool "Freescale 52xx"
 	bool "Freescale 52xx"
+	select 6xx
+	select PPC_FPU
 	
 	
 config PPC_82xx
 config PPC_82xx
 	bool "Freescale 82xx"
 	bool "Freescale 82xx"
+	select 6xx
+	select PPC_FPU
 
 
 config PPC_83xx
 config PPC_83xx
 	bool "Freescale 83xx"
 	bool "Freescale 83xx"
+	select 6xx
+	select FSL_SOC
+	select 83xx
+	select PPC_FPU
 
 
 config 40x
 config 40x
 	bool "AMCC 40x"
 	bool "AMCC 40x"
@@ -134,6 +166,13 @@ config POWER4
 	depends on PPC64
 	depends on PPC64
 	def_bool y
 	def_bool y
 
 
+config 6xx
+	bool
+
+# this is temp to handle compat with arch=ppc
+config 83xx
+	bool
+
 config PPC_FPU
 config PPC_FPU
 	bool
 	bool
 	default y if PPC64
 	default y if PPC64
@@ -166,7 +205,7 @@ config PHYS_64BIT
 
 
 config ALTIVEC
 config ALTIVEC
 	bool "AltiVec Support"
 	bool "AltiVec Support"
-	depends on 6xx || POWER4
+	depends on CLASSIC32 || POWER4
 	---help---
 	---help---
 	  This option enables kernel support for the Altivec extensions to the
 	  This option enables kernel support for the Altivec extensions to the
 	  PowerPC processor. The kernel currently supports saving and restoring
 	  PowerPC processor. The kernel currently supports saving and restoring
@@ -239,7 +278,7 @@ endmenu
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 menu "Platform support"
 menu "Platform support"
-	depends on PPC64 || 6xx
+	depends on PPC64 || CLASSIC32
 
 
 choice
 choice
 	prompt "Machine type"
 	prompt "Machine type"
@@ -330,9 +369,6 @@ config PPC_CELL
 	select MMIO_NVRAM
 	select MMIO_NVRAM
 	select PPC_UDBG_16550
 	select PPC_UDBG_16550
 
 
-config PPC_OF
-	def_bool y
-
 config XICS
 config XICS
 	depends on PPC_PSERIES
 	depends on PPC_PSERIES
 	bool
 	bool
@@ -375,26 +411,11 @@ config MPIC_BROKEN_U3
 	depends on PPC_MAPLE
 	depends on PPC_MAPLE
 	default y
 	default y
 
 
-config PPC_UDBG_16550
-	bool
-	default n
-
 config CELL_IIC
 config CELL_IIC
 	depends on PPC_CELL
 	depends on PPC_CELL
 	bool
 	bool
 	default y
 	default y
 
 
-config CRASH_DUMP
-	bool "kernel crash dumps (EXPERIMENTAL)"
-	depends on PPC_MULTIPLATFORM
-	depends on EXPERIMENTAL
-	help
-	  Build a kernel suitable for use as a kdump capture kernel.
-	  The kernel will be linked at a different address than normal, and
-	  so can only be used for Kdump.
-
-	  Don't change this unless you know what you are doing.
-
 config IBMVIO
 config IBMVIO
 	depends on PPC_PSERIES || PPC_ISERIES
 	depends on PPC_PSERIES || PPC_ISERIES
 	bool
 	bool
@@ -410,11 +431,6 @@ config PPC_MPC106
 	bool
 	bool
 	default n
 	default n
 
 
-config GENERIC_TBSYNC
-	bool
-	default y if PPC32 && SMP
-	default n
-
 source "drivers/cpufreq/Kconfig"
 source "drivers/cpufreq/Kconfig"
 
 
 config CPU_FREQ_PMAC
 config CPU_FREQ_PMAC
@@ -495,6 +511,7 @@ endmenu
 
 
 source arch/powerpc/platforms/embedded6xx/Kconfig
 source arch/powerpc/platforms/embedded6xx/Kconfig
 source arch/powerpc/platforms/4xx/Kconfig
 source arch/powerpc/platforms/4xx/Kconfig
+source arch/powerpc/platforms/83xx/Kconfig
 source arch/powerpc/platforms/85xx/Kconfig
 source arch/powerpc/platforms/85xx/Kconfig
 source arch/powerpc/platforms/8xx/Kconfig
 source arch/powerpc/platforms/8xx/Kconfig
 source arch/powerpc/platforms/cell/Kconfig
 source arch/powerpc/platforms/cell/Kconfig
@@ -718,7 +735,7 @@ config PPC_I8259
 config PPC_INDIRECT_PCI
 config PPC_INDIRECT_PCI
 	bool
 	bool
 	depends on PCI
 	depends on PCI
-	default y if 40x || 44x || 85xx || 83xx
+	default y if 40x || 44x || 85xx
 	default n
 	default n
 
 
 config EISA
 config EISA
@@ -727,13 +744,16 @@ config EISA
 config SBUS
 config SBUS
 	bool
 	bool
 
 
+config FSL_SOC
+	bool
+
 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
 # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
 config MCA
 config MCA
 	bool
 	bool
 
 
 config PCI
 config PCI
-	bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
-	default y if !40x && !CPM2 && !8xx && !APUS && !83xx && !85xx
+	bool "PCI support" if 40x || CPM2 || PPC_83xx || 85xx || PPC_MPC52xx || (EMBEDDED && PPC_ISERIES)
+	default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx && !85xx
 	default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
 	default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
 	default PCI_QSPAN if !4xx && !CPM2 && 8xx
 	default PCI_QSPAN if !4xx && !CPM2 && 8xx
 	help
 	help
@@ -746,11 +766,6 @@ config PCI_DOMAINS
 	bool
 	bool
 	default PCI
 	default PCI
 
 
-config MPC83xx_PCI2
-	bool "  Supprt for 2nd PCI host controller"
-	depends on PCI && MPC834x
-	default y if MPC834x_SYS
-
 config PCI_QSPAN
 config PCI_QSPAN
 	bool "QSpan PCI"
 	bool "QSpan PCI"
 	depends on !4xx && !CPM2 && 8xx
 	depends on !4xx && !CPM2 && 8xx

+ 26 - 0
arch/powerpc/platforms/83xx/Kconfig

@@ -0,0 +1,26 @@
+menu "Platform support"
+	depends on PPC_83xx
+
+choice
+	prompt "Machine Type"
+	default MPC834x_SYS
+
+config MPC834x_SYS
+	bool "Freescale MPC834x SYS"
+	help
+	  This option enables support for the MPC 834x SYS evaluation board.
+
+	  Be aware that PCI buses can only function when SYS board is plugged
+	  into the PIB (Platform IO Board) board from Freescale which provide
+	  3 PCI slots.  The PIBs PCI initialization is the bootloader's
+	  responsiblilty.
+
+endchoice
+
+config MPC834x
+	bool
+	select PPC_UDBG_16550
+	select PPC_INDIRECT_PCI
+	default y if MPC834x_SYS
+
+endmenu

+ 4 - 0
arch/powerpc/platforms/83xx/Makefile

@@ -0,0 +1,4 @@
+#
+# Makefile for the PowerPC 83xx linux kernel.
+#
+obj-$(CONFIG_MPC834x_SYS)	+= mpc834x_sys.o pci.o

+ 1 - 0
arch/powerpc/platforms/Makefile

@@ -7,6 +7,7 @@ endif
 endif
 endif
 obj-$(CONFIG_PPC_CHRP)		+= chrp/
 obj-$(CONFIG_PPC_CHRP)		+= chrp/
 obj-$(CONFIG_4xx)		+= 4xx/
 obj-$(CONFIG_4xx)		+= 4xx/
+obj-$(CONFIG_PPC_83xx)		+= 83xx/
 obj-$(CONFIG_85xx)		+= 85xx/
 obj-$(CONFIG_85xx)		+= 85xx/
 obj-$(CONFIG_PPC_PSERIES)	+= pseries/
 obj-$(CONFIG_PPC_PSERIES)	+= pseries/
 obj-$(CONFIG_PPC_ISERIES)	+= iseries/
 obj-$(CONFIG_PPC_ISERIES)	+= iseries/

+ 0 - 18
arch/powerpc/platforms/embedded6xx/Kconfig

@@ -144,16 +144,6 @@ config LITE5200
 	  much but it's only been tested on this board version. I think this
 	  much but it's only been tested on this board version. I think this
 	  board is also known as IceCube.
 	  board is also known as IceCube.
 
 
-config MPC834x_SYS
-	bool "Freescale MPC834x SYS"
-	help
-	  This option enables support for the MPC 834x SYS evaluation board.
-
-	  Be aware that PCI buses can only function when SYS board is plugged
-	  into the PIB (Platform IO Board) board from Freescale which provide
-	  3 PCI slots.  The PIBs PCI initialization is the bootloader's
-	  responsiblilty.
-
 config EV64360
 config EV64360
 	bool "Marvell-EV64360BP"
 	bool "Marvell-EV64360BP"
 	help
 	help
@@ -192,14 +182,6 @@ config 8272
 	  The MPC8272 CPM has a different internal dpram setup than other CPM2
 	  The MPC8272 CPM has a different internal dpram setup than other CPM2
 	  devices
 	  devices
 
 
-config 83xx
-	bool
-	default y if MPC834x_SYS
-
-config MPC834x
-	bool
-	default y if MPC834x_SYS
-
 config CPM2
 config CPM2
 	bool
 	bool
 	depends on 8260 || MPC8560 || MPC8555
 	depends on 8260 || MPC8560 || MPC8555

+ 1 - 1
arch/powerpc/sysdev/Makefile

@@ -6,4 +6,4 @@ obj-$(CONFIG_BOOKE)		+= dcr.o
 obj-$(CONFIG_40x)		+= dcr.o
 obj-$(CONFIG_40x)		+= dcr.o
 obj-$(CONFIG_U3_DART)		+= dart_iommu.o
 obj-$(CONFIG_U3_DART)		+= dart_iommu.o
 obj-$(CONFIG_MMIO_NVRAM)	+= mmio_nvram.o
 obj-$(CONFIG_MMIO_NVRAM)	+= mmio_nvram.o
-obj-$(CONFIG_83xx)		+= ipic.o
+obj-$(CONFIG_PPC_83xx)		+= ipic.o

+ 4 - 0
arch/ppc/Kconfig

@@ -743,6 +743,10 @@ config MPC834x
 	bool
 	bool
 	default y if MPC834x_SYS
 	default y if MPC834x_SYS
 
 
+config PPC_83xx
+	bool
+	default y if 83xx
+
 config CPM1
 config CPM1
 	bool
 	bool
 	depends on 8xx
 	depends on 8xx