summaryrefslogtreecommitdiff
path: root/arch/powerpc/cpu
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2014-08-11 10:21:03 +0200
committerStefano Babic <sbabic@denx.de>2014-08-11 10:21:03 +0200
commite82abaeb7f2a0833fccf90460c48b9f2100258f8 (patch)
treede701f5c90b7373966412d566b5c00d3837954bc /arch/powerpc/cpu
parentf93f21906e374d46c6abfbdf4eb9cb1ab51b6384 (diff)
parent1899fac925eda817e12234aef3d01d354788662e (diff)
downloadu-boot-imx-e82abaeb7f2a0833fccf90460c48b9f2100258f8.zip
u-boot-imx-e82abaeb7f2a0833fccf90460c48b9f2100258f8.tar.gz
u-boot-imx-e82abaeb7f2a0833fccf90460c48b9f2100258f8.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot-arm
Conflicts: boards.cfg Signed-off-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'arch/powerpc/cpu')
-rw-r--r--arch/powerpc/cpu/74xx_7xx/Kconfig49
-rw-r--r--arch/powerpc/cpu/74xx_7xx/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc512x/Kconfig34
-rw-r--r--arch/powerpc/cpu/mpc512x/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc5xx/Kconfig22
-rw-r--r--arch/powerpc/cpu/mpc5xx/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc5xxx/Kconfig154
-rw-r--r--arch/powerpc/cpu/mpc5xxx/config.mk3
-rw-r--r--arch/powerpc/cpu/mpc824x/Kconfig49
-rw-r--r--arch/powerpc/cpu/mpc824x/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc8260/Kconfig94
-rw-r--r--arch/powerpc/cpu/mpc8260/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc83xx/Kconfig100
-rw-r--r--arch/powerpc/cpu/mpc83xx/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc83xx/cpu.c2
-rw-r--r--arch/powerpc/cpu/mpc83xx/fdt.c2
-rw-r--r--arch/powerpc/cpu/mpc85xx/Kconfig190
-rw-r--r--arch/powerpc/cpu/mpc85xx/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc85xx/cpu.c8
-rw-r--r--arch/powerpc/cpu/mpc85xx/cpu_init.c166
-rw-r--r--arch/powerpc/cpu/mpc85xx/fdt.c47
-rw-r--r--arch/powerpc/cpu/mpc85xx/interrupts.c2
-rw-r--r--arch/powerpc/cpu/mpc86xx/Kconfig30
-rw-r--r--arch/powerpc/cpu/mpc86xx/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc8xx/Kconfig160
-rw-r--r--arch/powerpc/cpu/mpc8xx/config.mk2
-rw-r--r--arch/powerpc/cpu/mpc8xxx/cpu.c1
-rw-r--r--arch/powerpc/cpu/ppc4xx/Kconfig322
-rw-r--r--arch/powerpc/cpu/ppc4xx/config.mk6
-rw-r--r--arch/powerpc/cpu/ppc4xx/cpu_init.c4
30 files changed, 1366 insertions, 97 deletions
diff --git a/arch/powerpc/cpu/74xx_7xx/Kconfig b/arch/powerpc/cpu/74xx_7xx/Kconfig
new file mode 100644
index 0000000..6ce464d
--- /dev/null
+++ b/arch/powerpc/cpu/74xx_7xx/Kconfig
@@ -0,0 +1,49 @@
+menu "74xx_7xx CPU"
+ depends on 74xx_7xx
+
+config SYS_CPU
+ string
+ default "74xx_7xx"
+
+choice
+ prompt "Target select"
+
+config TARGET_P3G4
+ bool "Support P3G4"
+
+config TARGET_ZUMA
+ bool "Support ZUMA"
+
+config TARGET_PPMC7XX
+ bool "Support ppmc7xx"
+
+config TARGET_ELPPC
+ bool "Support ELPPC"
+
+config TARGET_CPCI750
+ bool "Support CPCI750"
+
+config TARGET_MPC7448HPC2
+ bool "Support mpc7448hpc2"
+
+config TARGET_DB64360
+ bool "Support DB64360"
+
+config TARGET_DB64460
+ bool "Support DB64460"
+
+config TARGET_P3MX
+ bool "Support p3mx"
+
+endchoice
+
+source "board/Marvell/db64360/Kconfig"
+source "board/Marvell/db64460/Kconfig"
+source "board/eltec/elppc/Kconfig"
+source "board/esd/cpci750/Kconfig"
+source "board/evb64260/Kconfig"
+source "board/freescale/mpc7448hpc2/Kconfig"
+source "board/ppmc7xx/Kconfig"
+source "board/prodrive/p3mx/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/74xx_7xx/config.mk b/arch/powerpc/cpu/74xx_7xx/config.mk
index 96812a0..4cd1a26 100644
--- a/arch/powerpc/cpu/74xx_7xx/config.mk
+++ b/arch/powerpc/cpu/74xx_7xx/config.mk
@@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -mstring
+PLATFORM_CPPFLAGS += -mstring
diff --git a/arch/powerpc/cpu/mpc512x/Kconfig b/arch/powerpc/cpu/mpc512x/Kconfig
new file mode 100644
index 0000000..bfc4eae
--- /dev/null
+++ b/arch/powerpc/cpu/mpc512x/Kconfig
@@ -0,0 +1,34 @@
+menu "mpc512x CPU"
+ depends on MPC512X
+
+config SYS_CPU
+ string
+ default "mpc512x"
+
+choice
+ prompt "Target select"
+
+config TARGET_PDM360NG
+ bool "Support pdm360ng"
+
+config TARGET_ARIA
+ bool "Support aria"
+
+config TARGET_MECP5123
+ bool "Support mecp5123"
+
+config TARGET_MPC5121ADS
+ bool "Support mpc5121ads"
+
+config TARGET_AC14XX
+ bool "Support ac14xx"
+
+endchoice
+
+source "board/davedenx/aria/Kconfig"
+source "board/esd/mecp5123/Kconfig"
+source "board/freescale/mpc5121ads/Kconfig"
+source "board/ifm/ac14xx/Kconfig"
+source "board/pdm360ng/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc512x/config.mk b/arch/powerpc/cpu/mpc512x/config.mk
index 03759e6..5bf1b2a 100644
--- a/arch/powerpc/cpu/mpc512x/config.mk
+++ b/arch/powerpc/cpu/mpc512x/config.mk
@@ -4,4 +4,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 -msoft-float -mcpu=603e
+PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float -mcpu=603e
diff --git a/arch/powerpc/cpu/mpc5xx/Kconfig b/arch/powerpc/cpu/mpc5xx/Kconfig
new file mode 100644
index 0000000..79579d7
--- /dev/null
+++ b/arch/powerpc/cpu/mpc5xx/Kconfig
@@ -0,0 +1,22 @@
+menu "mpc5xx CPU"
+ depends on 5xx
+
+config SYS_CPU
+ string
+ default "mpc5xx"
+
+choice
+ prompt "Target select"
+
+config TARGET_CMI_MPC5XX
+ bool "Support cmi_mpc5xx"
+
+config TARGET_PATI
+ bool "Support PATI"
+
+endchoice
+
+source "board/cmi/Kconfig"
+source "board/mpl/pati/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc5xx/config.mk b/arch/powerpc/cpu/mpc5xx/config.mk
index 31e2dc9..dd2ec37 100644
--- a/arch/powerpc/cpu/mpc5xx/config.mk
+++ b/arch/powerpc/cpu/mpc5xx/config.mk
@@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_5xx -mpowerpc -msoft-float
+PLATFORM_CPPFLAGS += -mpowerpc -msoft-float
diff --git a/arch/powerpc/cpu/mpc5xxx/Kconfig b/arch/powerpc/cpu/mpc5xxx/Kconfig
new file mode 100644
index 0000000..b2f0bad
--- /dev/null
+++ b/arch/powerpc/cpu/mpc5xxx/Kconfig
@@ -0,0 +1,154 @@
+menu "mpc5xxx CPU"
+ depends on MPC5xxx
+
+config SYS_CPU
+ string
+ default "mpc5xxx"
+
+choice
+ prompt "Target select"
+
+config TARGET_A3M071
+ bool "Support a3m071"
+
+config TARGET_A4M072
+ bool "Support a4m072"
+
+config TARGET_BC3450
+ bool "Support BC3450"
+
+config TARGET_CANMB
+ bool "Support canmb"
+
+config TARGET_CM5200
+ bool "Support cm5200"
+
+config TARGET_GALAXY5200
+ bool "Support galaxy5200"
+
+config TARGET_ICECUBE
+ bool "Support IceCube"
+
+config TARGET_INKA4X0
+ bool "Support inka4x0"
+
+config TARGET_IPEK01
+ bool "Support ipek01"
+
+config TARGET_JUPITER
+ bool "Support jupiter"
+
+config TARGET_MCC200
+ bool "Support mcc200"
+
+config TARGET_MOTIONPRO
+ bool "Support motionpro"
+
+config TARGET_MUNICES
+ bool "Support munices"
+
+config TARGET_PM520
+ bool "Support PM520"
+
+config TARGET_TOTAL5200
+ bool "Support Total5200"
+
+config TARGET_V38B
+ bool "Support v38b"
+
+config TARGET_TOP5200
+ bool "Support TOP5200"
+
+config TARGET_CPCI5200
+ bool "Support cpci5200"
+
+config TARGET_MECP5200
+ bool "Support mecp5200"
+
+config TARGET_PF5200
+ bool "Support pf5200"
+
+config TARGET_O2D
+ bool "Support O2D"
+
+config TARGET_O2D300
+ bool "Support O2D300"
+
+config TARGET_O2DNT2
+ bool "Support O2DNT2"
+
+config TARGET_O2I
+ bool "Support O2I"
+
+config TARGET_O2MNT
+ bool "Support O2MNT"
+
+config TARGET_O3DNT
+ bool "Support O3DNT"
+
+config TARGET_DIGSY_MTC
+ bool "Support digsy_mtc"
+
+config TARGET_HMI1001
+ bool "Support hmi1001"
+
+config TARGET_MUCMC52
+ bool "Support mucmc52"
+
+config TARGET_UC101
+ bool "Support uc101"
+
+config TARGET_MVBC_P
+ bool "Support MVBC_P"
+
+config TARGET_MVSMR
+ bool "Support MVSMR"
+
+config TARGET_PCM030
+ bool "Support pcm030"
+
+config TARGET_AEV
+ bool "Support aev"
+
+config TARGET_CHARON
+ bool "Support charon"
+
+config TARGET_TB5200
+ bool "Support TB5200"
+
+config TARGET_TQM5200
+ bool "Support TQM5200"
+
+endchoice
+
+source "board/a3m071/Kconfig"
+source "board/a4m072/Kconfig"
+source "board/bc3450/Kconfig"
+source "board/canmb/Kconfig"
+source "board/cm5200/Kconfig"
+source "board/emk/top5200/Kconfig"
+source "board/esd/cpci5200/Kconfig"
+source "board/esd/mecp5200/Kconfig"
+source "board/esd/pf5200/Kconfig"
+source "board/galaxy5200/Kconfig"
+source "board/icecube/Kconfig"
+source "board/ifm/o2dnt2/Kconfig"
+source "board/inka4x0/Kconfig"
+source "board/intercontrol/digsy_mtc/Kconfig"
+source "board/ipek01/Kconfig"
+source "board/jupiter/Kconfig"
+source "board/manroland/hmi1001/Kconfig"
+source "board/manroland/mucmc52/Kconfig"
+source "board/manroland/uc101/Kconfig"
+source "board/matrix_vision/mvbc_p/Kconfig"
+source "board/matrix_vision/mvsmr/Kconfig"
+source "board/mcc200/Kconfig"
+source "board/motionpro/Kconfig"
+source "board/munices/Kconfig"
+source "board/phytec/pcm030/Kconfig"
+source "board/pm520/Kconfig"
+source "board/total5200/Kconfig"
+source "board/tqc/tqm5200/Kconfig"
+source "board/v38b/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc5xxx/config.mk b/arch/powerpc/cpu/mpc5xxx/config.mk
index 3384f6f..bcff214 100644
--- a/arch/powerpc/cpu/mpc5xxx/config.mk
+++ b/arch/powerpc/cpu/mpc5xxx/config.mk
@@ -5,5 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx \
- -mstring -mcpu=603e -mmultiple
+PLATFORM_CPPFLAGS += -mstring -mcpu=603e -mmultiple
diff --git a/arch/powerpc/cpu/mpc824x/Kconfig b/arch/powerpc/cpu/mpc824x/Kconfig
new file mode 100644
index 0000000..309833f
--- /dev/null
+++ b/arch/powerpc/cpu/mpc824x/Kconfig
@@ -0,0 +1,49 @@
+menu "mpc824x CPU"
+ depends on MPC824X
+
+config SYS_CPU
+ string
+ default "mpc824x"
+
+choice
+ prompt "Target select"
+
+config TARGET_A3000
+ bool "Support A3000"
+
+config TARGET_CPC45
+ bool "Support CPC45"
+
+config TARGET_CU824
+ bool "Support CU824"
+
+config TARGET_EXALION
+ bool "Support eXalion"
+
+config TARGET_MUSENKI
+ bool "Support MUSENKI"
+
+config TARGET_MVBLUE
+ bool "Support MVBLUE"
+
+config TARGET_SANDPOINT8240
+ bool "Support Sandpoint8240"
+
+config TARGET_SANDPOINT8245
+ bool "Support Sandpoint8245"
+
+config TARGET_UTX8245
+ bool "Support utx8245"
+
+endchoice
+
+source "board/a3000/Kconfig"
+source "board/cpc45/Kconfig"
+source "board/cu824/Kconfig"
+source "board/eXalion/Kconfig"
+source "board/musenki/Kconfig"
+source "board/mvblue/Kconfig"
+source "board/sandpoint/Kconfig"
+source "board/utx8245/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc824x/config.mk b/arch/powerpc/cpu/mpc824x/config.mk
index a224bc8..ecfb07e 100644
--- a/arch/powerpc/cpu/mpc824x/config.mk
+++ b/arch/powerpc/cpu/mpc824x/config.mk
@@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -mstring -mcpu=603e -msoft-float
+PLATFORM_CPPFLAGS += -mstring -mcpu=603e -msoft-float
diff --git a/arch/powerpc/cpu/mpc8260/Kconfig b/arch/powerpc/cpu/mpc8260/Kconfig
new file mode 100644
index 0000000..1a8707d
--- /dev/null
+++ b/arch/powerpc/cpu/mpc8260/Kconfig
@@ -0,0 +1,94 @@
+menu "mpc8260 CPU"
+ depends on MPC8260
+
+config SYS_CPU
+ string
+ default "mpc8260"
+
+choice
+ prompt "Target select"
+
+config TARGET_ATC
+ bool "Support atc"
+
+config TARGET_COGENT_MPC8260
+ bool "Support cogent_mpc8260"
+
+config TARGET_CPU86
+ bool "Support CPU86"
+
+config TARGET_CPU87
+ bool "Support CPU87"
+
+config TARGET_EP8260
+ bool "Support ep8260"
+
+config TARGET_EP82XXM
+ bool "Support ep82xxm"
+
+config TARGET_GW8260
+ bool "Support gw8260"
+
+config TARGET_HYMOD
+ bool "Support hymod"
+
+config TARGET_IPHASE4539
+ bool "Support IPHASE4539"
+
+config TARGET_MUAS3001
+ bool "Support muas3001"
+
+config TARGET_PM826
+ bool "Support PM826"
+
+config TARGET_PM828
+ bool "Support PM828"
+
+config TARGET_PPMC8260
+ bool "Support ppmc8260"
+
+config TARGET_SACSNG
+ bool "Support sacsng"
+
+config TARGET_MPC8266ADS
+ bool "Support MPC8266ADS"
+
+config TARGET_VOVPN_GW
+ bool "Support VoVPN-GW"
+
+config TARGET_IDS8247
+ bool "Support IDS8247"
+
+config TARGET_KM82XX
+ bool "Support km82xx"
+
+config TARGET_TQM8260
+ bool "Support TQM8260"
+
+config TARGET_TQM8272
+ bool "Support TQM8272"
+
+endchoice
+
+source "board/atc/Kconfig"
+source "board/cogent/Kconfig"
+source "board/cpu86/Kconfig"
+source "board/cpu87/Kconfig"
+source "board/ep8260/Kconfig"
+source "board/ep82xxm/Kconfig"
+source "board/freescale/mpc8266ads/Kconfig"
+source "board/funkwerk/vovpn-gw/Kconfig"
+source "board/gw8260/Kconfig"
+source "board/hymod/Kconfig"
+source "board/ids/ids8247/Kconfig"
+source "board/iphase4539/Kconfig"
+source "board/keymile/km82xx/Kconfig"
+source "board/muas3001/Kconfig"
+source "board/pm826/Kconfig"
+source "board/pm828/Kconfig"
+source "board/ppmc8260/Kconfig"
+source "board/sacsng/Kconfig"
+source "board/tqc/tqm8260/Kconfig"
+source "board/tqc/tqm8272/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc8260/config.mk b/arch/powerpc/cpu/mpc8260/config.mk
index 59f152d..6a1b6e3 100644
--- a/arch/powerpc/cpu/mpc8260/config.mk
+++ b/arch/powerpc/cpu/mpc8260/config.mk
@@ -5,5 +5,5 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_MPC8260 -DCONFIG_CPM2 \
+PLATFORM_CPPFLAGS += -DCONFIG_CPM2 \
-mstring -mcpu=603e -mmultiple
diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig
new file mode 100644
index 0000000..5fd3393
--- /dev/null
+++ b/arch/powerpc/cpu/mpc83xx/Kconfig
@@ -0,0 +1,100 @@
+menu "mpc83xx CPU"
+ depends on MPC83xx
+
+config SYS_CPU
+ string
+ default "mpc83xx"
+
+choice
+ prompt "Target select"
+
+config TARGET_MPC8308_P1M
+ bool "Support mpc8308_p1m"
+
+config TARGET_SBC8349
+ bool "Support sbc8349"
+
+config TARGET_VE8313
+ bool "Support ve8313"
+
+config TARGET_VME8349
+ bool "Support vme8349"
+
+config TARGET_MPC8308RDB
+ bool "Support MPC8308RDB"
+
+config TARGET_MPC8313ERDB
+ bool "Support MPC8313ERDB"
+
+config TARGET_MPC8315ERDB
+ bool "Support MPC8315ERDB"
+
+config TARGET_MPC8323ERDB
+ bool "Support MPC8323ERDB"
+
+config TARGET_MPC832XEMDS
+ bool "Support MPC832XEMDS"
+
+config TARGET_MPC8349EMDS
+ bool "Support MPC8349EMDS"
+
+config TARGET_MPC8349ITX
+ bool "Support MPC8349ITX"
+
+config TARGET_MPC8360EMDS
+ bool "Support MPC8360EMDS"
+
+config TARGET_MPC8360ERDK
+ bool "Support MPC8360ERDK"
+
+config TARGET_MPC837XEMDS
+ bool "Support MPC837XEMDS"
+
+config TARGET_MPC837XERDB
+ bool "Support MPC837XERDB"
+
+config TARGET_IDS8313
+ bool "Support ids8313"
+
+config TARGET_KM8360
+ bool "Support km8360"
+
+config TARGET_SUVD3
+ bool "Support suvd3"
+
+config TARGET_TUXX1
+ bool "Support tuxx1"
+
+config TARGET_MERGERBOX
+ bool "Support MERGERBOX"
+
+config TARGET_MVBLM7
+ bool "Support MVBLM7"
+
+config TARGET_TQM834X
+ bool "Support TQM834x"
+
+endchoice
+
+source "board/esd/vme8349/Kconfig"
+source "board/freescale/mpc8308rdb/Kconfig"
+source "board/freescale/mpc8313erdb/Kconfig"
+source "board/freescale/mpc8315erdb/Kconfig"
+source "board/freescale/mpc8323erdb/Kconfig"
+source "board/freescale/mpc832xemds/Kconfig"
+source "board/freescale/mpc8349emds/Kconfig"
+source "board/freescale/mpc8349itx/Kconfig"
+source "board/freescale/mpc8360emds/Kconfig"
+source "board/freescale/mpc8360erdk/Kconfig"
+source "board/freescale/mpc837xemds/Kconfig"
+source "board/freescale/mpc837xerdb/Kconfig"
+source "board/ids/ids8313/Kconfig"
+source "board/keymile/km83xx/Kconfig"
+source "board/matrix_vision/mergerbox/Kconfig"
+source "board/matrix_vision/mvblm7/Kconfig"
+source "board/mpc8308_p1m/Kconfig"
+source "board/sbc8349/Kconfig"
+source "board/tqc/tqm834x/Kconfig"
+source "board/ve8313/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc83xx/config.mk b/arch/powerpc/cpu/mpc83xx/config.mk
index dfce4d5..0c08350 100644
--- a/arch/powerpc/cpu/mpc83xx/config.mk
+++ b/arch/powerpc/cpu/mpc83xx/config.mk
@@ -4,4 +4,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_MPC83xx -DCONFIG_E300 -msoft-float
+PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float
diff --git a/arch/powerpc/cpu/mpc83xx/cpu.c b/arch/powerpc/cpu/mpc83xx/cpu.c
index e41988d..3809309 100644
--- a/arch/powerpc/cpu/mpc83xx/cpu.c
+++ b/arch/powerpc/cpu/mpc83xx/cpu.c
@@ -20,7 +20,7 @@
#include <netdev.h>
#include <fsl_esdhc.h>
#if defined(CONFIG_BOOTCOUNT_LIMIT) && !defined(CONFIG_MPC831x)
-#include <asm/immap_qe.h>
+#include <linux/immap_qe.h>
#include <asm/io.h>
#endif
diff --git a/arch/powerpc/cpu/mpc83xx/fdt.c b/arch/powerpc/cpu/mpc83xx/fdt.c
index 450a970..f249a58 100644
--- a/arch/powerpc/cpu/mpc83xx/fdt.c
+++ b/arch/powerpc/cpu/mpc83xx/fdt.c
@@ -18,7 +18,7 @@ DECLARE_GLOBAL_DATA_PTR;
#if defined(CONFIG_BOOTCOUNT_LIMIT) && \
(defined(CONFIG_QE) && !defined(CONFIG_MPC831x))
-#include <asm/immap_qe.h>
+#include <linux/immap_qe.h>
void fdt_fixup_muram (void *blob)
{
diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig
new file mode 100644
index 0000000..0f70380
--- /dev/null
+++ b/arch/powerpc/cpu/mpc85xx/Kconfig
@@ -0,0 +1,190 @@
+menu "mpc85xx CPU"
+ depends on MPC85xx
+
+config SYS_CPU
+ string
+ default "mpc85xx"
+
+choice
+ prompt "Target select"
+
+config TARGET_SBC8548
+ bool "Support sbc8548"
+
+config TARGET_SOCRATES
+ bool "Support socrates"
+
+config TARGET_HWW1U1A
+ bool "Support HWW1U1A"
+
+config TARGET_B4860QDS
+ bool "Support B4860QDS"
+
+config TARGET_BSC9131RDB
+ bool "Support BSC9131RDB"
+
+config TARGET_BSC9132QDS
+ bool "Support BSC9132QDS"
+
+config TARGET_C29XPCIE
+ bool "Support C29XPCIE"
+
+config TARGET_P3041DS
+ bool "Support P3041DS"
+
+config TARGET_P4080DS
+ bool "Support P4080DS"
+
+config TARGET_P5020DS
+ bool "Support P5020DS"
+
+config TARGET_P5040DS
+ bool "Support P5040DS"
+
+config TARGET_MPC8536DS
+ bool "Support MPC8536DS"
+
+config TARGET_MPC8540ADS
+ bool "Support MPC8540ADS"
+
+config TARGET_MPC8541CDS
+ bool "Support MPC8541CDS"
+
+config TARGET_MPC8544DS
+ bool "Support MPC8544DS"
+
+config TARGET_MPC8548CDS
+ bool "Support MPC8548CDS"
+
+config TARGET_MPC8555CDS
+ bool "Support MPC8555CDS"
+
+config TARGET_MPC8560ADS
+ bool "Support MPC8560ADS"
+
+config TARGET_MPC8568MDS
+ bool "Support MPC8568MDS"
+
+config TARGET_MPC8569MDS
+ bool "Support MPC8569MDS"
+
+config TARGET_MPC8572DS
+ bool "Support MPC8572DS"
+
+config TARGET_P1010RDB
+ bool "Support P1010RDB"
+
+config TARGET_P1022DS
+ bool "Support P1022DS"
+
+config TARGET_P1023RDB
+ bool "Support P1023RDB"
+
+config TARGET_P1_P2_RDB
+ bool "Support P1_P2_RDB"
+
+config TARGET_P1_P2_RDB_PC
+ bool "Support p1_p2_rdb_pc"
+
+config TARGET_P1_TWR
+ bool "Support p1_twr"
+
+config TARGET_P2020COME
+ bool "Support P2020COME"
+
+config TARGET_P2020DS
+ bool "Support P2020DS"
+
+config TARGET_P2041RDB
+ bool "Support P2041RDB"
+
+config TARGET_QEMU_PPCE500
+ bool "Support qemu-ppce500"
+
+config TARGET_T1040QDS
+ bool "Support T1040QDS"
+
+config TARGET_T104XRDB
+ bool "Support T104xRDB"
+
+config TARGET_T208XQDS
+ bool "Support T208xQDS"
+
+config TARGET_T208XRDB
+ bool "Support T208xRDB"
+
+config TARGET_T4240EMU
+ bool "Support T4240EMU"
+
+config TARGET_T4240QDS
+ bool "Support T4240QDS"
+
+config TARGET_T4240RDB
+ bool "Support T4240RDB"
+
+config TARGET_CONTROLCENTERD
+ bool "Support controlcenterd"
+
+config TARGET_KMP204X
+ bool "Support kmp204x"
+
+config TARGET_STXGP3
+ bool "Support stxgp3"
+
+config TARGET_STXSSA
+ bool "Support stxssa"
+
+config TARGET_XPEDITE520X
+ bool "Support xpedite520x"
+
+config TARGET_XPEDITE537X
+ bool "Support xpedite537x"
+
+config TARGET_XPEDITE550X
+ bool "Support xpedite550x"
+
+endchoice
+
+source "board/exmeritus/hww1u1a/Kconfig"
+source "board/freescale/b4860qds/Kconfig"
+source "board/freescale/bsc9131rdb/Kconfig"
+source "board/freescale/bsc9132qds/Kconfig"
+source "board/freescale/c29xpcie/Kconfig"
+source "board/freescale/corenet_ds/Kconfig"
+source "board/freescale/mpc8536ds/Kconfig"
+source "board/freescale/mpc8540ads/Kconfig"
+source "board/freescale/mpc8541cds/Kconfig"
+source "board/freescale/mpc8544ds/Kconfig"
+source "board/freescale/mpc8548cds/Kconfig"
+source "board/freescale/mpc8555cds/Kconfig"
+source "board/freescale/mpc8560ads/Kconfig"
+source "board/freescale/mpc8568mds/Kconfig"
+source "board/freescale/mpc8569mds/Kconfig"
+source "board/freescale/mpc8572ds/Kconfig"
+source "board/freescale/p1010rdb/Kconfig"
+source "board/freescale/p1022ds/Kconfig"
+source "board/freescale/p1023rdb/Kconfig"
+source "board/freescale/p1_p2_rdb/Kconfig"
+source "board/freescale/p1_p2_rdb_pc/Kconfig"
+source "board/freescale/p1_twr/Kconfig"
+source "board/freescale/p2020come/Kconfig"
+source "board/freescale/p2020ds/Kconfig"
+source "board/freescale/p2041rdb/Kconfig"
+source "board/freescale/qemu-ppce500/Kconfig"
+source "board/freescale/t1040qds/Kconfig"
+source "board/freescale/t104xrdb/Kconfig"
+source "board/freescale/t208xqds/Kconfig"
+source "board/freescale/t208xrdb/Kconfig"
+source "board/freescale/t4qds/Kconfig"
+source "board/freescale/t4rdb/Kconfig"
+source "board/gdsys/p1022/Kconfig"
+source "board/keymile/kmp204x/Kconfig"
+source "board/sbc8548/Kconfig"
+source "board/socrates/Kconfig"
+source "board/stx/stxgp3/Kconfig"
+source "board/stx/stxssa/Kconfig"
+source "board/xes/xpedite520x/Kconfig"
+source "board/xes/xpedite537x/Kconfig"
+source "board/xes/xpedite550x/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc85xx/config.mk b/arch/powerpc/cpu/mpc85xx/config.mk
index 1470f95..72c964c 100644
--- a/arch/powerpc/cpu/mpc85xx/config.mk
+++ b/arch/powerpc/cpu/mpc85xx/config.mk
@@ -5,7 +5,7 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -Wa,-me500 -msoft-float -mno-string
+PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string
# -mspe=yes is needed to have -mno-spe accepted by a buggy GCC;
# see "[PATCH,rs6000] make -mno-spe work as expected" on
diff --git a/arch/powerpc/cpu/mpc85xx/cpu.c b/arch/powerpc/cpu/mpc85xx/cpu.c
index 684d400..6274f92 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu.c
@@ -310,6 +310,14 @@ __weak unsigned long get_tbclk (void)
#if defined(CONFIG_WATCHDOG)
+#define WATCHDOG_MASK (TCR_WP(63) | TCR_WRC(3) | TCR_WIE)
+void
+init_85xx_watchdog(void)
+{
+ mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WATCHDOG_MASK) |
+ TCR_WP(CONFIG_WATCHDOG_PRESC) | TCR_WRC(CONFIG_WATCHDOG_RC));
+}
+
void
reset_85xx_watchdog(void)
{
diff --git a/arch/powerpc/cpu/mpc85xx/cpu_init.c b/arch/powerpc/cpu/mpc85xx/cpu_init.c
index 78316a6..b237505 100644
--- a/arch/powerpc/cpu/mpc85xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc85xx/cpu_init.c
@@ -200,7 +200,7 @@ void config_8560_ioports (volatile ccsr_cpm_t * cpm)
#ifdef CONFIG_SYS_FSL_CPC
#if defined(CONFIG_RAMBOOT_PBL) || defined(CONFIG_SYS_CPC_REINIT_F)
-static void disable_cpc_sram(void)
+void disable_cpc_sram(void)
{
int i;
@@ -251,7 +251,7 @@ static void enable_tdm_law(void)
}
#endif
-static void enable_cpc(void)
+void enable_cpc(void)
{
int i;
u32 size = 0;
@@ -306,6 +306,7 @@ static void invalidate_cpc(void)
#else
#define enable_cpc()
#define invalidate_cpc()
+#define disable_cpc_sram()
#endif /* CONFIG_SYS_FSL_CPC */
/*
@@ -520,7 +521,8 @@ int enable_cluster_l2(void)
u32 idx = (cluster >> (j*8)) & TP_CLUSTER_INIT_MASK;
u32 type = in_be32(&gur->tp_ityp[idx]);
- if (type & TP_ITYP_AV)
+ if ((type & TP_ITYP_AV) &&
+ TP_ITYP_TYPE(type) == TP_ITYP_TYPE_PPC)
cluster_valid = 1;
}
@@ -545,88 +547,15 @@ int enable_cluster_l2(void)
/*
* Initialize L2 as cache.
- *
- * The newer 8548, etc, parts have twice as much cache, but
- * use the same bit-encoding as the older 8555, etc, parts.
- *
*/
-int cpu_init_r(void)
+int l2cache_init(void)
{
__maybe_unused u32 svr = get_svr();
-#ifdef CONFIG_SYS_LBC_LCRR
- fsl_lbc_t *lbc = (void __iomem *)LBC_BASE_ADDR;
-#endif
#ifdef CONFIG_L2_CACHE
ccsr_l2cache_t *l2cache = (void __iomem *)CONFIG_SYS_MPC85xx_L2_ADDR;
#elif defined(CONFIG_SYS_FSL_QORIQ_CHASSIS2) && defined(CONFIG_E6500)
struct ccsr_cluster_l2 * l2cache = (void __iomem *)CONFIG_SYS_FSL_CLUSTER_1_L2;
#endif
-#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
- extern int spin_table_compat;
- const char *spin;
-#endif
-#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571
- ccsr_sec_t __iomem *sec = (void *)CONFIG_SYS_FSL_SEC_ADDR;
-#endif
-#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
- defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
- /*
- * CPU22 and NMG_CPU_A011 share the same workaround.
- * CPU22 applies to P4080 rev 1.0, 2.0, fixed in 3.0
- * NMG_CPU_A011 applies to P4080 rev 1.0, 2.0, fixed in 3.0
- * also applies to P3041 rev 1.0, 1.1, P2041 rev 1.0, 1.1, both
- * fixed in 2.0. NMG_CPU_A011 is activated by default and can
- * be disabled by hwconfig with syntax:
- *
- * fsl_cpu_a011:disable
- */
- extern int enable_cpu_a011_workaround;
-#ifdef CONFIG_SYS_P4080_ERRATUM_CPU22
- enable_cpu_a011_workaround = (SVR_MAJ(svr) < 3);
-#else
- char buffer[HWCONFIG_BUFFER_SIZE];
- char *buf = NULL;
- int n, res;
-
- n = getenv_f("hwconfig", buffer, sizeof(buffer));
- if (n > 0)
- buf = buffer;
-
- res = hwconfig_arg_cmp_f("fsl_cpu_a011", "disable", buf);
- if (res > 0)
- enable_cpu_a011_workaround = 0;
- else {
- if (n >= HWCONFIG_BUFFER_SIZE) {
- printf("fsl_cpu_a011 was not found. hwconfig variable "
- "may be too long\n");
- }
- enable_cpu_a011_workaround =
- (SVR_SOC_VER(svr) == SVR_P4080 && SVR_MAJ(svr) < 3) ||
- (SVR_SOC_VER(svr) != SVR_P4080 && SVR_MAJ(svr) < 2);
- }
-#endif
- if (enable_cpu_a011_workaround) {
- flush_dcache();
- mtspr(L1CSR2, (mfspr(L1CSR2) | L1CSR2_DCWS));
- sync();
- }
-#endif
-#ifdef CONFIG_SYS_FSL_ERRATUM_A005812
- /*
- * A-005812 workaround sets bit 32 of SPR 976 for SoCs running
- * in write shadow mode. Checking DCWS before setting SPR 976.
- */
- if (mfspr(L1CSR2) & L1CSR2_DCWS)
- mtspr(SPRN_HDBCR0, (mfspr(SPRN_HDBCR0) | 0x80000000));
-#endif
-
-#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
- spin = getenv("spin_table_compat");
- if (spin && (*spin == 'n'))
- spin_table_compat = 0;
- else
- spin_table_compat = 1;
-#endif
puts ("L2: ");
@@ -751,6 +680,89 @@ skip_l2:
puts("disabled\n");
#endif
+ return 0;
+}
+
+/*
+ *
+ * The newer 8548, etc, parts have twice as much cache, but
+ * use the same bit-encoding as the older 8555, etc, parts.
+ *
+ */
+int cpu_init_r(void)
+{
+ __maybe_unused u32 svr = get_svr();
+#ifdef CONFIG_SYS_LBC_LCRR
+ fsl_lbc_t *lbc = (void __iomem *)LBC_BASE_ADDR;
+#endif
+#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
+ extern int spin_table_compat;
+ const char *spin;
+#endif
+#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571
+ ccsr_sec_t __iomem *sec = (void *)CONFIG_SYS_FSL_SEC_ADDR;
+#endif
+#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
+ defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
+ /*
+ * CPU22 and NMG_CPU_A011 share the same workaround.
+ * CPU22 applies to P4080 rev 1.0, 2.0, fixed in 3.0
+ * NMG_CPU_A011 applies to P4080 rev 1.0, 2.0, fixed in 3.0
+ * also applies to P3041 rev 1.0, 1.1, P2041 rev 1.0, 1.1, both
+ * fixed in 2.0. NMG_CPU_A011 is activated by default and can
+ * be disabled by hwconfig with syntax:
+ *
+ * fsl_cpu_a011:disable
+ */
+ extern int enable_cpu_a011_workaround;
+#ifdef CONFIG_SYS_P4080_ERRATUM_CPU22
+ enable_cpu_a011_workaround = (SVR_MAJ(svr) < 3);
+#else
+ char buffer[HWCONFIG_BUFFER_SIZE];
+ char *buf = NULL;
+ int n, res;
+
+ n = getenv_f("hwconfig", buffer, sizeof(buffer));
+ if (n > 0)
+ buf = buffer;
+
+ res = hwconfig_arg_cmp_f("fsl_cpu_a011", "disable", buf);
+ if (res > 0) {
+ enable_cpu_a011_workaround = 0;
+ } else {
+ if (n >= HWCONFIG_BUFFER_SIZE) {
+ printf("fsl_cpu_a011 was not found. hwconfig variable "
+ "may be too long\n");
+ }
+ enable_cpu_a011_workaround =
+ (SVR_SOC_VER(svr) == SVR_P4080 && SVR_MAJ(svr) < 3) ||
+ (SVR_SOC_VER(svr) != SVR_P4080 && SVR_MAJ(svr) < 2);
+ }
+#endif
+ if (enable_cpu_a011_workaround) {
+ flush_dcache();
+ mtspr(L1CSR2, (mfspr(L1CSR2) | L1CSR2_DCWS));
+ sync();
+ }
+#endif
+#ifdef CONFIG_SYS_FSL_ERRATUM_A005812
+ /*
+ * A-005812 workaround sets bit 32 of SPR 976 for SoCs running
+ * in write shadow mode. Checking DCWS before setting SPR 976.
+ */
+ if (mfspr(L1CSR2) & L1CSR2_DCWS)
+ mtspr(SPRN_HDBCR0, (mfspr(SPRN_HDBCR0) | 0x80000000));
+#endif
+
+#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
+ spin = getenv("spin_table_compat");
+ if (spin && (*spin == 'n'))
+ spin_table_compat = 0;
+ else
+ spin_table_compat = 1;
+#endif
+
+ l2cache_init();
#if defined(CONFIG_RAMBOOT_PBL)
disable_cpc_sram();
#endif
diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c
index 85dfa5b..3665ec6 100644
--- a/arch/powerpc/cpu/mpc85xx/fdt.c
+++ b/arch/powerpc/cpu/mpc85xx/fdt.c
@@ -612,6 +612,51 @@ static void fdt_fixup_usb(void *fdt)
#define fdt_fixup_usb(x)
#endif
+#if defined(CONFIG_PPC_T2080) || defined(CONFIG_PPC_T4240) || \
+ defined(CONFIG_PPC_T4160) || defined(CONFIG_PPC_T4080)
+void fdt_fixup_dma3(void *blob)
+{
+ /* the 3rd DMA is not functional if SRIO2 is chosen */
+ int nodeoff;
+ ccsr_gur_t __iomem *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+#define CONFIG_SYS_ELO3_DMA3 (0xffe000000 + 0x102300)
+#if defined(CONFIG_PPC_T2080)
+ u32 srds_prtcl_s2 = in_be32(&gur->rcwsr[4]) &
+ FSL_CORENET2_RCWSR4_SRDS2_PRTCL;
+ srds_prtcl_s2 >>= FSL_CORENET2_RCWSR4_SRDS2_PRTCL_SHIFT;
+
+ switch (srds_prtcl_s2) {
+ case 0x29:
+ case 0x2d:
+ case 0x2e:
+#elif defined(CONFIG_PPC_T4240) || defined(CONFIG_PPC_T4160) || \
+ defined(CONFIG_PPC_T4080)
+ u32 srds_prtcl_s4 = in_be32(&gur->rcwsr[4]) &
+ FSL_CORENET2_RCWSR4_SRDS4_PRTCL;
+ srds_prtcl_s4 >>= FSL_CORENET2_RCWSR4_SRDS4_PRTCL_SHIFT;
+
+ switch (srds_prtcl_s4) {
+ case 6:
+ case 8:
+ case 14:
+ case 16:
+#endif
+ nodeoff = fdt_node_offset_by_compat_reg(blob, "fsl,elo3-dma",
+ CONFIG_SYS_ELO3_DMA3);
+ if (nodeoff > 0)
+ fdt_status_disabled(blob, nodeoff);
+ else
+ printf("WARNING: unable to disable dma3\n");
+ break;
+ default:
+ break;
+ }
+}
+#else
+#define fdt_fixup_dma3(x)
+#endif
+
#if defined(CONFIG_PPC_T1040)
static void fdt_fixup_l2_switch(void *blob)
{
@@ -778,6 +823,8 @@ void ft_cpu_setup(void *blob, bd_t *bd)
fdt_fixup_usb(blob);
fdt_fixup_l2_switch(blob);
+
+ fdt_fixup_dma3(blob);
}
/*
diff --git a/arch/powerpc/cpu/mpc85xx/interrupts.c b/arch/powerpc/cpu/mpc85xx/interrupts.c
index a36a4af..daf46a9 100644
--- a/arch/powerpc/cpu/mpc85xx/interrupts.c
+++ b/arch/powerpc/cpu/mpc85xx/interrupts.c
@@ -42,7 +42,7 @@ int interrupt_init_cpu(unsigned int *decrementer_count)
*decrementer_count = get_tbclk() / CONFIG_SYS_HZ;
/* PIE is same as DIE, dec interrupt enable */
- mtspr(SPRN_TCR, TCR_PIE);
+ mtspr(SPRN_TCR, mfspr(SPRN_TCR) | TCR_PIE);
#ifdef CONFIG_INTERRUPTS
pic->iivpr1 = 0x810001; /* 50220 enable ecm interrupts */
diff --git a/arch/powerpc/cpu/mpc86xx/Kconfig b/arch/powerpc/cpu/mpc86xx/Kconfig
new file mode 100644
index 0000000..f0ff441
--- /dev/null
+++ b/arch/powerpc/cpu/mpc86xx/Kconfig
@@ -0,0 +1,30 @@
+menu "mpc86xx CPU"
+ depends on MPC86xx
+
+config SYS_CPU
+ string
+ default "mpc86xx"
+
+choice
+ prompt "Target select"
+
+config TARGET_SBC8641D
+ bool "Support sbc8641d"
+
+config TARGET_MPC8610HPCD
+ bool "Support MPC8610HPCD"
+
+config TARGET_MPC8641HPCN
+ bool "Support MPC8641HPCN"
+
+config TARGET_XPEDITE517X
+ bool "Support xpedite517x"
+
+endchoice
+
+source "board/freescale/mpc8610hpcd/Kconfig"
+source "board/freescale/mpc8641hpcn/Kconfig"
+source "board/sbc8641d/Kconfig"
+source "board/xes/xpedite517x/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc86xx/config.mk b/arch/powerpc/cpu/mpc86xx/config.mk
index 4c7235f..69a0b96 100644
--- a/arch/powerpc/cpu/mpc86xx/config.mk
+++ b/arch/powerpc/cpu/mpc86xx/config.mk
@@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -mstring -maltivec -mabi=altivec -msoft-float
+PLATFORM_CPPFLAGS += -mstring -maltivec -mabi=altivec -msoft-float
diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig
new file mode 100644
index 0000000..35608a6
--- /dev/null
+++ b/arch/powerpc/cpu/mpc8xx/Kconfig
@@ -0,0 +1,160 @@
+menu "mpc8xx CPU"
+ depends on 8xx
+
+config SYS_CPU
+ string
+ default "mpc8xx"
+
+choice
+ prompt "Target select"
+
+config TARGET_COGENT_MPC8XX
+ bool "Support cogent_mpc8xx"
+
+config TARGET_ESTEEM192E
+ bool "Support ESTEEM192E"
+
+config TARGET_FLAGADM
+ bool "Support FLAGADM"
+
+config TARGET_GEN860T
+ bool "Support GEN860T"
+
+config TARGET_HERMES
+ bool "Support hermes"
+
+config TARGET_ICU862
+ bool "Support ICU862"
+
+config TARGET_IP860
+ bool "Support IP860"
+
+config TARGET_IVML24
+ bool "Support IVML24"
+
+config TARGET_IVMS8
+ bool "Support IVMS8"
+
+config TARGET_LWMON
+ bool "Support lwmon"
+
+config TARGET_NETVIA
+ bool "Support NETVIA"
+
+config TARGET_R360MPI
+ bool "Support R360MPI"
+
+config TARGET_RRVISION
+ bool "Support RRvision"
+
+config TARGET_SXNI855T
+ bool "Support SXNI855T"
+
+config TARGET_SPD823TS
+ bool "Support SPD823TS"
+
+config TARGET_SVM_SC8XX
+ bool "Support svm_sc8xx"
+
+config TARGET_MHPC
+ bool "Support MHPC"
+
+config TARGET_TOP860
+ bool "Support TOP860"
+
+config TARGET_KUP4K
+ bool "Support KUP4K"
+
+config TARGET_KUP4X
+ bool "Support KUP4X"
+
+config TARGET_ELPT860
+ bool "Support ELPT860"
+
+config TARGET_UC100
+ bool "Support uc100"
+
+config TARGET_STXXTC
+ bool "Support stxxtc"
+
+config TARGET_FPS850L
+ bool "Support FPS850L"
+
+config TARGET_FPS860L
+ bool "Support FPS860L"
+
+config TARGET_NSCU
+ bool "Support NSCU"
+
+config TARGET_SM850
+ bool "Support SM850"
+
+config TARGET_TK885D
+ bool "Support TK885D"
+
+config TARGET_TQM823L
+ bool "Support TQM823L"
+
+config TARGET_TQM823M
+ bool "Support TQM823M"
+
+config TARGET_TQM850L
+ bool "Support TQM850L"
+
+config TARGET_TQM850M
+ bool "Support TQM850M"
+
+config TARGET_TQM855L
+ bool "Support TQM855L"
+
+config TARGET_TQM855M
+ bool "Support TQM855M"
+
+config TARGET_TQM860L
+ bool "Support TQM860L"
+
+config TARGET_TQM860M
+ bool "Support TQM860M"
+
+config TARGET_TQM862L
+ bool "Support TQM862L"
+
+config TARGET_TQM862M
+ bool "Support TQM862M"
+
+config TARGET_TQM866M
+ bool "Support TQM866M"
+
+config TARGET_TQM885D
+ bool "Support TQM885D"
+
+config TARGET_VIRTLAB2
+ bool "Support virtlab2"
+
+endchoice
+
+source "board/LEOX/elpt860/Kconfig"
+source "board/RRvision/Kconfig"
+source "board/cogent/Kconfig"
+source "board/eltec/mhpc/Kconfig"
+source "board/emk/top860/Kconfig"
+source "board/esteem192e/Kconfig"
+source "board/flagadm/Kconfig"
+source "board/gen860t/Kconfig"
+source "board/hermes/Kconfig"
+source "board/icu862/Kconfig"
+source "board/ip860/Kconfig"
+source "board/ivm/Kconfig"
+source "board/kup/kup4k/Kconfig"
+source "board/kup/kup4x/Kconfig"
+source "board/lwmon/Kconfig"
+source "board/manroland/uc100/Kconfig"
+source "board/netvia/Kconfig"
+source "board/r360mpi/Kconfig"
+source "board/sixnet/Kconfig"
+source "board/spd8xx/Kconfig"
+source "board/stx/stxxtc/Kconfig"
+source "board/svm_sc8xx/Kconfig"
+source "board/tqc/tqm8xx/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/mpc8xx/config.mk b/arch/powerpc/cpu/mpc8xx/config.mk
index ee2c883..485e43d 100644
--- a/arch/powerpc/cpu/mpc8xx/config.mk
+++ b/arch/powerpc/cpu/mpc8xx/config.mk
@@ -5,4 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_8xx -mstring -mcpu=860 -msoft-float
+PLATFORM_CPPFLAGS += -mstring -mcpu=860 -msoft-float
diff --git a/arch/powerpc/cpu/mpc8xxx/cpu.c b/arch/powerpc/cpu/mpc8xxx/cpu.c
index 15561a1..84fec5e 100644
--- a/arch/powerpc/cpu/mpc8xxx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xxx/cpu.c
@@ -65,7 +65,6 @@ static struct cpu_type cpu_type_list[] = {
CPU_TYPE_ENTRY(T4080, T4080, 4),
CPU_TYPE_ENTRY(B4860, B4860, 0),
CPU_TYPE_ENTRY(G4860, G4860, 0),
- CPU_TYPE_ENTRY(G4060, G4060, 0),
CPU_TYPE_ENTRY(B4440, B4440, 0),
CPU_TYPE_ENTRY(B4460, B4460, 0),
CPU_TYPE_ENTRY(G4440, G4440, 0),
diff --git a/arch/powerpc/cpu/ppc4xx/Kconfig b/arch/powerpc/cpu/ppc4xx/Kconfig
new file mode 100644
index 0000000..2d15dd1
--- /dev/null
+++ b/arch/powerpc/cpu/ppc4xx/Kconfig
@@ -0,0 +1,322 @@
+menu "ppc4xx CPU"
+ depends on 4xx
+
+config SYS_CPU
+ string
+ default "ppc4xx"
+
+choice
+ prompt "Target select"
+
+config TARGET_CSB272
+ bool "Support csb272"
+
+config TARGET_CSB472
+ bool "Support csb472"
+
+config TARGET_G2000
+ bool "Support G2000"
+
+config TARGET_JSE
+ bool "Support JSE"
+
+config TARGET_KORAT
+ bool "Support korat"
+
+config TARGET_LWMON5
+ bool "Support lwmon5"
+
+config TARGET_PCS440EP
+ bool "Support pcs440ep"
+
+config TARGET_SBC405
+ bool "Support sbc405"
+
+config TARGET_SC3
+ bool "Support sc3"
+
+config TARGET_T3CORP
+ bool "Support t3corp"
+
+config TARGET_W7OLMC
+ bool "Support W7OLMC"
+
+config TARGET_W7OLMG
+ bool "Support W7OLMG"
+
+config TARGET_ZEUS
+ bool "Support zeus"
+
+config TARGET_ACADIA
+ bool "Support acadia"
+
+config TARGET_BAMBOO
+ bool "Support bamboo"
+
+config TARGET_BLUESTONE
+ bool "Support bluestone"
+
+config TARGET_BUBINGA
+ bool "Support bubinga"
+
+config TARGET_CANYONLANDS
+ bool "Support canyonlands"
+
+config TARGET_EBONY
+ bool "Support ebony"
+
+config TARGET_KATMAI
+ bool "Support katmai"
+
+config TARGET_KILAUEA
+ bool "Support kilauea"
+
+config TARGET_LUAN
+ bool "Support luan"
+
+config TARGET_MAKALU
+ bool "Support makalu"
+
+config TARGET_OCOTEA
+ bool "Support ocotea"
+
+config TARGET_REDWOOD
+ bool "Support redwood"
+
+config TARGET_SEQUOIA
+ bool "Support sequoia"
+
+config TARGET_TAIHU
+ bool "Support taihu"
+
+config TARGET_TAISHAN
+ bool "Support taishan"
+
+config TARGET_WALNUT
+ bool "Support walnut"
+
+config TARGET_YOSEMITE
+ bool "Support yosemite"
+
+config TARGET_YUCCA
+ bool "Support yucca"
+
+config TARGET_FX12MM
+ bool "Support fx12mm"
+
+config TARGET_V5FX30TEVAL
+ bool "Support v5fx30teval"
+
+config TARGET_CRAYL1
+ bool "Support CRAYL1"
+
+config TARGET_CATCENTER
+ bool "Support CATcenter"
+
+config TARGET_PPCHAMELEONEVB
+ bool "Support PPChameleonEVB"
+
+config TARGET_APC405
+ bool "Support APC405"
+
+config TARGET_AR405
+ bool "Support AR405"
+
+config TARGET_ASH405
+ bool "Support ASH405"
+
+config TARGET_CMS700
+ bool "Support CMS700"
+
+config TARGET_CPCI2DP
+ bool "Support CPCI2DP"
+
+config TARGET_CPCI405
+ bool "Support CPCI405"
+
+config TARGET_CPCI4052
+ bool "Support CPCI4052"
+
+config TARGET_CPCI405AB
+ bool "Support CPCI405AB"
+
+config TARGET_CPCI405DT
+ bool "Support CPCI405DT"
+
+config TARGET_CPCIISER4
+ bool "Support CPCIISER4"
+
+config TARGET_DP405
+ bool "Support DP405"
+
+config TARGET_DU405
+ bool "Support DU405"
+
+config TARGET_DU440
+ bool "Support DU440"
+
+config TARGET_HH405
+ bool "Support HH405"
+
+config TARGET_HUB405
+ bool "Support HUB405"
+
+config TARGET_OCRTC
+ bool "Support OCRTC"
+
+config TARGET_PCI405
+ bool "Support PCI405"
+
+config TARGET_PLU405
+ bool "Support PLU405"
+
+config TARGET_PMC405
+ bool "Support PMC405"
+
+config TARGET_PMC405DE
+ bool "Support PMC405DE"
+
+config TARGET_PMC440
+ bool "Support PMC440"
+
+config TARGET_VOH405
+ bool "Support VOH405"
+
+config TARGET_VOM405
+ bool "Support VOM405"
+
+config TARGET_WUH405
+ bool "Support WUH405"
+
+config TARGET_DLVISION_10G
+ bool "Support dlvision-10g"
+
+config TARGET_IO
+ bool "Support io"
+
+config TARGET_IOCON
+ bool "Support iocon"
+
+config TARGET_NEO
+ bool "Support neo"
+
+config TARGET_IO64
+ bool "Support io64"
+
+config TARGET_DLVISION
+ bool "Support dlvision"
+
+config TARGET_GDPPC440ETX
+ bool "Support gdppc440etx"
+
+config TARGET_INTIP
+ bool "Support intip"
+
+config TARGET_ICON
+ bool "Support icon"
+
+config TARGET_MIP405
+ bool "Support MIP405"
+
+config TARGET_PIP405
+ bool "Support PIP405"
+
+config TARGET_ALPR
+ bool "Support alpr"
+
+config TARGET_P3P440
+ bool "Support p3p440"
+
+config TARGET_KAREF
+ bool "Support KAREF"
+
+config TARGET_METROBOX
+ bool "Support METROBOX"
+
+config TARGET_XPEDITE1000
+ bool "Support xpedite1000"
+
+config TARGET_ML507
+ bool "Support ml507"
+
+config TARGET_XILINX_PPC405_GENERIC
+ bool "Support xilinx-ppc405-generic"
+
+config TARGET_XILINX_PPC440_GENERIC
+ bool "Support xilinx-ppc440-generic"
+
+endchoice
+
+source "board/amcc/acadia/Kconfig"
+source "board/amcc/bamboo/Kconfig"
+source "board/amcc/bluestone/Kconfig"
+source "board/amcc/bubinga/Kconfig"
+source "board/amcc/canyonlands/Kconfig"
+source "board/amcc/ebony/Kconfig"
+source "board/amcc/katmai/Kconfig"
+source "board/amcc/kilauea/Kconfig"
+source "board/amcc/luan/Kconfig"
+source "board/amcc/makalu/Kconfig"
+source "board/amcc/ocotea/Kconfig"
+source "board/amcc/redwood/Kconfig"
+source "board/amcc/sequoia/Kconfig"
+source "board/amcc/taihu/Kconfig"
+source "board/amcc/taishan/Kconfig"
+source "board/amcc/walnut/Kconfig"
+source "board/amcc/yosemite/Kconfig"
+source "board/amcc/yucca/Kconfig"
+source "board/avnet/fx12mm/Kconfig"
+source "board/avnet/v5fx30teval/Kconfig"
+source "board/cray/L1/Kconfig"
+source "board/csb272/Kconfig"
+source "board/csb472/Kconfig"
+source "board/dave/PPChameleonEVB/Kconfig"
+source "board/esd/apc405/Kconfig"
+source "board/esd/ar405/Kconfig"
+source "board/esd/ash405/Kconfig"
+source "board/esd/cms700/Kconfig"
+source "board/esd/cpci2dp/Kconfig"
+source "board/esd/cpci405/Kconfig"
+source "board/esd/cpciiser4/Kconfig"
+source "board/esd/dp405/Kconfig"
+source "board/esd/du405/Kconfig"
+source "board/esd/du440/Kconfig"
+source "board/esd/hh405/Kconfig"
+source "board/esd/hub405/Kconfig"
+source "board/esd/ocrtc/Kconfig"
+source "board/esd/pci405/Kconfig"
+source "board/esd/plu405/Kconfig"
+source "board/esd/pmc405/Kconfig"
+source "board/esd/pmc405de/Kconfig"
+source "board/esd/pmc440/Kconfig"
+source "board/esd/voh405/Kconfig"
+source "board/esd/vom405/Kconfig"
+source "board/esd/wuh405/Kconfig"
+source "board/g2000/Kconfig"
+source "board/gdsys/405ep/Kconfig"
+source "board/gdsys/405ex/Kconfig"
+source "board/gdsys/dlvision/Kconfig"
+source "board/gdsys/gdppc440etx/Kconfig"
+source "board/gdsys/intip/Kconfig"
+source "board/jse/Kconfig"
+source "board/korat/Kconfig"
+source "board/lwmon5/Kconfig"
+source "board/mosaixtech/icon/Kconfig"
+source "board/mpl/mip405/Kconfig"
+source "board/mpl/pip405/Kconfig"
+source "board/pcs440ep/Kconfig"
+source "board/prodrive/alpr/Kconfig"
+source "board/prodrive/p3p440/Kconfig"
+source "board/sandburst/karef/Kconfig"
+source "board/sandburst/metrobox/Kconfig"
+source "board/sbc405/Kconfig"
+source "board/sc3/Kconfig"
+source "board/t3corp/Kconfig"
+source "board/w7o/Kconfig"
+source "board/xes/xpedite1000/Kconfig"
+source "board/xilinx/ml507/Kconfig"
+source "board/xilinx/ppc405-generic/Kconfig"
+source "board/xilinx/ppc440-generic/Kconfig"
+source "board/zeus/Kconfig"
+
+endmenu
diff --git a/arch/powerpc/cpu/ppc4xx/config.mk b/arch/powerpc/cpu/ppc4xx/config.mk
index 102f069..f87c9dc 100644
--- a/arch/powerpc/cpu/ppc4xx/config.mk
+++ b/arch/powerpc/cpu/ppc4xx/config.mk
@@ -5,10 +5,10 @@
# SPDX-License-Identifier: GPL-2.0+
#
-PLATFORM_CPPFLAGS += -DCONFIG_4xx -mstring -msoft-float
+PLATFORM_CPPFLAGS += -mstring -msoft-float
-cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
-is440:=$(shell grep CONFIG_440 $(srctree)/include/$(cfg))
+cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
+is440:=$(shell grep CONFIG_440 $(cfg))
ifneq (,$(findstring CONFIG_440,$(is440)))
PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440
diff --git a/arch/powerpc/cpu/ppc4xx/cpu_init.c b/arch/powerpc/cpu/ppc4xx/cpu_init.c
index d465dcd..0b27d29 100644
--- a/arch/powerpc/cpu/ppc4xx/cpu_init.c
+++ b/arch/powerpc/cpu/ppc4xx/cpu_init.c
@@ -12,9 +12,7 @@
#include <asm/ppc4xx-gpio.h>
#include <asm/ppc4xx.h>
-#if defined(CONFIG_405GP) || defined(CONFIG_405EP)
DECLARE_GLOBAL_DATA_PTR;
-#endif
#ifndef CONFIG_SYS_PLL_RECONFIG
#define CONFIG_SYS_PLL_RECONFIG 0
@@ -451,6 +449,8 @@ cpu_init_f (void)
mtdcr(PLB4A1_ACR, (mfdcr(PLB4A1_ACR) & ~PLB4Ax_ACR_RDP_MASK) |
PLB4Ax_ACR_RDP_4DEEP);
#endif /* CONFIG_440SP/SPE || CONFIG_460EX/GT || CONFIG_405EX */
+
+ gd = (gd_t *)(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET);
}
/*