summaryrefslogtreecommitdiff
path: root/include/configs
diff options
context:
space:
mode:
Diffstat (limited to 'include/configs')
-rw-r--r--include/configs/A3000.h1
-rw-r--r--include/configs/ADCIOP.h2
-rw-r--r--include/configs/ADS860.h2
-rw-r--r--include/configs/AMX860.h2
-rw-r--r--include/configs/AP1000.h7
-rw-r--r--include/configs/APC405.h2
-rw-r--r--include/configs/AR405.h2
-rw-r--r--include/configs/ASH405.h2
-rw-r--r--include/configs/ATUM8548.h4
-rw-r--r--include/configs/Adder.h2
-rw-r--r--include/configs/Alaska8220.h2
-rw-r--r--include/configs/BAB7xx.h2
-rw-r--r--include/configs/BC3450.h10
-rw-r--r--include/configs/BMW.h2
-rw-r--r--include/configs/CANBT.h2
-rw-r--r--include/configs/CATcenter.h2
-rw-r--r--include/configs/CMS700.h2
-rw-r--r--include/configs/CPC45.h1
-rw-r--r--include/configs/CPCI2DP.h2
-rw-r--r--include/configs/CPCI405.h2
-rw-r--r--include/configs/CPCI4052.h2
-rw-r--r--include/configs/CPCI405AB.h2
-rw-r--r--include/configs/CPCI405DT.h2
-rw-r--r--include/configs/CPCI750.h2
-rw-r--r--include/configs/CPCIISER4.h2
-rw-r--r--include/configs/CPU86.h6
-rw-r--r--include/configs/CPU87.h6
-rw-r--r--include/configs/CRAYL1.h7
-rw-r--r--include/configs/CU824.h1
-rw-r--r--include/configs/DASA_SIM.h2
-rw-r--r--include/configs/DB64360.h2
-rw-r--r--include/configs/DB64460.h2
-rw-r--r--include/configs/DP405.h2
-rw-r--r--include/configs/DU405.h2
-rw-r--r--include/configs/DU440.h4
-rw-r--r--include/configs/ELPPC.h2
-rw-r--r--include/configs/ELPT860.h2
-rw-r--r--include/configs/EP88x.h2
-rw-r--r--include/configs/ERIC.h2
-rw-r--r--include/configs/ESTEEM192E.h2
-rw-r--r--include/configs/ETX094.h2
-rw-r--r--include/configs/EVB64260.h2
-rw-r--r--include/configs/FADS823.h2
-rw-r--r--include/configs/FADS850SAR.h2
-rw-r--r--include/configs/FADS860T.h2
-rw-r--r--include/configs/FLAGADM.h2
-rw-r--r--include/configs/FPS850L.h2
-rw-r--r--include/configs/FPS860L.h2
-rw-r--r--include/configs/G2000.h2
-rw-r--r--include/configs/GEN860T.h2
-rw-r--r--include/configs/GENIETV.h2
-rw-r--r--include/configs/HH405.h2
-rw-r--r--include/configs/HIDDEN_DRAGON.h2
-rw-r--r--include/configs/HUB405.h2
-rw-r--r--include/configs/IAD210.h2
-rw-r--r--include/configs/ICU862.h2
-rw-r--r--include/configs/IDS8247.h2
-rw-r--r--include/configs/IP860.h3
-rw-r--r--include/configs/IPHASE4539.h2
-rw-r--r--include/configs/ISPAN.h2
-rw-r--r--include/configs/IVML24.h2
-rw-r--r--include/configs/IVMS8.h2
-rw-r--r--include/configs/IceCube.h11
-rw-r--r--include/configs/JSE.h4
-rw-r--r--include/configs/KAREF.h3
-rw-r--r--include/configs/KUP4K.h2
-rw-r--r--include/configs/KUP4X.h2
-rw-r--r--include/configs/LANTEC.h2
-rw-r--r--include/configs/MBX.h2
-rw-r--r--include/configs/MBX860T.h2
-rw-r--r--include/configs/METROBOX.h3
-rw-r--r--include/configs/MHPC.h2
-rw-r--r--include/configs/MIP405.h3
-rw-r--r--include/configs/ML2.h1
-rw-r--r--include/configs/MOUSSE.h4
-rw-r--r--include/configs/MPC8260ADS.h4
-rw-r--r--include/configs/MPC8266ADS.h2
-rw-r--r--include/configs/MPC8308RDB.h2
-rw-r--r--include/configs/MPC8313ERDB.h4
-rw-r--r--include/configs/MPC8315ERDB.h6
-rw-r--r--include/configs/MPC8323ERDB.h2
-rw-r--r--include/configs/MPC832XEMDS.h4
-rw-r--r--include/configs/MPC8349EMDS.h10
-rw-r--r--include/configs/MPC8349ITX.h8
-rw-r--r--include/configs/MPC8360EMDS.h3
-rw-r--r--include/configs/MPC8360ERDK.h6
-rw-r--r--include/configs/MPC837XEMDS.h2
-rw-r--r--include/configs/MPC837XERDB.h2
-rw-r--r--include/configs/MPC8536DS.h10
-rw-r--r--include/configs/MPC8540ADS.h6
-rw-r--r--include/configs/MPC8540EVAL.h2
-rw-r--r--include/configs/MPC8541CDS.h2
-rw-r--r--include/configs/MPC8544DS.h4
-rw-r--r--include/configs/MPC8548CDS.h4
-rw-r--r--include/configs/MPC8555CDS.h2
-rw-r--r--include/configs/MPC8560ADS.h6
-rw-r--r--include/configs/MPC8568MDS.h2
-rw-r--r--include/configs/MPC8569MDS.h6
-rw-r--r--include/configs/MPC8572DS.h4
-rw-r--r--include/configs/MPC8610HPCD.h2
-rw-r--r--include/configs/MPC8641HPCN.h6
-rw-r--r--include/configs/MPC86xADS.h2
-rw-r--r--include/configs/MPC885ADS.h2
-rw-r--r--include/configs/MUSENKI.h1
-rw-r--r--include/configs/MVBC_P.h4
-rw-r--r--include/configs/MVBLM7.h4
-rw-r--r--include/configs/MVBLUE.h2
-rw-r--r--include/configs/MVSMR.h4
-rw-r--r--include/configs/NC650.h2
-rw-r--r--include/configs/NETPHONE.h2
-rw-r--r--include/configs/NETTA.h2
-rw-r--r--include/configs/NETTA2.h2
-rw-r--r--include/configs/NETVIA.h2
-rw-r--r--include/configs/NSCU.h2
-rw-r--r--include/configs/NX823.h2
-rw-r--r--include/configs/OCRTC.h2
-rw-r--r--include/configs/OXC.h2
-rw-r--r--include/configs/P1022DS.h4
-rw-r--r--include/configs/P1_P2_RDB.h10
-rw-r--r--include/configs/P2020DS.h4
-rw-r--r--include/configs/P3G4.h2
-rw-r--r--include/configs/P4080DS.h4
-rw-r--r--include/configs/PATI.h3
-rw-r--r--include/configs/PCI405.h2
-rw-r--r--include/configs/PCIPPC2.h2
-rw-r--r--include/configs/PCIPPC6.h2
-rw-r--r--include/configs/PIP405.h3
-rw-r--r--include/configs/PLU405.h2
-rw-r--r--include/configs/PM520.h2
-rw-r--r--include/configs/PM826.h4
-rw-r--r--include/configs/PM828.h4
-rw-r--r--include/configs/PM854.h2
-rw-r--r--include/configs/PM856.h2
-rw-r--r--include/configs/PMC405.h2
-rw-r--r--include/configs/PMC405DE.h2
-rw-r--r--include/configs/PMC440.h4
-rw-r--r--include/configs/PN62.h2
-rw-r--r--include/configs/PPChameleonEVB.h2
-rw-r--r--include/configs/QS823.h2
-rw-r--r--include/configs/QS850.h2
-rw-r--r--include/configs/QS860T.h3
-rw-r--r--include/configs/R360MPI.h2
-rw-r--r--include/configs/RBC823.h1
-rw-r--r--include/configs/RPXClassic.h2
-rw-r--r--include/configs/RPXlite.h2
-rw-r--r--include/configs/RPXlite_DW.h2
-rw-r--r--include/configs/RPXsuper.h1
-rw-r--r--include/configs/RRvision.h2
-rw-r--r--include/configs/Rattler.h2
-rw-r--r--include/configs/SBC8540.h2
-rw-r--r--include/configs/SCM.h2
-rw-r--r--include/configs/SIMPC8313.h4
-rw-r--r--include/configs/SM850.h2
-rw-r--r--include/configs/SPD823TS.h2
-rw-r--r--include/configs/SXNI855T.h2
-rw-r--r--include/configs/Sandpoint8240.h2
-rw-r--r--include/configs/Sandpoint8245.h2
-rw-r--r--include/configs/TB5200.h11
-rw-r--r--include/configs/TK885D.h2
-rw-r--r--include/configs/TOP5200.h8
-rw-r--r--include/configs/TOP860.h3
-rw-r--r--include/configs/TQM5200.h11
-rw-r--r--include/configs/TQM823L.h2
-rw-r--r--include/configs/TQM823M.h2
-rw-r--r--include/configs/TQM8260.h2
-rw-r--r--include/configs/TQM8272.h2
-rw-r--r--include/configs/TQM834x.h2
-rw-r--r--include/configs/TQM850L.h2
-rw-r--r--include/configs/TQM850M.h2
-rw-r--r--include/configs/TQM855L.h2
-rw-r--r--include/configs/TQM855M.h2
-rw-r--r--include/configs/TQM85xx.h6
-rw-r--r--include/configs/TQM860L.h2
-rw-r--r--include/configs/TQM860M.h2
-rw-r--r--include/configs/TQM862L.h2
-rw-r--r--include/configs/TQM862M.h2
-rw-r--r--include/configs/TQM866M.h2
-rw-r--r--include/configs/TQM885D.h2
-rw-r--r--include/configs/Total5200.h10
-rw-r--r--include/configs/VOH405.h2
-rw-r--r--include/configs/VOM405.h2
-rw-r--r--include/configs/VoVPN-GW.h2
-rw-r--r--include/configs/W7OLMC.h2
-rw-r--r--include/configs/W7OLMG.h2
-rw-r--r--include/configs/WUH405.h2
-rw-r--r--include/configs/XPEDITE1000.h2
-rw-r--r--include/configs/XPEDITE5170.h2
-rw-r--r--include/configs/XPEDITE5200.h4
-rw-r--r--include/configs/XPEDITE5370.h4
-rw-r--r--include/configs/Yukon8220.h2
-rw-r--r--include/configs/ZPC1900.h3
-rw-r--r--include/configs/ZUMA.h2
-rw-r--r--include/configs/acadia.h4
-rw-r--r--include/configs/aev.h11
-rw-r--r--include/configs/alpr.h3
-rw-r--r--include/configs/aria.h2
-rw-r--r--include/configs/atc.h2
-rw-r--r--include/configs/bamboo.h4
-rw-r--r--include/configs/barco.h2
-rw-r--r--include/configs/bluestone.h5
-rw-r--r--include/configs/bubinga.h2
-rw-r--r--include/configs/c2mon.h2
-rw-r--r--include/configs/canmb.h7
-rw-r--r--include/configs/canyonlands.h4
-rw-r--r--include/configs/cm5200.h2
-rw-r--r--include/configs/cmi_mpc5xx.h2
-rw-r--r--include/configs/cogent_mpc8260.h2
-rw-r--r--include/configs/cogent_mpc8xx.h2
-rw-r--r--include/configs/cpci5200.h4
-rw-r--r--include/configs/csb272.h2
-rw-r--r--include/configs/csb472.h2
-rw-r--r--include/configs/debris.h2
-rw-r--r--include/configs/digsy_mtc.h10
-rw-r--r--include/configs/dlvision.h2
-rw-r--r--include/configs/eXalion.h2
-rw-r--r--include/configs/ebony.h2
-rw-r--r--include/configs/ep8248.h2
-rw-r--r--include/configs/ep8260.h2
-rw-r--r--include/configs/ep82xxm.h2
-rw-r--r--include/configs/galaxy5200.h14
-rw-r--r--include/configs/gdppc440etx.h2
-rw-r--r--include/configs/gw8260.h2
-rw-r--r--include/configs/hcu4.h2
-rw-r--r--include/configs/hcu5.h2
-rw-r--r--include/configs/hermes.h2
-rw-r--r--include/configs/hmi1001.h4
-rw-r--r--include/configs/hymod.h2
-rw-r--r--include/configs/icon.h3
-rw-r--r--include/configs/inka4x0.h9
-rw-r--r--include/configs/intip.h4
-rw-r--r--include/configs/ipek01.h2
-rw-r--r--include/configs/jupiter.h9
-rw-r--r--include/configs/katmai.h2
-rw-r--r--include/configs/kilauea.h4
-rw-r--r--include/configs/kmeter1.h2
-rw-r--r--include/configs/kmsupx4.h2
-rw-r--r--include/configs/korat.h6
-rw-r--r--include/configs/kvme080.h2
-rw-r--r--include/configs/linkstation.h16
-rw-r--r--include/configs/luan.h2
-rw-r--r--include/configs/lwmon.h2
-rw-r--r--include/configs/lwmon5.h5
-rw-r--r--include/configs/makalu.h2
-rw-r--r--include/configs/mcc200.h10
-rw-r--r--include/configs/mcu25.h2
-rw-r--r--include/configs/mecp5123.h2
-rw-r--r--include/configs/mecp5200.h4
-rw-r--r--include/configs/mgcoge.h2
-rw-r--r--include/configs/mgsuvd.h2
-rw-r--r--include/configs/motionpro.h2
-rw-r--r--include/configs/mpc5121ads.h2
-rw-r--r--include/configs/mpc7448hpc2.h2
-rw-r--r--include/configs/mpc8308_p1m.h4
-rw-r--r--include/configs/muas3001.h2
-rw-r--r--include/configs/mucmc52.h4
-rw-r--r--include/configs/munices.h5
-rw-r--r--include/configs/neo.h2
-rw-r--r--include/configs/o2dnt.h2
-rw-r--r--include/configs/ocotea.h2
-rw-r--r--include/configs/p3mx.h2
-rw-r--r--include/configs/p3p440.h3
-rw-r--r--include/configs/pcm030.h11
-rw-r--r--include/configs/pcs440ep.h3
-rw-r--r--include/configs/pdm360ng.h2
-rw-r--r--include/configs/pf5200.h4
-rw-r--r--include/configs/ppmc7xx.h1
-rw-r--r--include/configs/ppmc8260.h2
-rw-r--r--include/configs/quad100hd.h2
-rw-r--r--include/configs/quantum.h2
-rw-r--r--include/configs/redwood.h2
-rw-r--r--include/configs/rmu.h2
-rw-r--r--include/configs/rsdproto.h2
-rw-r--r--include/configs/sacsng.h2
-rw-r--r--include/configs/sbc405.h2
-rw-r--r--include/configs/sbc8240.h2
-rw-r--r--include/configs/sbc8260.h2
-rw-r--r--include/configs/sbc8349.h17
-rw-r--r--include/configs/sbc8548.h4
-rw-r--r--include/configs/sbc8560.h2
-rw-r--r--include/configs/sbc8641d.h2
-rw-r--r--include/configs/sc3.h2
-rw-r--r--include/configs/sequoia.h4
-rw-r--r--include/configs/socrates.h2
-rw-r--r--include/configs/sorcery.h2
-rw-r--r--include/configs/spc1920.h2
-rw-r--r--include/configs/stxgp3.h2
-rw-r--r--include/configs/stxssa.h2
-rw-r--r--include/configs/stxxtc.h2
-rw-r--r--include/configs/svm_sc8xx.h2
-rw-r--r--include/configs/t3corp.h4
-rw-r--r--include/configs/taihu.h2
-rw-r--r--include/configs/taishan.h2
-rw-r--r--include/configs/uc100.h2
-rw-r--r--include/configs/uc101.h4
-rw-r--r--include/configs/utx8245.h3
-rw-r--r--include/configs/v37.h2
-rw-r--r--include/configs/v38b.h3
-rw-r--r--include/configs/ve8313.h4
-rw-r--r--include/configs/virtlab2.h2
-rw-r--r--include/configs/vme8349.h12
-rw-r--r--include/configs/walnut.h4
-rw-r--r--include/configs/yosemite.h2
-rw-r--r--include/configs/yucca.h2
-rw-r--r--include/configs/zeus.h2
304 files changed, 897 insertions, 39 deletions
diff --git a/include/configs/A3000.h b/include/configs/A3000.h
index 0532a75db8..ffc58af309 100644
--- a/include/configs/A3000.h
+++ b/include/configs/A3000.h
@@ -45,6 +45,7 @@
#define CONFIG_MPC8245 1
#define CONFIG_A3000 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
#define CONFIG_CONS_INDEX 1
#define CONFIG_BAUDRATE 9600
diff --git a/include/configs/ADCIOP.h b/include/configs/ADCIOP.h
index d8303f3b8c..263dab2361 100644
--- a/include/configs/ADCIOP.h
+++ b/include/configs/ADCIOP.h
@@ -36,6 +36,8 @@
#define CONFIG_IOP480 1 /* This is a IOP480 CPU */
#define CONFIG_ADCIOP 1 /* ...on a ADCIOP board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
diff --git a/include/configs/ADS860.h b/include/configs/ADS860.h
index 688e77a731..82ea172d7a 100644
--- a/include/configs/ADS860.h
+++ b/include/configs/ADS860.h
@@ -20,6 +20,8 @@
/* Processor type */
#define CONFIG_MPC860 1
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/AMX860.h b/include/configs/AMX860.h
index 6e2907e7ef..095c7f0e64 100644
--- a/include/configs/AMX860.h
+++ b/include/configs/AMX860.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1
#define CONFIG_AMX860 1
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#undef CONFIG_8xx_CONS_SMC1 /* Console is on SCC2 */
#undef CONFIG_8xx_CONS_SMC2
#define CONFIG_8xx_CONS_SCC2 1
diff --git a/include/configs/AP1000.h b/include/configs/AP1000.h
index 875cb142b8..a8edafa1bb 100644
--- a/include/configs/AP1000.h
+++ b/include/configs/AP1000.h
@@ -27,6 +27,13 @@
#define CONFIG_AP1000 1 /* ...on an AP1000 board */
+/*
+ * Start at bottom of RAM, but at an aliased address so that it looks
+ * like it's not in RAM. This is a bit of voodoo to allow it to be
+ * run from RAM instead of Flash.
+ */
+#define CONFIG_SYS_TEXT_BASE 0x08000000
+
#define CONFIG_PCI 1
#define CONFIG_SYS_HUSH_PARSER 1 /* use "hush" command parser */
diff --git a/include/configs/APC405.h b/include/configs/APC405.h
index cb3f80bfa0..8179e1b043 100644
--- a/include/configs/APC405.h
+++ b/include/configs/APC405.h
@@ -38,6 +38,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_APCG405 1 /* ...on a APC405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_BOARD_EARLY_INIT_R 1
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/AR405.h b/include/configs/AR405.h
index d3c60f2097..0725e6f1cf 100644
--- a/include/configs/AR405.h
+++ b/include/configs/AR405.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_AR405 1 /* ...on a AR405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
diff --git a/include/configs/ASH405.h b/include/configs/ASH405.h
index 789f7501fd..c8b96132f4 100644
--- a/include/configs/ASH405.h
+++ b/include/configs/ASH405.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_ASH405 1 /* ...on a ASH405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/ATUM8548.h b/include/configs/ATUM8548.h
index 388234cfe8..b544a4772a 100644
--- a/include/configs/ATUM8548.h
+++ b/include/configs/ATUM8548.h
@@ -47,6 +47,10 @@
#define CONFIG_MPC85xx 1 /* MPC8540/60/55/41/48 */
#define CONFIG_MPC8548 1 /* MPC8548 specific */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+#endif
+
#define CONFIG_PCI 1 /* enable any pci type devices */
#define CONFIG_PCI1 1 /* PCI controller 1 */
#define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */
diff --git a/include/configs/Adder.h b/include/configs/Adder.h
index 7371a9ccf5..4d7c5172c2 100644
--- a/include/configs/Adder.h
+++ b/include/configs/Adder.h
@@ -32,6 +32,8 @@
#define CONFIG_ADDER /* Analogue&Micro Adder board */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_BAUDRATE 38400
diff --git a/include/configs/Alaska8220.h b/include/configs/Alaska8220.h
index d9c27efb17..7fba1b39c2 100644
--- a/include/configs/Alaska8220.h
+++ b/include/configs/Alaska8220.h
@@ -31,6 +31,8 @@
#define CONFIG_MPC8220 1
#define CONFIG_ALASKA8220 1 /* ... on Alaska board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BAT_RW 1 /* Use common BAT rw code */
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
diff --git a/include/configs/BAB7xx.h b/include/configs/BAB7xx.h
index 555145e189..0cfd5d94fa 100644
--- a/include/configs/BAB7xx.h
+++ b/include/configs/BAB7xx.h
@@ -35,6 +35,8 @@
* (easy to change)
*/
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* these hardware addresses are pretty bogus, please change them to
suit your needs */
diff --git a/include/configs/BC3450.h b/include/configs/BC3450.h
index f6246faeee..4fbcb7d7ed 100644
--- a/include/configs/BC3450.h
+++ b/include/configs/BC3450.h
@@ -56,6 +56,16 @@
#define CONFIG_BC3450_FP 1 /* + enable FP O/P */
#undef CONFIG_BC3450_CRT /* + enable CRT O/P (Debug only!) */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFC000000 boot low (standard configuration with room for
+ * max 64 MByte Flash ROM)
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFC000000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/BMW.h b/include/configs/BMW.h
index 6e7f012b9c..134ad1fa0b 100644
--- a/include/configs/BMW.h
+++ b/include/configs/BMW.h
@@ -45,6 +45,8 @@
#define CONFIG_MPC8245 1
#define CONFIG_BMW 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_MISC_INIT_F 1 /* Use misc_init_f() */
#define CONFIG_BCM570x 1 /* Use Broadcom BCM570x Ethernet Driver */
diff --git a/include/configs/CANBT.h b/include/configs/CANBT.h
index c7854abc46..9d75616a83 100644
--- a/include/configs/CANBT.h
+++ b/include/configs/CANBT.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_CANBT 1 /* ...on a CANBT board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
diff --git a/include/configs/CATcenter.h b/include/configs/CATcenter.h
index 764f71be3e..81f6391199 100644
--- a/include/configs/CATcenter.h
+++ b/include/configs/CATcenter.h
@@ -75,6 +75,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_PPCHAMELEONEVB 1 /* ...on a PPChameleonEVB board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFB0000 /* Reserve 320 kB for Monitor */
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/CMS700.h b/include/configs/CMS700.h
index 099e30de85..6438b72582 100644
--- a/include/configs/CMS700.h
+++ b/include/configs/CMS700.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_VOM405 1 /* ...on a VOM405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC8000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/CPC45.h b/include/configs/CPC45.h
index 8ba3c7d440..f75050090b 100644
--- a/include/configs/CPC45.h
+++ b/include/configs/CPC45.h
@@ -45,6 +45,7 @@
#define CONFIG_MPC8245 1
#define CONFIG_CPC45 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
#define CONFIG_CONS_INDEX 1
#define CONFIG_BAUDRATE 9600
diff --git a/include/configs/CPCI2DP.h b/include/configs/CPCI2DP.h
index c6882fdda3..ba875eccc6 100644
--- a/include/configs/CPCI2DP.h
+++ b/include/configs/CPCI2DP.h
@@ -36,6 +36,8 @@
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_SYS_CLK_FREQ 33330000 /* external frequency to pll */
diff --git a/include/configs/CPCI405.h b/include/configs/CPCI405.h
index e0066211ab..4a47c7abe1 100644
--- a/include/configs/CPCI405.h
+++ b/include/configs/CPCI405.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_CPCI405 1 /* ...on a CPCI405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/CPCI4052.h b/include/configs/CPCI4052.h
index d682d3726f..be3742feb9 100644
--- a/include/configs/CPCI4052.h
+++ b/include/configs/CPCI4052.h
@@ -39,6 +39,8 @@
#define CONFIG_CPCI405_VER2 1 /* ...version 2 */
#undef CONFIG_CPCI405_6U /* enable this for 6U boards */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/CPCI405AB.h b/include/configs/CPCI405AB.h
index 1c521f2a3f..3e1b482836 100644
--- a/include/configs/CPCI405AB.h
+++ b/include/configs/CPCI405AB.h
@@ -39,6 +39,8 @@
#define CONFIG_CPCI405_VER2 1 /* ...version 2 */
#define CONFIG_CPCI405AB 1 /* ...and special AB version */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/CPCI405DT.h b/include/configs/CPCI405DT.h
index c7b79311cc..342bcc36f1 100644
--- a/include/configs/CPCI405DT.h
+++ b/include/configs/CPCI405DT.h
@@ -38,6 +38,8 @@
#define CONFIG_CPCI405 1 /* ...on a CPCI405 board */
#define CONFIG_CPCI405_VER2 1 /* ...version 2 */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/CPCI750.h b/include/configs/CPCI750.h
index f2d51f75ee..68a27e663a 100644
--- a/include/configs/CPCI750.h
+++ b/include/configs/CPCI750.h
@@ -57,6 +57,8 @@
#define CONFIG_CPCI750 1 /* this is an CPCI750 board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BAUDRATE 9600 /* console baudrate = 9600 */
#define CONFIG_MV64360_ECC /* enable ECC support */
diff --git a/include/configs/CPCIISER4.h b/include/configs/CPCIISER4.h
index f114290130..0f11a75e5d 100644
--- a/include/configs/CPCIISER4.h
+++ b/include/configs/CPCIISER4.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_CPCIISER4 1 /* ...on a CPCIISER4 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
diff --git a/include/configs/CPU86.h b/include/configs/CPU86.h
index 0927f2c5de..3aa35c3e2a 100644
--- a/include/configs/CPU86.h
+++ b/include/configs/CPU86.h
@@ -37,6 +37,12 @@
#define CONFIG_CPU86 1 /* ...on a CPU86 board */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#ifdef CONFIG_BOOT_ROM
+#define CONFIG_SYS_TEXT_BASE 0xFF800000
+#else
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+#endif
+
/*
* select serial console configuration
*
diff --git a/include/configs/CPU87.h b/include/configs/CPU87.h
index c50ff99964..82b6411879 100644
--- a/include/configs/CPU87.h
+++ b/include/configs/CPU87.h
@@ -38,6 +38,12 @@
#define CONFIG_PCI
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#ifdef CONFIG_BOOT_ROM
+#define CONFIG_SYS_TEXT_BASE 0xFF800000
+#else
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+#endif
+
/*
* select serial console configuration
*
diff --git a/include/configs/CRAYL1.h b/include/configs/CRAYL1.h
index da0a57625a..77b6a15dc2 100644
--- a/include/configs/CRAYL1.h
+++ b/include/configs/CRAYL1.h
@@ -36,6 +36,13 @@
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
#define CONFIG_4xx 1 /* ...member of PPC405 family */
+
+/*
+ * Note: I make an "image" from U-Boot itself, which prefixes 0x40
+ * bytes of header info, hence start address is thus shifted.
+ */
+#define CONFIG_SYS_TEXT_BASE 0xFFFD0040
+
#define CONFIG_SYS_CLK_FREQ 25000000
#define CONFIG_BAUDRATE 9600
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
diff --git a/include/configs/CU824.h b/include/configs/CU824.h
index e093120bc5..4a7d8705f5 100644
--- a/include/configs/CU824.h
+++ b/include/configs/CU824.h
@@ -45,6 +45,7 @@
#define CONFIG_MPC8240 1
#define CONFIG_CU824 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
#define CONFIG_CONS_INDEX 1
#define CONFIG_BAUDRATE 9600
diff --git a/include/configs/DASA_SIM.h b/include/configs/DASA_SIM.h
index 21230e158c..7ace011a25 100644
--- a/include/configs/DASA_SIM.h
+++ b/include/configs/DASA_SIM.h
@@ -36,6 +36,8 @@
#define CONFIG_IOP480 1 /* This is a IOP480 CPU */
#define CONFIG_DASA_SIM 1 /* ...on a DASA_SIM board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
diff --git a/include/configs/DB64360.h b/include/configs/DB64360.h
index 910933ad58..3a20d02e55 100644
--- a/include/configs/DB64360.h
+++ b/include/configs/DB64360.h
@@ -120,6 +120,8 @@ if we use PCI it has its own MAC addr */
#define CONFIG_DB64360 1 /* this is an DB64360 board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BAUDRATE 115200 /* console baudrate = 115000 */
/*ronen - we don't use the global CONFIG_ECC, since in the global ecc we initialize the
DRAM for ECC in the phase we are relocating to it, which isn't so sufficient.
diff --git a/include/configs/DB64460.h b/include/configs/DB64460.h
index 765eaaf0fb..ef5277ef05 100644
--- a/include/configs/DB64460.h
+++ b/include/configs/DB64460.h
@@ -58,6 +58,8 @@
#define CONFIG_DB64460 1 /* this is an DB64460 board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BAUDRATE 115200 /* console baudrate = 115000 */
/*ronen - we don't use the global CONFIG_ECC, since in the global ecc we initialize the
DRAM for ECC in the phase we are relocating to it, which isn't so sufficient.
diff --git a/include/configs/DP405.h b/include/configs/DP405.h
index f86305ed3e..3cdf3e8b46 100644
--- a/include/configs/DP405.h
+++ b/include/configs/DP405.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_DP405 1 /* ...on a DP405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/DU405.h b/include/configs/DU405.h
index 6ba9f13bf1..d6c9f4bc9f 100644
--- a/include/configs/DU405.h
+++ b/include/configs/DU405.h
@@ -36,6 +36,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_DU405 1 /* ...on a DU405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/DU440.h b/include/configs/DU440.h
index c36185dd0c..baa54b4559 100644
--- a/include/configs/DU440.h
+++ b/include/configs/DU440.h
@@ -37,6 +37,10 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_SYS_CLK_FREQ 33333400 /* external freq to pll */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+#endif
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */
#define CONFIG_LAST_STAGE_INIT 1 /* last_stage_init */
diff --git a/include/configs/ELPPC.h b/include/configs/ELPPC.h
index 84d27b67a9..1650e65e13 100644
--- a/include/configs/ELPPC.h
+++ b/include/configs/ELPPC.h
@@ -35,6 +35,8 @@
* (easy to change)
*/
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* these hardware addresses are pretty bogus, please change them to
suit your needs */
diff --git a/include/configs/ELPT860.h b/include/configs/ELPT860.h
index 0f56302003..99d0eb1ed5 100644
--- a/include/configs/ELPT860.h
+++ b/include/configs/ELPT860.h
@@ -47,6 +47,8 @@
#define CONFIG_MPC860T 1
#define CONFIG_ELPT860 1 /* ...on a LEOX's ELPT860 CPU board */
+#define CONFIG_SYS_TEXT_BASE 0x02000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/EP88x.h b/include/configs/EP88x.h
index aa5de9b4d5..6204229339 100644
--- a/include/configs/EP88x.h
+++ b/include/configs/EP88x.h
@@ -30,6 +30,8 @@
#define CONFIG_EP88X /* Embedded Planet EP88x board */
+#define CONFIG_SYS_TEXT_BASE 0xFC000000
+
#define CONFIG_BOARD_EARLY_INIT_F /* Call board_early_init_f */
/* Allow serial number (serial#) and MAC address (ethaddr) to be overwritten */
diff --git a/include/configs/ERIC.h b/include/configs/ERIC.h
index da3b4ae22a..094db45e90 100644
--- a/include/configs/ERIC.h
+++ b/include/configs/ERIC.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_ERIC 1 /* ...on a ERIC board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* run board_early_init_f() */
#define CONFIG_SYS_CLK_FREQ 33333333 /* external frequency to pll */
diff --git a/include/configs/ESTEEM192E.h b/include/configs/ESTEEM192E.h
index 11a862e987..1f0d2bb2d6 100644
--- a/include/configs/ESTEEM192E.h
+++ b/include/configs/ESTEEM192E.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_ESTEEM192E 1 /* ...on a EST ESTEEM192E */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_FLASH_16BIT 1 /* Rom 16 bit data bus */
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
diff --git a/include/configs/ETX094.h b/include/configs/ETX094.h
index c36f2bb18c..366df3a66f 100644
--- a/include/configs/ETX094.h
+++ b/include/configs/ETX094.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_ETX094 1 /* ...on a ETX_094 board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/EVB64260.h b/include/configs/EVB64260.h
index 0903536348..ebc36bbb3a 100644
--- a/include/configs/EVB64260.h
+++ b/include/configs/EVB64260.h
@@ -42,6 +42,8 @@
#define CONFIG_EVB64260 1 /* this is an EVB64260 board */
#define CONFIG_SYS_GT_6426x GT_64260 /* with a 64260 system controller */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BAUDRATE 38400 /* console baudrate = 38400 */
#undef CONFIG_ECC /* enable ECC support */
diff --git a/include/configs/FADS823.h b/include/configs/FADS823.h
index cb759602b9..0b7aee265b 100644
--- a/include/configs/FADS823.h
+++ b/include/configs/FADS823.h
@@ -38,6 +38,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_ETHADDR 08:00:22:50:70:63 /* Ethernet address */
#define CONFIG_ENV_OVERWRITE 1 /* Overwrite the environment */
diff --git a/include/configs/FADS850SAR.h b/include/configs/FADS850SAR.h
index 84187fbb4d..c2c9093f51 100644
--- a/include/configs/FADS850SAR.h
+++ b/include/configs/FADS850SAR.h
@@ -34,6 +34,8 @@
#define CONFIG_MPC850SAR 1
#define CONFIG_FADS 1
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/FADS860T.h b/include/configs/FADS860T.h
index dcb0c39445..ed7484bd1c 100644
--- a/include/configs/FADS860T.h
+++ b/include/configs/FADS860T.h
@@ -20,6 +20,8 @@
/* processor type */
#define CONFIG_MPC860T 1 /* 860T */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/FLAGADM.h b/include/configs/FLAGADM.h
index 0f4277c4e3..4f526b7bde 100644
--- a/include/configs/FLAGADM.h
+++ b/include/configs/FLAGADM.h
@@ -37,6 +37,8 @@
#define CONFIG_FLAGADM 1 /* ...on a FLAGA DM */
#define CONFIG_8xx_GCLK_FREQ 48000000 /*48MHz*/
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#undef CONFIG_8xx_CONS_SMC1 /* Console is on SMC1 */
#define CONFIG_8xx_CONS_SMC2 1
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/FPS850L.h b/include/configs/FPS850L.h
index addca2fe3a..ac0c48ebf6 100644
--- a/include/configs/FPS850L.h
+++ b/include/configs/FPS850L.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_FPS850L 1 /* ...on a FingerPrint Sensor */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC2 1 /* Console is on SMC2 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/FPS860L.h b/include/configs/FPS860L.h
index ec9000d9fc..ffb40e0051 100644
--- a/include/configs/FPS860L.h
+++ b/include/configs/FPS860L.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_FPS860L 1 /* ...on a FingerPrint Sensor */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC2 1 /* Console is on SMC2 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/G2000.h b/include/configs/G2000.h
index e2e6cb29ce..2865b84966 100644
--- a/include/configs/G2000.h
+++ b/include/configs/G2000.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_G2000 1 /* ...on a PLU405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/GEN860T.h b/include/configs/GEN860T.h
index 12f879a0e0..a2b934fd94 100644
--- a/include/configs/GEN860T.h
+++ b/include/configs/GEN860T.h
@@ -35,6 +35,8 @@
#define CONFIG_MPC860
#define CONFIG_GEN860T
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
/*
* Identify the board
*/
diff --git a/include/configs/GENIETV.h b/include/configs/GENIETV.h
index fadd83027b..4faafe5b6e 100644
--- a/include/configs/GENIETV.h
+++ b/include/configs/GENIETV.h
@@ -38,6 +38,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0x00000000
+
#define CONFIG_ETHADDR 08:00:22:50:70:63 /* Ethernet address */
#define CONFIG_ENV_OVERWRITE 1 /* Overwrite the environment */
diff --git a/include/configs/HH405.h b/include/configs/HH405.h
index 8991db4130..661db2b16e 100644
--- a/include/configs/HH405.h
+++ b/include/configs/HH405.h
@@ -43,6 +43,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_HH405 1 /* ...on a HH405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/HIDDEN_DRAGON.h b/include/configs/HIDDEN_DRAGON.h
index 359187a751..ac6a455f5c 100644
--- a/include/configs/HIDDEN_DRAGON.h
+++ b/include/configs/HIDDEN_DRAGON.h
@@ -42,6 +42,8 @@
#define CONFIG_MPC8245 1
#define CONFIG_HIDDEN_DRAGON 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#if 0
#define USE_DINK32 1
#else
diff --git a/include/configs/HUB405.h b/include/configs/HUB405.h
index 5dea96ef5b..b7a8dae7e2 100644
--- a/include/configs/HUB405.h
+++ b/include/configs/HUB405.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_HUB405 1 /* ...on a HUB405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/IAD210.h b/include/configs/IAD210.h
index ea1e706eed..54e8a72a20 100644
--- a/include/configs/IAD210.h
+++ b/include/configs/IAD210.h
@@ -44,6 +44,8 @@
#define CONFIG_MPC860T 1
#define CONFIG_MPC862 1
+#define CONFIG_SYS_TEXT_BASE 0x08000000
+
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
#undef CONFIG_8xx_CONS_SMC1
diff --git a/include/configs/ICU862.h b/include/configs/ICU862.h
index f286449e3b..635f916652 100644
--- a/include/configs/ICU862.h
+++ b/include/configs/ICU862.h
@@ -39,6 +39,8 @@
#define CONFIG_ICU862 1
#define CONFIG_MPC862 1
+#define CONFIG_SYS_TEXT_BASE 0x40F00000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/IDS8247.h b/include/configs/IDS8247.h
index 52a57a9d0d..a3a79e876e 100644
--- a/include/configs/IDS8247.h
+++ b/include/configs/IDS8247.h
@@ -39,6 +39,8 @@
#define CPU_ID_STR "MPC8247"
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
#define CONFIG_BOOTCOUNT_LIMIT
diff --git a/include/configs/IP860.h b/include/configs/IP860.h
index ed6b7fde9c..eef1d6b5b5 100644
--- a/include/configs/IP860.h
+++ b/include/configs/IP860.h
@@ -35,6 +35,9 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_IP860 1 /* ...on a IP860 board */
+
+#define CONFIG_SYS_TEXT_BASE 0x10000000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_RESET_PHY_R 1 /* Call reset_phy() */
diff --git a/include/configs/IPHASE4539.h b/include/configs/IPHASE4539.h
index 9d19e37bb7..88ef4bb423 100644
--- a/include/configs/IPHASE4539.h
+++ b/include/configs/IPHASE4539.h
@@ -38,6 +38,8 @@
#define CONFIG_MPC8260 1 /* This is an MPC8260 CPU */
#define CONFIG_IPHASE4539 1 /* ...on a Interphase 4539 PMC */
+#define CONFIG_SYS_TEXT_BASE 0xffb00000
+
#define CONFIG_CPM2 1 /* Has a CPM2 */
/*-----------------------------------------------------------------------
diff --git a/include/configs/ISPAN.h b/include/configs/ISPAN.h
index 3ea7e5daec..bcd73484dc 100644
--- a/include/configs/ISPAN.h
+++ b/include/configs/ISPAN.h
@@ -33,6 +33,8 @@
#define CONFIG_ISPAN /* ...on one of Interphase iSPAN boards */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0xFE7A0000
+
/*-----------------------------------------------------------------------
* Select serial console configuration
*
diff --git a/include/configs/IVML24.h b/include/configs/IVML24.h
index 1a4924e1e6..5cc8e9a476 100644
--- a/include/configs/IVML24.h
+++ b/include/configs/IVML24.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_IVML24 1 /* ...on a IVML24 board */
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+
#if defined (CONFIG_IVML24_16M)
# define CONFIG_IDENT_STRING " IVML24"
#elif defined (CONFIG_IVML24_32M)
diff --git a/include/configs/IVMS8.h b/include/configs/IVMS8.h
index 256cabd036..ed73b570cf 100644
--- a/include/configs/IVMS8.h
+++ b/include/configs/IVMS8.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_IVMS8 1 /* ...on a IVMS8 board */
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+
#if defined (CONFIG_IVMS8_16M)
# define CONFIG_IDENT_STRING " IVMS8"
#elif defined (CONFIG_IVMS8_32M)
diff --git a/include/configs/IceCube.h b/include/configs/IceCube.h
index b62945e838..327b0bbb1e 100644
--- a/include/configs/IceCube.h
+++ b/include/configs/IceCube.h
@@ -33,6 +33,17 @@
#define CONFIG_MPC5200 1 /* (more precisely a MPC5200 CPU) */
#define CONFIG_ICECUBE 1 /* ... on IceCube board */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFFF00000 boot high (standard configuration)
+ * 0xFF000000 boot low for 16 MiB boards
+ * 0xFF800000 boot low for 8 MiB boards
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/JSE.h b/include/configs/JSE.h
index b0b117575c..69711581a6 100644
--- a/include/configs/JSE.h
+++ b/include/configs/JSE.h
@@ -37,7 +37,7 @@
/* JSE has a PPC405GPr */
#define CONFIG_405GP 1
/* ... which is a 4xxx series */
-#define CONFIG_4xx 1
+#define CONFIG_4x 1
/* ... with a 33MHz OSC. connected to the SysCLK input */
#define CONFIG_SYS_CLK_FREQ 33333333
/* ... with on-chip memory here (4KBytes) */
@@ -46,6 +46,8 @@
/* Do not set up locked dcache as init ram. */
#undef CONFIG_SYS_INIT_DCACHE_CS
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
/* Map the SystemACE chip (CS#1) here. (Must be a multiple of 1Meg) */
#define CONFIG_SYSTEMACE 1
#define CONFIG_SYS_SYSTEMACE_BASE 0xf0000000
diff --git a/include/configs/KAREF.h b/include/configs/KAREF.h
index 94cc31756c..5b6da4ff0b 100644
--- a/include/configs/KAREF.h
+++ b/include/configs/KAREF.h
@@ -43,6 +43,9 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
#define CONFIG_MISC_INIT_F 1 /* Call board misc_init_f */
#define CONFIG_MISC_INIT_R 1 /* Call board misc_init_r */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
#undef CONFIG_SYS_DRAM_TEST /* Disable-takes long time!*/
#define CONFIG_SYS_CLK_FREQ 66666666 /* external freq to pll */
diff --git a/include/configs/KUP4K.h b/include/configs/KUP4K.h
index c6978c3352..b5f48b11da 100644
--- a/include/configs/KUP4K.h
+++ b/include/configs/KUP4K.h
@@ -38,6 +38,8 @@
#define CONFIG_MPC855 1 /* This is a MPC855 CPU */
#define CONFIG_KUP4K 1 /* ...on a KUP4K module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/KUP4X.h b/include/configs/KUP4X.h
index ab535e15b5..7fea5f772c 100644
--- a/include/configs/KUP4X.h
+++ b/include/configs/KUP4X.h
@@ -38,6 +38,8 @@
#define CONFIG_MPC859T 1 /* This is a MPC859T CPU */
#define CONFIG_KUP4X 1 /* ...on a KUP4X module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/LANTEC.h b/include/configs/LANTEC.h
index 6e8a4b8085..d10958d06a 100644
--- a/include/configs/LANTEC.h
+++ b/include/configs/LANTEC.h
@@ -40,6 +40,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_LANTEC 2 /* ...on a Lantec rev.2 board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
/*
* Port assignments (CONFIG_LANTEC == 1):
* - SMC1: J11 (MDB) ?
diff --git a/include/configs/MBX.h b/include/configs/MBX.h
index 5f7c7a8e4f..7cda287cfb 100644
--- a/include/configs/MBX.h
+++ b/include/configs/MBX.h
@@ -46,6 +46,8 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_MBX 1 /* ...on an MBX module */
+#define CONFIG_SYS_TEXT_BASE 0xfe000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/MBX860T.h b/include/configs/MBX860T.h
index afe23836ce..aed17297c3 100644
--- a/include/configs/MBX860T.h
+++ b/include/configs/MBX860T.h
@@ -28,6 +28,8 @@
#define CONFIG_MPC860T 1
#define CONFIG_MBX 1
+#define CONFIG_SYS_TEXT_BASE 0xfe000000
+
#define CONFIG_8xx_CPUCLOCK 40
#define CONFIG_8xx_BUSCLOCK (CONFIG_8xx_CPUCLOCK)
#define TARGET_SYSTEM_FREQUENCY 40
diff --git a/include/configs/METROBOX.h b/include/configs/METROBOX.h
index 2e63306d97..04ae4f883a 100644
--- a/include/configs/METROBOX.h
+++ b/include/configs/METROBOX.h
@@ -109,6 +109,9 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
#define CONFIG_MISC_INIT_F 1 /* Call board misc_init_f */
#define CONFIG_MISC_INIT_R 1 /* Call board misc_init_r */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
#undef CONFIG_SYS_DRAM_TEST /* Disable-takes long time!*/
#define CONFIG_SYS_CLK_FREQ 66666666 /* external freq to pll */
diff --git a/include/configs/MHPC.h b/include/configs/MHPC.h
index 19a288c582..7ad2712ca8 100644
--- a/include/configs/MHPC.h
+++ b/include/configs/MHPC.h
@@ -43,6 +43,8 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* do special hardware init. */
#define CONFIG_MISC_INIT_R 1
+#define CONFIG_SYS_TEXT_BASE 0xfe000000
+
#define CONFIG_8xx_GCLK_FREQ MPC8XX_SPEED
#undef CONFIG_8xx_CONS_SMC1
#define CONFIG_8xx_CONS_SMC2 1 /* Console is on SMC2 */
diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h
index bfff7504fc..a097639ef6 100644
--- a/include/configs/MIP405.h
+++ b/include/configs/MIP405.h
@@ -35,6 +35,9 @@
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_MIP405 1 /* ...on a MIP405 board */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
/***********************************************************
* Note that it may also be a MIP405T board which is a subset of the
* MIP405
diff --git a/include/configs/ML2.h b/include/configs/ML2.h
index 2fc0119e5f..8f56902e63 100644
--- a/include/configs/ML2.h
+++ b/include/configs/ML2.h
@@ -30,6 +30,7 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_ML2 1 /* ...on a ML2 board */
+#define CONFIG_SYS_TEXT_BASE 0x18000000
#define CONFIG_ENV_IS_IN_FLASH 1
diff --git a/include/configs/MOUSSE.h b/include/configs/MOUSSE.h
index 986590aaaf..9dccd2418a 100644
--- a/include/configs/MOUSSE.h
+++ b/include/configs/MOUSSE.h
@@ -48,7 +48,11 @@
#define CONFIG_MPC824X 1
#define CONFIG_MPC8240 1
#define CONFIG_MOUSSE 1
+
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_SYS_ADDR_MAP_B 1
+
#define CONFIG_CONS_INDEX 1
#define CONFIG_BAUDRATE 9600
#if 1
diff --git a/include/configs/MPC8260ADS.h b/include/configs/MPC8260ADS.h
index cb406aea01..fd7ef90cf2 100644
--- a/include/configs/MPC8260ADS.h
+++ b/include/configs/MPC8260ADS.h
@@ -48,6 +48,10 @@
#define CONFIG_MPC8260ADS 1 /* Motorola PQ2 ADS family board */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000 /* Standard: boot high */
+#endif
+
#define CONFIG_CPM2 1 /* Has a CPM2 */
/*
diff --git a/include/configs/MPC8266ADS.h b/include/configs/MPC8266ADS.h
index 376ff3e29e..1fbc190476 100644
--- a/include/configs/MPC8266ADS.h
+++ b/include/configs/MPC8266ADS.h
@@ -53,6 +53,8 @@
#define CONFIG_MPC8266ADS 1 /* ...on motorola ADS board */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0xfe000000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_RESET_PHY_R 1 /* Call reset_phy() */
diff --git a/include/configs/MPC8308RDB.h b/include/configs/MPC8308RDB.h
index b717c1bbef..de03a97d39 100644
--- a/include/configs/MPC8308RDB.h
+++ b/include/configs/MPC8308RDB.h
@@ -33,6 +33,8 @@
#define CONFIG_MPC8308 1 /* MPC8308 CPU specific */
#define CONFIG_MPC8308RDB 1 /* MPC8308RDB board specific */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_MISC_INIT_R
/*
diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h
index 18af02871f..3eca719bdc 100644
--- a/include/configs/MPC8313ERDB.h
+++ b/include/configs/MPC8313ERDB.h
@@ -35,6 +35,10 @@
#define CONFIG_MPC8313 1
#define CONFIG_MPC8313ERDB 1
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+#endif
+
#define CONFIG_PCI
#define CONFIG_FSL_ELBC 1
diff --git a/include/configs/MPC8315ERDB.h b/include/configs/MPC8315ERDB.h
index b0f5cbde3d..2e6cc51213 100644
--- a/include/configs/MPC8315ERDB.h
+++ b/include/configs/MPC8315ERDB.h
@@ -27,7 +27,11 @@
#ifdef CONFIG_NAND
#define CONFIG_NAND_U_BOOT 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0x00100000
+#define CONFIG_SYS_TEXT_BASE 0x00100000
+#endif
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
#endif
/*
diff --git a/include/configs/MPC8323ERDB.h b/include/configs/MPC8323ERDB.h
index f81ca8c642..177e6e9b4e 100644
--- a/include/configs/MPC8323ERDB.h
+++ b/include/configs/MPC8323ERDB.h
@@ -17,6 +17,8 @@
#define CONFIG_MPC83xx 1 /* MPC83xx family */
#define CONFIG_MPC832x 1 /* MPC832x CPU specific */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_PCI 1
/*
diff --git a/include/configs/MPC832XEMDS.h b/include/configs/MPC832XEMDS.h
index f57290a279..fe51208941 100644
--- a/include/configs/MPC832XEMDS.h
+++ b/include/configs/MPC832XEMDS.h
@@ -28,8 +28,8 @@
#define CONFIG_MPC83xx 1 /* MPC83xx family */
#define CONFIG_MPC832x 1 /* MPC832x CPU specific */
#define CONFIG_MPC832XEMDS 1 /* MPC832XEMDS board specific */
-#undef CONFIG_PQ_MDS_PIB /* POWERQUICC MDS Platform IO Board */
-#undef CONFIG_PQ_MDS_PIB_ATM /* QOC3 ATM card */
+
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
/*
* System Clock Setup
diff --git a/include/configs/MPC8349EMDS.h b/include/configs/MPC8349EMDS.h
index 8e508b6f15..6f02db0278 100644
--- a/include/configs/MPC8349EMDS.h
+++ b/include/configs/MPC8349EMDS.h
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2006
+ * (C) Copyright 2006-2010
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
@@ -38,8 +38,10 @@
#define CONFIG_MPC8349 1 /* MPC8349 specific */
#define CONFIG_MPC8349EMDS 1 /* MPC8349EMDS board specific */
-#define PCI_66M
-#ifdef PCI_66M
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
+#define CONFIG_PCI_66M
+#ifdef CONFIG_PCI_66M
#define CONFIG_83XX_CLKIN 66000000 /* in Hz */
#else
#define CONFIG_83XX_CLKIN 33000000 /* in Hz */
@@ -51,7 +53,7 @@
#endif /* CONFIG_PCISLAVE */
#ifndef CONFIG_SYS_CLK_FREQ
-#ifdef PCI_66M
+#ifdef CONFIG_PCI_66M
#define CONFIG_SYS_CLK_FREQ 66000000
#define HRCWL_CSB_TO_CLKIN HRCWL_CSB_TO_CLKIN_4X1
#else
diff --git a/include/configs/MPC8349ITX.h b/include/configs/MPC8349ITX.h
index 3659d88255..d49c1ff76b 100644
--- a/include/configs/MPC8349ITX.h
+++ b/include/configs/MPC8349ITX.h
@@ -67,6 +67,10 @@
#define CONFIG_MPC834x /* MPC834x family (8343, 8347, 8349) */
#define CONFIG_MPC8349 /* MPC8349 specific */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFEF00000
+#endif
+
#define CONFIG_SYS_IMMR 0xE0000000 /* The IMMR is relocated to here */
#define CONFIG_MISC_INIT_F
@@ -394,8 +398,8 @@ boards, we say we have two, but don't display a message if we find only one. */
#endif
-#define PCI_66M
-#ifdef PCI_66M
+#define CONFIG_PCI_66M
+#ifdef CONFIG_PCI_66M
#define CONFIG_83XX_CLKIN 66666666 /* in Hz */
#else
#define CONFIG_83XX_CLKIN 33333333 /* in Hz */
diff --git a/include/configs/MPC8360EMDS.h b/include/configs/MPC8360EMDS.h
index 5449d0fd7a..e5165e9473 100644
--- a/include/configs/MPC8360EMDS.h
+++ b/include/configs/MPC8360EMDS.h
@@ -30,6 +30,9 @@
#define CONFIG_MPC83xx 1 /* MPC83xx family */
#define CONFIG_MPC8360 1 /* MPC8360 CPU specific */
#define CONFIG_MPC8360EMDS 1 /* MPC8360EMDS board specific */
+
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#undef CONFIG_PQ_MDS_PIB /* POWERQUICC MDS Platform IO Board */
#undef CONFIG_PQ_MDS_PIB_ATM /* QOC3 ATM card */
diff --git a/include/configs/MPC8360ERDK.h b/include/configs/MPC8360ERDK.h
index 680e329d03..dbbeeca57a 100644
--- a/include/configs/MPC8360ERDK.h
+++ b/include/configs/MPC8360ERDK.h
@@ -26,18 +26,20 @@
#define CONFIG_MPC8360 1 /* MPC8360 CPU specific */
#define CONFIG_MPC8360ERDK 1 /* MPC8360ERDK board specific */
+#define CONFIG_SYS_TEXT_BASE 0xFF800000
+
/*
* System Clock Setup
*/
#ifdef CONFIG_CLKIN_33MHZ
#define CONFIG_83XX_CLKIN 33333333
#define CONFIG_SYS_CLK_FREQ 33333333
-#define PCI_33M 1
+#define CONFIG_PCI_33M 1
#define HRCWL_CSB_TO_CLKIN_MPC8360ERDK HRCWL_CSB_TO_CLKIN_10X1
#else
#define CONFIG_83XX_CLKIN 66000000
#define CONFIG_SYS_CLK_FREQ 66000000
-#define PCI_66M 1
+#define CONFIG_PCI_66M 1
#define HRCWL_CSB_TO_CLKIN_MPC8360ERDK HRCWL_CSB_TO_CLKIN_5X1
#endif /* CONFIG_CLKIN_33MHZ */
diff --git a/include/configs/MPC837XEMDS.h b/include/configs/MPC837XEMDS.h
index 45b22a5acc..5d30c790da 100644
--- a/include/configs/MPC837XEMDS.h
+++ b/include/configs/MPC837XEMDS.h
@@ -29,6 +29,8 @@
#define CONFIG_MPC837x 1 /* MPC837x CPU specific */
#define CONFIG_MPC837XEMDS 1 /* MPC837XEMDS board specific */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
/*
* System Clock Setup
*/
diff --git a/include/configs/MPC837XERDB.h b/include/configs/MPC837XERDB.h
index d69d25e401..afc37b5c60 100644
--- a/include/configs/MPC837XERDB.h
+++ b/include/configs/MPC837XERDB.h
@@ -30,6 +30,8 @@
#define CONFIG_MPC837x 1 /* MPC837x CPU specific */
#define CONFIG_MPC837XERDB 1
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_PCI 1
#define CONFIG_BOARD_EARLY_INIT_F
diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h
index 8ef24e62dd..cc83d92479 100644
--- a/include/configs/MPC8536DS.h
+++ b/include/configs/MPC8536DS.h
@@ -36,17 +36,21 @@
#ifdef CONFIG_NAND
#define CONFIG_NAND_U_BOOT 1
#define CONFIG_RAMBOOT_NAND 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0xf8f82000
+#define CONFIG_SYS_TEXT_BASE 0xf8f82000
#endif
#ifdef CONFIG_SDCARD
#define CONFIG_RAMBOOT_SDCARD 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0xf8f80000
+#define CONFIG_SYS_TEXT_BASE 0xf8f80000
#endif
#ifdef CONFIG_SPIFLASH
#define CONFIG_RAMBOOT_SPIFLASH 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0xf8f80000
+#define CONFIG_SYS_TEXT_BASE 0xf8f80000
+#endif
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xeff80000
#endif
/* High Level Configuration Options */
diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h
index 84db2fb70f..4ac1f6e822 100644
--- a/include/configs/MPC8540ADS.h
+++ b/include/configs/MPC8540ADS.h
@@ -41,6 +41,12 @@
#define CONFIG_MPC8540 1 /* MPC8540 specific */
#define CONFIG_MPC8540ADS 1 /* MPC8540ADS board specific */
+/*
+ * default CCARBAR is at 0xff700000
+ * assume U-Boot is less than 0.5MB
+ */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#ifndef CONFIG_HAS_FEC
#define CONFIG_HAS_FEC 1 /* 8540 has FEC */
#endif
diff --git a/include/configs/MPC8540EVAL.h b/include/configs/MPC8540EVAL.h
index 66fea852f8..85ecf47252 100644
--- a/include/configs/MPC8540EVAL.h
+++ b/include/configs/MPC8540EVAL.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC8540 1 /* MPC8540 specific */
#define CONFIG_MPC8540EVAL 1 /* MPC8540EVAL board specific */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#undef CONFIG_PCI /* pci ethernet support */
#define CONFIG_TSEC_ENET /* tsec ethernet support */
#define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/MPC8541CDS.h b/include/configs/MPC8541CDS.h
index 359426924d..5bd851ff16 100644
--- a/include/configs/MPC8541CDS.h
+++ b/include/configs/MPC8541CDS.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC8541 1 /* MPC8541 specific */
#define CONFIG_MPC8541CDS 1 /* MPC8541CDS board specific */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#define CONFIG_PCI
#define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */
#define CONFIG_TSEC_ENET /* tsec ethernet support */
diff --git a/include/configs/MPC8544DS.h b/include/configs/MPC8544DS.h
index 3af7f6de86..5322a2368f 100644
--- a/include/configs/MPC8544DS.h
+++ b/include/configs/MPC8544DS.h
@@ -34,6 +34,10 @@
#define CONFIG_MPC8544 1
#define CONFIG_MPC8544DS 1
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+#endif
+
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
#define CONFIG_PCI1 1 /* PCI controller 1 */
#define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */
diff --git a/include/configs/MPC8548CDS.h b/include/configs/MPC8548CDS.h
index cda3936a06..2d99358287 100644
--- a/include/configs/MPC8548CDS.h
+++ b/include/configs/MPC8548CDS.h
@@ -36,6 +36,10 @@
#define CONFIG_MPC8548 1 /* MPC8548 specific */
#define CONFIG_MPC8548CDS 1 /* MPC8548CDS board specific */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+#endif
+
#define CONFIG_PCI /* enable any pci type devices */
#define CONFIG_PCI1 /* PCI controller 1 */
#define CONFIG_PCIE1 /* PCIE controler 1 (slot 1) */
diff --git a/include/configs/MPC8555CDS.h b/include/configs/MPC8555CDS.h
index b22f4d0204..7bc1bcefb6 100644
--- a/include/configs/MPC8555CDS.h
+++ b/include/configs/MPC8555CDS.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC8555 1 /* MPC8555 specific */
#define CONFIG_MPC8555CDS 1 /* MPC8555CDS board specific */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#define CONFIG_PCI
#define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */
#define CONFIG_TSEC_ENET /* tsec ethernet support */
diff --git a/include/configs/MPC8560ADS.h b/include/configs/MPC8560ADS.h
index cdb66636ae..fad180ffb7 100644
--- a/include/configs/MPC8560ADS.h
+++ b/include/configs/MPC8560ADS.h
@@ -42,6 +42,12 @@
#define CONFIG_MPC8560ADS 1 /* MPC8560ADS board specific */
#define CONFIG_MPC8560 1
+/*
+ * default CCARBAR is at 0xff700000
+ * assume U-Boot is less than 0.5MB
+ */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#define CONFIG_PCI
#define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */
#define CONFIG_TSEC_ENET /* tsec ethernet support */
diff --git a/include/configs/MPC8568MDS.h b/include/configs/MPC8568MDS.h
index 3a405d46dd..054991e716 100644
--- a/include/configs/MPC8568MDS.h
+++ b/include/configs/MPC8568MDS.h
@@ -33,6 +33,8 @@
#define CONFIG_MPC8568 1 /* MPC8568 specific */
#define CONFIG_MPC8568MDS 1 /* MPC8568MDS board specific */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
#define CONFIG_PCI1 1 /* PCI controller */
#define CONFIG_PCIE1 1 /* PCIE controller */
diff --git a/include/configs/MPC8569MDS.h b/include/configs/MPC8569MDS.h
index d09b2f721c..62a4039d69 100644
--- a/include/configs/MPC8569MDS.h
+++ b/include/configs/MPC8569MDS.h
@@ -65,7 +65,11 @@ extern unsigned long get_clock_freq(void);
#ifdef CONFIG_NAND
#define CONFIG_NAND_U_BOOT 1
#define CONFIG_RAMBOOT_NAND 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0xf8f82000
+#define CONFIG_SYS_TEXT_BASE 0xf8f82000
+#endif
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
#endif
/*
diff --git a/include/configs/MPC8572DS.h b/include/configs/MPC8572DS.h
index 9601029618..336d62d12b 100644
--- a/include/configs/MPC8572DS.h
+++ b/include/configs/MPC8572DS.h
@@ -41,6 +41,10 @@
#define CONFIG_MPC8572DS 1
#define CONFIG_MP 1 /* support multiple processors */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xeff80000
+#endif
+
#define CONFIG_FSL_ELBC 1 /* Has Enhanced localbus controller */
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
#define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */
diff --git a/include/configs/MPC8610HPCD.h b/include/configs/MPC8610HPCD.h
index 004b764b29..9128c985fb 100644
--- a/include/configs/MPC8610HPCD.h
+++ b/include/configs/MPC8610HPCD.h
@@ -19,6 +19,8 @@
#define CONFIG_MPC8610HPCD 1 /* MPC8610HPCD board specific */
#define CONFIG_LINUX_RESET_VEC 0x100 /* Reset vector used by Linux */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_FSL_DIU_FB 1 /* FSL DIU */
/* video */
diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h
index a46ec28f59..c4efababd5 100644
--- a/include/configs/MPC8641HPCN.h
+++ b/include/configs/MPC8641HPCN.h
@@ -41,6 +41,12 @@
/*#define CONFIG_PHYS_64BIT 1*/ /* Place devices in 36-bit space */
#define CONFIG_ADDR_MAP 1 /* Use addr map */
+/*
+ * default CCSRBAR is at 0xff700000
+ * assume U-Boot is less than 0.5MB
+ */
+#define CONFIG_SYS_TEXT_BASE 0xeff00000
+
#ifdef RUN_DIAG
#define CONFIG_SYS_DIAG_ADDR CONFIG_SYS_FLASH_BASE
#endif
diff --git a/include/configs/MPC86xADS.h b/include/configs/MPC86xADS.h
index 85c68900ce..beada7ee2a 100644
--- a/include/configs/MPC86xADS.h
+++ b/include/configs/MPC86xADS.h
@@ -28,6 +28,8 @@
#undef CONFIG_MPC859DSL
#undef CONFIG_MPC852T
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/MPC885ADS.h b/include/configs/MPC885ADS.h
index 8ffc1b2b15..eeb2355b9f 100644
--- a/include/configs/MPC885ADS.h
+++ b/include/configs/MPC885ADS.h
@@ -15,6 +15,8 @@
#define CONFIG_MPC885 1 /* MPC885 CPU (Duet family) */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/MUSENKI.h b/include/configs/MUSENKI.h
index c0c716d232..e60063985b 100644
--- a/include/configs/MUSENKI.h
+++ b/include/configs/MUSENKI.h
@@ -45,6 +45,7 @@
#define CONFIG_MPC8245 1
#define CONFIG_MUSENKI 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
#define CONFIG_CONS_INDEX 1
#define CONFIG_BAUDRATE 9600
diff --git a/include/configs/MVBC_P.h b/include/configs/MVBC_P.h
index 05603bec43..cd867666c3 100644
--- a/include/configs/MVBC_P.h
+++ b/include/configs/MVBC_P.h
@@ -32,6 +32,10 @@
#define CONFIG_MPC5xxx 1
#define CONFIG_MPC5200 1
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFF800000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000
#define BOOTFLAG_COLD 0x01
diff --git a/include/configs/MVBLM7.h b/include/configs/MVBLM7.h
index 1cfdef5f49..9ec03d9a46 100644
--- a/include/configs/MVBLM7.h
+++ b/include/configs/MVBLM7.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC834x 1
#define CONFIG_MPC8343 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_SYS_IMMR 0xE0000000
#define CONFIG_PCI
@@ -186,7 +188,7 @@
#define CONFIG_NET_MULTI 1
#define CONFIG_NET_RETRY_COUNT 3
-#define PCI_66M
+#define CONFIG_PCI_66M
#define CONFIG_83XX_CLKIN 66666667
#define CONFIG_PCI_PNP
#define CONFIG_PCI_SCAN_SHOW
diff --git a/include/configs/MVBLUE.h b/include/configs/MVBLUE.h
index cff33047fd..bee1327354 100644
--- a/include/configs/MVBLUE.h
+++ b/include/configs/MVBLUE.h
@@ -43,6 +43,8 @@
#define MVBLUE_BOARD_BOX 1
#define MVBLUE_BOARD_LYNX 2
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#if 0
#define ERR_LED(code) do { if (code) \
*(volatile char *)(0xff000003) = ( 3 | (code<<4) ) & 0xf3; \
diff --git a/include/configs/MVSMR.h b/include/configs/MVSMR.h
index 074e55579e..ec93245ef2 100644
--- a/include/configs/MVSMR.h
+++ b/include/configs/MVSMR.h
@@ -32,6 +32,10 @@
#define CONFIG_MPC5xxx 1
#define CONFIG_MPC5200 1
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFF800000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000
#define BOOTFLAG_COLD 0x01
diff --git a/include/configs/NC650.h b/include/configs/NC650.h
index b0a42d61f7..8d1d45de5a 100644
--- a/include/configs/NC650.h
+++ b/include/configs/NC650.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC852T 1
#define CONFIG_NC650 1
+#define CONFIG_SYS_TEXT_BASE 0x40700000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/NETPHONE.h b/include/configs/NETPHONE.h
index 76ca916636..24d9110a69 100644
--- a/include/configs/NETPHONE.h
+++ b/include/configs/NETPHONE.h
@@ -41,6 +41,8 @@
#define CONFIG_MPC870 1 /* This is a MPC885 CPU */
#define CONFIG_NETPHONE 1 /* ...on a NetPhone board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/NETTA.h b/include/configs/NETTA.h
index 4f9f9fe0f1..3c2c958a50 100644
--- a/include/configs/NETTA.h
+++ b/include/configs/NETTA.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC885 1 /* This is a MPC885 CPU */
#define CONFIG_NETTA 1 /* ...on a NetTA board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/NETTA2.h b/include/configs/NETTA2.h
index d060cb7a42..a89c77d3db 100644
--- a/include/configs/NETTA2.h
+++ b/include/configs/NETTA2.h
@@ -41,6 +41,8 @@
#define CONFIG_MPC870 1 /* This is a MPC885 CPU */
#define CONFIG_NETTA2 1 /* ...on a NetTA2 board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/NETVIA.h b/include/configs/NETVIA.h
index a18b480127..0cc07f8230 100644
--- a/include/configs/NETVIA.h
+++ b/include/configs/NETVIA.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_NETVIA 1 /* ...on a NetVia board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#if !defined(CONFIG_NETVIA_VERSION) || CONFIG_NETVIA_VERSION == 1
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
diff --git a/include/configs/NSCU.h b/include/configs/NSCU.h
index 6a4c47d888..cd8c769643 100644
--- a/include/configs/NSCU.h
+++ b/include/configs/NSCU.h
@@ -37,6 +37,8 @@
#define CONFIG_TQM855M 1 /* ...on a TQM8xxM module */
#define CONFIG_NSCU 1
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SCC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/NX823.h b/include/configs/NX823.h
index 5054d5e61f..70c6bb5cfa 100644
--- a/include/configs/NX823.h
+++ b/include/configs/NX823.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_NX823 1 /* ...on a NEXUS 823 module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
/*#define CONFIG_VIDEO 1 */
#define CONFIG_8xx_GCLK_FREQ MPC8XX_SPEED
diff --git a/include/configs/OCRTC.h b/include/configs/OCRTC.h
index ad2e4da389..a275b548e5 100644
--- a/include/configs/OCRTC.h
+++ b/include/configs/OCRTC.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_OCRTC 1 /* ...on a OCRTC board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
diff --git a/include/configs/OXC.h b/include/configs/OXC.h
index 7f4babeede..76d8b04707 100644
--- a/include/configs/OXC.h
+++ b/include/configs/OXC.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC8240 1
#define CONFIG_OXC 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_IDENT_STRING " [oxc] "
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index f3c2883200..5d127cfd78 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -22,6 +22,10 @@
#define CONFIG_P1022DS
#define CONFIG_MP /* support multiple processors */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xeff80000
+#endif
+
#define CONFIG_FSL_ELBC /* Has Enhanced localbus controller */
#define CONFIG_PCI /* Enable PCI/PCIE */
#define CONFIG_PCIE1 /* PCIE controler 1 (slot 1) */
diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h
index 0b0822d584..8c373fa248 100644
--- a/include/configs/P1_P2_RDB.h
+++ b/include/configs/P1_P2_RDB.h
@@ -46,17 +46,21 @@
#ifdef CONFIG_NAND
#define CONFIG_NAND_U_BOOT 1
#define CONFIG_RAMBOOT_NAND 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0xf8f82000
+#define CONFIG_SYS_TEXT_BASE 0xf8f82000
#endif
#ifdef CONFIG_SDCARD
#define CONFIG_RAMBOOT_SDCARD 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0xf8f80000
+#define CONFIG_SYS_TEXT_BASE 0xf8f80000
#endif
#ifdef CONFIG_SPIFLASH
#define CONFIG_RAMBOOT_SPIFLASH 1
-#define CONFIG_RAMBOOT_TEXT_BASE 0xf8f80000
+#define CONFIG_SYS_TEXT_BASE 0xf8f80000
+#endif
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xeff80000
#endif
/* High Level Configuration Options */
diff --git a/include/configs/P2020DS.h b/include/configs/P2020DS.h
index 27e8d8edb0..102e4c96f2 100644
--- a/include/configs/P2020DS.h
+++ b/include/configs/P2020DS.h
@@ -41,6 +41,10 @@
#define CONFIG_P2020DS 1
#define CONFIG_MP 1 /* support multiple processors */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xeff80000
+#endif
+
#define CONFIG_FSL_ELBC 1 /* Has Enhanced localbus controller */
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
#define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */
diff --git a/include/configs/P3G4.h b/include/configs/P3G4.h
index 6aa214a4b5..5f3c41475f 100644
--- a/include/configs/P3G4.h
+++ b/include/configs/P3G4.h
@@ -42,6 +42,8 @@
#define CONFIG_P3G4 1 /* this is a P3G4 board */
#define CONFIG_SYS_GT_6426x GT_64260 /* with a 64260 system controller */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BAUDRATE 115200 /* console baudrate = 115200 */
#undef CONFIG_ECC /* enable ECC support */
diff --git a/include/configs/P4080DS.h b/include/configs/P4080DS.h
index 87703c98b3..5e7b81f0a2 100644
--- a/include/configs/P4080DS.h
+++ b/include/configs/P4080DS.h
@@ -36,4 +36,8 @@
#define CONFIG_SYS_P4080_ERRATUM_CPU22
#define CONFIG_SYS_P4080_ERRATUM_SERDES8
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xeff80000
+#endif
+
#include "corenet_ds.h"
diff --git a/include/configs/PATI.h b/include/configs/PATI.h
index 8d67ee7e8c..8a913f550d 100644
--- a/include/configs/PATI.h
+++ b/include/configs/PATI.h
@@ -33,6 +33,9 @@
#define CONFIG_MPC555 1 /* This is an MPC555 CPU */
#define CONFIG_PATI 1 /* ...On a PATI board */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* Serial Console Configuration */
#define CONFIG_5xx_CONS_SCI1
#undef CONFIG_5xx_CONS_SCI2
diff --git a/include/configs/PCI405.h b/include/configs/PCI405.h
index 244d6fe502..bea7e49c5e 100644
--- a/include/configs/PCI405.h
+++ b/include/configs/PCI405.h
@@ -39,6 +39,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_PCI405 1 /* ...on a PCI405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() on init */
diff --git a/include/configs/PCIPPC2.h b/include/configs/PCIPPC2.h
index 7587ecc8cd..f98295aa06 100644
--- a/include/configs/PCIPPC2.h
+++ b/include/configs/PCIPPC2.h
@@ -43,6 +43,8 @@
#define CONFIG_PCIPPC2 1 /* this is a PCIPPC2 board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BOARD_EARLY_INIT_F 1
#define CONFIG_MISC_INIT_R 1
diff --git a/include/configs/PCIPPC6.h b/include/configs/PCIPPC6.h
index 447321a84c..a33d946877 100644
--- a/include/configs/PCIPPC6.h
+++ b/include/configs/PCIPPC6.h
@@ -43,6 +43,8 @@
#define CONFIG_PCIPPC2 1 /* this is a PCIPPC2 board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BOARD_EARLY_INIT_F 1
#define CONFIG_MISC_INIT_R 1
diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h
index 2901cfd6d6..8d89c80908 100644
--- a/include/configs/PIP405.h
+++ b/include/configs/PIP405.h
@@ -35,6 +35,9 @@
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_PIP405 1 /* ...on a PIP405 board */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
/***********************************************************
* Clock
***********************************************************/
diff --git a/include/configs/PLU405.h b/include/configs/PLU405.h
index c7a0172ed2..7d91a75498 100644
--- a/include/configs/PLU405.h
+++ b/include/configs/PLU405.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_PLU405 1 /* ...on a PLU405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/PM520.h b/include/configs/PM520.h
index 957bf22708..e1e709fe36 100644
--- a/include/configs/PM520.h
+++ b/include/configs/PM520.h
@@ -33,6 +33,8 @@
#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */
#define CONFIG_PM520 1 /* ... on PM520 board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33MHz */
#define CONFIG_MISC_INIT_R
diff --git a/include/configs/PM826.h b/include/configs/PM826.h
index 6d24c26732..31874b12b6 100644
--- a/include/configs/PM826.h
+++ b/include/configs/PM826.h
@@ -39,6 +39,10 @@
#define CONFIG_PM826 1 /* ...on a PM8260 module */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFF000000 /* Standard: boot 64-bit flash */
+#endif
+
#undef CONFIG_DB_CR826_J30x_ON /* J30x jumpers on D.B. carrier */
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
diff --git a/include/configs/PM828.h b/include/configs/PM828.h
index 509c8b45da..8573ef92a4 100644
--- a/include/configs/PM828.h
+++ b/include/configs/PM828.h
@@ -39,6 +39,10 @@
#define CONFIG_PM828 1 /* ...on a PM828 module */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0x40000000 /* Standard: boot 64-bit flash */
+#endif
+
#undef CONFIG_DB_CR826_J30x_ON /* J30x jumpers on D.B. carrier */
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
diff --git a/include/configs/PM854.h b/include/configs/PM854.h
index 1179a90828..8a0af47171 100644
--- a/include/configs/PM854.h
+++ b/include/configs/PM854.h
@@ -41,6 +41,8 @@
#define CONFIG_MPC8540 1 /* MPC8540 specific */
#define CONFIG_PM854 1 /* PM854 board specific */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#define CONFIG_PCI
#define CONFIG_TSEC_ENET /* tsec ethernet support */
#define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/PM856.h b/include/configs/PM856.h
index 1934e3fe81..a6acc0b6b4 100644
--- a/include/configs/PM856.h
+++ b/include/configs/PM856.h
@@ -42,6 +42,8 @@
#define CONFIG_CPM2 1 /* Has a CPM2 */
#define CONFIG_PM856 1 /* PM856 board specific */
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#define CONFIG_PCI
#define CONFIG_TSEC_ENET /* tsec ethernet support */
#define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/PMC405.h b/include/configs/PMC405.h
index eb1a166f91..4d65df8f4c 100644
--- a/include/configs/PMC405.h
+++ b/include/configs/PMC405.h
@@ -32,6 +32,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_PMC405 1 /* ...on a PMC405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/PMC405DE.h b/include/configs/PMC405DE.h
index 9cefaa15a5..74b656c761 100644
--- a/include/configs/PMC405DE.h
+++ b/include/configs/PMC405DE.h
@@ -28,6 +28,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_PMC405DE 1 /* ...on a PMC405DE board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
#define CONFIG_BOARD_TYPES 1 /* support board types */
diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h
index 4d3c0228ce..66e2692e53 100644
--- a/include/configs/PMC440.h
+++ b/include/configs/PMC440.h
@@ -39,6 +39,10 @@
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_4xx 1 /* ... PPC4xx family */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF90000
+#endif
+
#define CONFIG_SYS_CLK_FREQ 33333400
#if 0 /* temporary disabled because OS/9 does not like dcache on startup */
diff --git a/include/configs/PN62.h b/include/configs/PN62.h
index ed026ddf37..b19beba8ad 100644
--- a/include/configs/PN62.h
+++ b/include/configs/PN62.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC8240 1
#define CONFIG_PN62 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_CONS_INDEX 1
diff --git a/include/configs/PPChameleonEVB.h b/include/configs/PPChameleonEVB.h
index f9b20143a0..e910f7d71b 100644
--- a/include/configs/PPChameleonEVB.h
+++ b/include/configs/PPChameleonEVB.h
@@ -75,6 +75,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_PPCHAMELEONEVB 1 /* ...on a PPChameleonEVB board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFB0000 /* Reserve 320 kB for Monitor */
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/QS823.h b/include/configs/QS823.h
index c1416cb91b..df9376c52f 100644
--- a/include/configs/QS823.h
+++ b/include/configs/QS823.h
@@ -53,6 +53,8 @@
#define CONFIG_QS823 1 /* ...on a QS823 module */
#define CONFIG_SCC2_ENET 1 /* SCC2 10BaseT ethernet */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* Select the target clock speed */
#undef CONFIG_CLOCK_16MHZ /* cpu=16,777,216 Hz, mem=16Mhz */
#undef CONFIG_CLOCK_33MHZ /* cpu=33,554,432 Hz, mem=33Mhz */
diff --git a/include/configs/QS850.h b/include/configs/QS850.h
index de74fee768..45b8325f90 100644
--- a/include/configs/QS850.h
+++ b/include/configs/QS850.h
@@ -53,6 +53,8 @@
#define CONFIG_QS850 1 /* ...on a QS850 module */
#define CONFIG_SCC2_ENET 1 /* SCC2 10BaseT ethernet */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* Select the target clock speed */
#undef CONFIG_CLOCK_16MHZ /* cpu=16,777,216 Hz, mem=16Mhz */
#undef CONFIG_CLOCK_33MHZ /* cpu=33,554,432 Hz, mem=33Mhz */
diff --git a/include/configs/QS860T.h b/include/configs/QS860T.h
index 705d37524d..48a20dfb3c 100644
--- a/include/configs/QS860T.h
+++ b/include/configs/QS860T.h
@@ -54,6 +54,9 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_QS860T 1 /* ...on a QS860T module */
+/* Start address of 512K Socketed Flash */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_FEC_ENET 1 /* FEC 10/100BaseT ethernet */
#define CONFIG_MII
#define FEC_INTERRUPT SIU_LEVEL1
diff --git a/include/configs/R360MPI.h b/include/configs/R360MPI.h
index 830f4bc59b..586f1bb491 100644
--- a/include/configs/R360MPI.h
+++ b/include/configs/R360MPI.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_R360MPI 1
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_LCD
#undef CONFIG_EDT32F10
#define CONFIG_SHARP_LQ057Q3DC02
diff --git a/include/configs/RBC823.h b/include/configs/RBC823.h
index 00ac6cf1f3..471f32eaf3 100644
--- a/include/configs/RBC823.h
+++ b/include/configs/RBC823.h
@@ -39,6 +39,7 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_RBC823 1 /* ...on a RBC823 module */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
#if 0
#define DEBUG 1
diff --git a/include/configs/RPXClassic.h b/include/configs/RPXClassic.h
index bec52780e6..37414a8243 100644
--- a/include/configs/RPXClassic.h
+++ b/include/configs/RPXClassic.h
@@ -42,6 +42,8 @@
#define CONFIG_MPC860 1
#define CONFIG_RPXCLASSIC 1
+#define CONFIG_SYS_TEXT_BASE 0xff000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/RPXlite.h b/include/configs/RPXlite.h
index c9dd104ada..b5647968ed 100644
--- a/include/configs/RPXlite.h
+++ b/include/configs/RPXlite.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_RPXLITE 1
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/RPXlite_DW.h b/include/configs/RPXlite_DW.h
index a59053c0eb..6577a26051 100644
--- a/include/configs/RPXlite_DW.h
+++ b/include/configs/RPXlite_DW.h
@@ -51,6 +51,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823e CPU. */
#define CONFIG_RPXLITE 1 /* RPXlite DW version board */
+#define CONFIG_SYS_TEXT_BASE 0xff000000
+
#ifdef CONFIG_LCD /* with LCD controller ? */
#define CONFIG_SPLASH_SCREEN /* ... with splashscreen support*/
#endif
diff --git a/include/configs/RPXsuper.h b/include/configs/RPXsuper.h
index ec891e4ca3..f4f90f2043 100644
--- a/include/configs/RPXsuper.h
+++ b/include/configs/RPXsuper.h
@@ -1,6 +1,7 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0x80F00000
/*****************************************************************************
*
diff --git a/include/configs/RRvision.h b/include/configs/RRvision.h
index 6ec5be01c7..6e30335882 100644
--- a/include/configs/RRvision.h
+++ b/include/configs/RRvision.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_RRVISION 1 /* ...on a RRvision board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_GCLK_FREQ 64000000
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
diff --git a/include/configs/Rattler.h b/include/configs/Rattler.h
index 587b42e4bc..8140ae9744 100644
--- a/include/configs/Rattler.h
+++ b/include/configs/Rattler.h
@@ -33,6 +33,8 @@
#define CPU_ID_STR "MPC8250"
#endif /* CONFIG_MPC8248 */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_CPM2 1 /* Has a CPM2 */
#define CONFIG_RATTLER /* Analogue&Micro Rattler board */
diff --git a/include/configs/SBC8540.h b/include/configs/SBC8540.h
index b753f267f9..9cc87dd5cf 100644
--- a/include/configs/SBC8540.h
+++ b/include/configs/SBC8540.h
@@ -48,6 +48,8 @@
#define CONFIG_MPC85xx 1 /* MPC8540/MPC8560 */
#define CONFIG_MPC85xx_REV1 1 /* MPC85xx Rev 1.0 chip */
+#define CONFIG_SYS_TEXT_BASE 0xfffc0000
+
#define CONFIG_CPM2 1 /* has CPM2 */
diff --git a/include/configs/SCM.h b/include/configs/SCM.h
index a114f6c5f4..6f8c28e9d7 100644
--- a/include/configs/SCM.h
+++ b/include/configs/SCM.h
@@ -38,6 +38,8 @@
#define CONFIG_SCM 1 /* ...on a System Controller Module */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#if (CONFIG_TQM8260 <= 100)
# error "TQM8260 module revison not supported"
#endif
diff --git a/include/configs/SIMPC8313.h b/include/configs/SIMPC8313.h
index 6c57f95ba0..b4fbae4c36 100644
--- a/include/configs/SIMPC8313.h
+++ b/include/configs/SIMPC8313.h
@@ -36,6 +36,10 @@
#define CONFIG_MPC831x 1
#define CONFIG_MPC8313 1
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0x00100000
+#endif
+
#define CONFIG_PCI
#define CONFIG_FSL_ELBC 1
diff --git a/include/configs/SM850.h b/include/configs/SM850.h
index 56f03e2b88..b5fe1cdacb 100644
--- a/include/configs/SM850.h
+++ b/include/configs/SM850.h
@@ -38,6 +38,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_SM850 1 /*...on a MPC850 Service Module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC2 1 /* Console is on SMC2 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/SPD823TS.h b/include/configs/SPD823TS.h
index fa77882cfd..5de4dd2e05 100644
--- a/include/configs/SPD823TS.h
+++ b/include/configs/SPD823TS.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_SPD823TS 1 /* ...on a SPD823TS board */
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+
#define CONFIG_RESET_PHY_R 1 /* Call reset_phy() */
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
diff --git a/include/configs/SXNI855T.h b/include/configs/SXNI855T.h
index 8ee8cbf0b5..f3991532e6 100644
--- a/include/configs/SXNI855T.h
+++ b/include/configs/SXNI855T.h
@@ -64,6 +64,8 @@
#define CONFIG_MPC860T 1
#define CONFIG_MPC855T 1
+#define CONFIG_SYS_TEXT_BASE 0xF8000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_SCC1
diff --git a/include/configs/Sandpoint8240.h b/include/configs/Sandpoint8240.h
index 514bf89dac..20fb96ab2b 100644
--- a/include/configs/Sandpoint8240.h
+++ b/include/configs/Sandpoint8240.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC8240 1
#define CONFIG_SANDPOINT 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#if 0
#define USE_DINK32 1
#else
diff --git a/include/configs/Sandpoint8245.h b/include/configs/Sandpoint8245.h
index 0381252af2..525e9fec59 100644
--- a/include/configs/Sandpoint8245.h
+++ b/include/configs/Sandpoint8245.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC8245 1
#define CONFIG_SANDPOINT 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#if 0
#define USE_DINK32 1
#else
diff --git a/include/configs/TB5200.h b/include/configs/TB5200.h
index b675a21cf7..fcadd4a9c7 100644
--- a/include/configs/TB5200.h
+++ b/include/configs/TB5200.h
@@ -37,6 +37,17 @@
#define CONFIG_TQM5200 1 /* ... on TQM5200 module */
#define CONFIG_TB5200 1 /* ... on a TB5200 base board */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFC000000 boot low (standard configuration with room for
+ * max 64 MByte Flash ROM)
+ * 0xFFF00000 boot high (for a backup copy of U-Boot)
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFC000000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/TK885D.h b/include/configs/TK885D.h
index 7cefa32d7a..0d916f538d 100644
--- a/include/configs/TK885D.h
+++ b/include/configs/TK885D.h
@@ -40,6 +40,8 @@
#define CONFIG_TQM885D 1 /* ...on a TQM88D module */
#define CONFIG_TK885D 1 /* ...in a TK885D base board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_OSCLK 10000000 /* 10 MHz - PLL input clock */
#define CONFIG_SYS_8xx_CPUCLK_MIN 15000000 /* 15 MHz - CPU minimum clock */
#define CONFIG_SYS_8xx_CPUCLK_MAX 133000000 /* 133 MHz - CPU maximum clock */
diff --git a/include/configs/TOP5200.h b/include/configs/TOP5200.h
index f9d1446604..2654a447ed 100644
--- a/include/configs/TOP5200.h
+++ b/include/configs/TOP5200.h
@@ -45,6 +45,14 @@
#define CONFIG_MPC5200 1 /* More exactly a MPC5200 */
#define CONFIG_TOP5200 1 /* ... on TOP5200 board - we need this for FEC.C */
+/*
+ * allowed and functional CONFIG_SYS_TEXT_BASE values:
+ * 0xff000000 low boot at 0x00000100 (default board setting)
+ * 0xfff00000 high boot at 0xfff00100 (board needs modification)
+ * 0x00100000 RAM load and test
+ */
+#define CONFIG_SYS_TEXT_BASE 0xff000000
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/TOP860.h b/include/configs/TOP860.h
index 4bbd42aff4..8bc87e3ab4 100644
--- a/include/configs/TOP860.h
+++ b/include/configs/TOP860.h
@@ -53,6 +53,9 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_MPC860T 1 /* even better... an FEC! */
#define CONFIG_TOP860 1 /* ...on a TOP860 module */
+
+#define CONFIG_SYS_TEXT_BASE 0x80000000
+
#undef CONFIG_WATCHDOG /* watchdog disabled */
#define CONFIG_IDENT_STRING " EMK TOP860"
diff --git a/include/configs/TQM5200.h b/include/configs/TQM5200.h
index a4c74615e3..f9d1110ecd 100644
--- a/include/configs/TQM5200.h
+++ b/include/configs/TQM5200.h
@@ -37,6 +37,17 @@
#define CONFIG_TQM5200 1 /* ... on TQM5200 module */
#undef CONFIG_TQM5200_REV100 /* define for revision 100 modules */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFC000000 boot low (standard configuration with room for
+ * max 64 MByte Flash ROM)
+ * 0xFFF00000 boot high (for a backup copy of U-Boot)
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFC000000
+#endif
+
/* On a Cameron or on a FO300 board or ... */
#if !defined(CONFIG_CAM5200) && !defined(CONFIG_FO300)
#define CONFIG_STK52XX 1 /* ... on a STK52XX board */
diff --git a/include/configs/TQM823L.h b/include/configs/TQM823L.h
index 372c76dcc8..c2753a692d 100644
--- a/include/configs/TQM823L.h
+++ b/include/configs/TQM823L.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_TQM823L 1 /* ...on a TQM8xxL module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#ifdef CONFIG_LCD /* with LCD controller ? */
#define CONFIG_LCD_LOGO 1 /* print our logo on the LCD */
#define CONFIG_LCD_INFO 1 /* ... and some board info */
diff --git a/include/configs/TQM823M.h b/include/configs/TQM823M.h
index 64c97071d6..028cff7b44 100644
--- a/include/configs/TQM823M.h
+++ b/include/configs/TQM823M.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_TQM823M 1 /* ...on a TQM8xxM module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#ifdef CONFIG_LCD /* with LCD controller ? */
/* #define CONFIG_NEC_NL6448BC20 1 / * use NEC NL6448BC20 display */
#endif
diff --git a/include/configs/TQM8260.h b/include/configs/TQM8260.h
index de5a86eb0c..5cbab9bf1a 100644
--- a/include/configs/TQM8260.h
+++ b/include/configs/TQM8260.h
@@ -44,6 +44,8 @@
* (easy to change)
*/
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_MPC8260 1 /* This is a MPC8260 CPU */
#if 0
diff --git a/include/configs/TQM8272.h b/include/configs/TQM8272.h
index e9251ddd0d..a8a9ddfd9e 100644
--- a/include/configs/TQM8272.h
+++ b/include/configs/TQM8272.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC8272_FAMILY 1
#define CONFIG_TQM8272 1
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_GET_CPU_STR_F 1 /* Get the CPU ID STR */
#define CONFIG_BOARD_GET_CPU_CLK_F 1 /* Get the CLKIN from board fct */
diff --git a/include/configs/TQM834x.h b/include/configs/TQM834x.h
index 35af262427..a34e4427bc 100644
--- a/include/configs/TQM834x.h
+++ b/include/configs/TQM834x.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC8349 1 /* MPC8349 specific */
#define CONFIG_TQM834X 1 /* TQM834X board specific */
+#define CONFIG_SYS_TEXT_BASE 0x80000000
+
/* IMMR Base Addres Register, use Freescale default: 0xff400000 */
#define CONFIG_SYS_IMMR 0xff400000
diff --git a/include/configs/TQM850L.h b/include/configs/TQM850L.h
index bf6ecce470..2e091f8d2d 100644
--- a/include/configs/TQM850L.h
+++ b/include/configs/TQM850L.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_TQM850L 1 /* ...on a TQM8xxL module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM850M.h b/include/configs/TQM850M.h
index 74424527b8..2c988c3e7d 100644
--- a/include/configs/TQM850M.h
+++ b/include/configs/TQM850M.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
#define CONFIG_TQM850M 1 /* ...on a TQM8xxM module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM855L.h b/include/configs/TQM855L.h
index 5bf8f0239d..f4ab9892ed 100644
--- a/include/configs/TQM855L.h
+++ b/include/configs/TQM855L.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC855 1 /* This is a MPC855 CPU */
#define CONFIG_TQM855L 1 /* ...on a TQM8xxL module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM855M.h b/include/configs/TQM855M.h
index 456ed7e473..c92a6aced8 100644
--- a/include/configs/TQM855M.h
+++ b/include/configs/TQM855M.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC855 1 /* This is a MPC855 CPU */
#define CONFIG_TQM855M 1 /* ...on a TQM8xxM module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM85xx.h b/include/configs/TQM85xx.h
index 2ff3ddc0bd..d95f75d578 100644
--- a/include/configs/TQM85xx.h
+++ b/include/configs/TQM85xx.h
@@ -41,6 +41,12 @@
#define CONFIG_E500 1 /* BOOKE e500 family */
#define CONFIG_MPC85xx 1 /* MPC8540/60/55/41 */
+#if defined(CONFIG_TQM8548_BE)
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+#else
+#define CONFIG_SYS_TEXT_BASE 0xfffc0000
+#endif
+
#if defined(CONFIG_TQM8548_AG) || defined(CONFIG_TQM8548_BE)
#define CONFIG_TQM8548
#endif
diff --git a/include/configs/TQM860L.h b/include/configs/TQM860L.h
index 94b9a3b1eb..ff629cf1b0 100644
--- a/include/configs/TQM860L.h
+++ b/include/configs/TQM860L.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_TQM860L 1 /* ...on a TQM8xxL module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM860M.h b/include/configs/TQM860M.h
index ce5e6917c7..aa682f3fbc 100644
--- a/include/configs/TQM860M.h
+++ b/include/configs/TQM860M.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1 /* This is a MPC860 CPU */
#define CONFIG_TQM860M 1 /* ...on a TQM8xxM module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM862L.h b/include/configs/TQM862L.h
index d77df9cad2..f36ef190ab 100644
--- a/include/configs/TQM862L.h
+++ b/include/configs/TQM862L.h
@@ -39,6 +39,8 @@
#define CONFIG_TQM862L 1 /* ...on a TQM8xxL module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM862M.h b/include/configs/TQM862M.h
index a6c465b318..fb8f538719 100644
--- a/include/configs/TQM862M.h
+++ b/include/configs/TQM862M.h
@@ -39,6 +39,8 @@
#define CONFIG_TQM862M 1 /* ...on a TQM8xxM module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/TQM866M.h b/include/configs/TQM866M.h
index 9ec815c600..f92bab0555 100644
--- a/include/configs/TQM866M.h
+++ b/include/configs/TQM866M.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC866 1 /* This is a MPC866 CPU */
#define CONFIG_TQM866M 1 /* ...on a TQM8xxM module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_OSCLK 10000000 /* 10 MHz - PLL input clock */
#define CONFIG_SYS_8xx_CPUCLK_MIN 15000000 /* 15 MHz - CPU minimum clock */
#define CONFIG_SYS_8xx_CPUCLK_MAX 133000000 /* 133 MHz - CPU maximum clock */
diff --git a/include/configs/TQM885D.h b/include/configs/TQM885D.h
index c715c0783e..7418512a15 100644
--- a/include/configs/TQM885D.h
+++ b/include/configs/TQM885D.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC885 1 /* This is a MPC885 CPU */
#define CONFIG_TQM885D 1 /* ...on a TQM88D module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_OSCLK 10000000 /* 10 MHz - PLL input clock */
#define CONFIG_SYS_8xx_CPUCLK_MIN 15000000 /* 15 MHz - CPU minimum clock */
#define CONFIG_SYS_8xx_CPUCLK_MAX 133000000 /* 133 MHz - CPU maximum clock */
diff --git a/include/configs/Total5200.h b/include/configs/Total5200.h
index de11d86fe3..be0a9f806c 100644
--- a/include/configs/Total5200.h
+++ b/include/configs/Total5200.h
@@ -44,6 +44,16 @@
#define CONFIG_MPC5200 1 /* (more precisely a MPC5200 CPU) */
#define CONFIG_TOTAL5200 1 /* ... on Total5200 board */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFFF00000 boot high (standard configuration)
+ * 0xFE000000 boot low
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/VOH405.h b/include/configs/VOH405.h
index 0117cc0728..8dbee86794 100644
--- a/include/configs/VOH405.h
+++ b/include/configs/VOH405.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_VOH405 1 /* ...on a VOH405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/VOM405.h b/include/configs/VOM405.h
index 76016ac82f..63e6ca8139 100644
--- a/include/configs/VOM405.h
+++ b/include/configs/VOM405.h
@@ -35,6 +35,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_VOM405 1 /* ...on a VOM405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC8000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/VoVPN-GW.h b/include/configs/VoVPN-GW.h
index 8f8b55ed2e..805764aa93 100644
--- a/include/configs/VoVPN-GW.h
+++ b/include/configs/VoVPN-GW.h
@@ -29,6 +29,8 @@
/* define busmode: 8260 */
#undef CONFIG_BUSMODE_60x
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
/* system clock rate (CLKIN) - equal to the 60x and local bus speed */
#ifdef CONFIG_CLKIN_66MHz
#define CONFIG_8260_CLKIN 66666666 /* in Hz */
diff --git a/include/configs/W7OLMC.h b/include/configs/W7OLMC.h
index 0fbe80ce8c..fce7f2814f 100644
--- a/include/configs/W7OLMC.h
+++ b/include/configs/W7OLMC.h
@@ -38,6 +38,8 @@
#define CONFIG_W7O 1 /* ...on a Wave 7 Optics board */
#define CONFIG_W7OLMC 1 /* ...specifically an LMC */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_F 1 /* and misc_init_f() */
#define CONFIG_MISC_INIT_R 1 /* and misc_init_r() */
diff --git a/include/configs/W7OLMG.h b/include/configs/W7OLMG.h
index f12fa55d2a..0144fbde34 100644
--- a/include/configs/W7OLMG.h
+++ b/include/configs/W7OLMG.h
@@ -38,6 +38,8 @@
#define CONFIG_W7O 1 /* ...on a Wave 7 Optics board */
#define CONFIG_W7OLMG 1 /* ...specifically an LMG */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_F 1 /* and misc_init_f() */
#define CONFIG_MISC_INIT_R 1 /* and misc_init_r() */
diff --git a/include/configs/WUH405.h b/include/configs/WUH405.h
index 34a5fff138..3ca19fcfb4 100644
--- a/include/configs/WUH405.h
+++ b/include/configs/WUH405.h
@@ -38,6 +38,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_WUH405 1 /* ...on a WUH405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/XPEDITE1000.h b/include/configs/XPEDITE1000.h
index c378542c39..b2399c6cce 100644
--- a/include/configs/XPEDITE1000.h
+++ b/include/configs/XPEDITE1000.h
@@ -39,6 +39,8 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
/*
* DDR config
*/
diff --git a/include/configs/XPEDITE5170.h b/include/configs/XPEDITE5170.h
index 729a48597b..31ca59dfd9 100644
--- a/include/configs/XPEDITE5170.h
+++ b/include/configs/XPEDITE5170.h
@@ -40,6 +40,8 @@
#define CONFIG_HIGH_BATS 1 /* High BATs supported and enabled */
#define CONFIG_ALTIVEC 1
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
#define CONFIG_PCI_PNP 1 /* do pci plug-and-play */
#define CONFIG_PCI_SCAN_SHOW 1 /* show pci devices on startup */
diff --git a/include/configs/XPEDITE5200.h b/include/configs/XPEDITE5200.h
index 7ff440e247..1f27c5ef22 100644
--- a/include/configs/XPEDITE5200.h
+++ b/include/configs/XPEDITE5200.h
@@ -38,6 +38,10 @@
#define CONFIG_SYS_BOARD_NAME "XPedite5200"
#define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+#endif
+
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
#define CONFIG_PCI_PNP 1 /* do pci plug-and-play */
#define CONFIG_PCI_SCAN_SHOW 1 /* show pci devices on startup */
diff --git a/include/configs/XPEDITE5370.h b/include/configs/XPEDITE5370.h
index 634ba74d8f..24ee65ed61 100644
--- a/include/configs/XPEDITE5370.h
+++ b/include/configs/XPEDITE5370.h
@@ -38,6 +38,10 @@
#define CONFIG_SYS_BOARD_NAME "XPedite5370"
#define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+#endif
+
#define CONFIG_PCI 1 /* Enable PCI/PCIE */
#define CONFIG_PCI_PNP 1 /* do pci plug-and-play */
#define CONFIG_PCI_SCAN_SHOW 1 /* show pci devices on startup */
diff --git a/include/configs/Yukon8220.h b/include/configs/Yukon8220.h
index 273b4e240e..398a70d6ad 100644
--- a/include/configs/Yukon8220.h
+++ b/include/configs/Yukon8220.h
@@ -31,6 +31,8 @@
#define CONFIG_MPC8220 1
#define CONFIG_YUKON8220 1 /* ... on Yukon board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_BAT_RW 1 /* Use common BAT rw code */
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
diff --git a/include/configs/ZPC1900.h b/include/configs/ZPC1900.h
index d0dc067c70..d305fa4a85 100644
--- a/include/configs/ZPC1900.h
+++ b/include/configs/ZPC1900.h
@@ -29,6 +29,9 @@
#define CONFIG_MPC8260 1 /* This is an MPC8260 CPU */
#define CONFIG_ZPC1900 1 /* ...on Zephyr ZPC.1900 board */
+
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CPU_ID_STR "MPC8265"
#define CONFIG_CPM2 1 /* Has a CPM2 */
diff --git a/include/configs/ZUMA.h b/include/configs/ZUMA.h
index fcc47a99ec..b161dde2aa 100644
--- a/include/configs/ZUMA.h
+++ b/include/configs/ZUMA.h
@@ -41,6 +41,8 @@
#define CONFIG_EVB64260 1 /* this is an EVB64260 board */
#define CONFIG_ZUMA_V2 1 /* always define this for ZUMA v2 */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
/* #define CONFIG_ZUMA_V2_OLD 1 */ /* backwards compat for old V2 board */
#define CONFIG_BAUDRATE 38400 /* console baudrate = 38400 */
diff --git a/include/configs/acadia.h b/include/configs/acadia.h
index 39f85ae3b6..c1bd4be944 100644
--- a/include/configs/acadia.h
+++ b/include/configs/acadia.h
@@ -35,6 +35,10 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_405EZ 1 /* Specifc 405EZ support*/
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+#endif
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/aev.h b/include/configs/aev.h
index 15a242cc17..187e5c1987 100644
--- a/include/configs/aev.h
+++ b/include/configs/aev.h
@@ -41,6 +41,17 @@
#define CONFIG_AEVFIFO 1
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFC000000 boot low (standard configuration with room for
+ * max 64 MByte Flash ROM)
+ * 0xFFF00000 boot high (for a backup copy of U-Boot)
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFC000000
+#endif
+
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/alpr.h b/include/configs/alpr.h
index 70382914b8..74a078146a 100644
--- a/include/configs/alpr.h
+++ b/include/configs/alpr.h
@@ -33,6 +33,9 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
#define CONFIG_LAST_STAGE_INIT 1 /* call last_stage_init() */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
#define CONFIG_4xx_DCACHE /* Enable i- and d-cache */
diff --git a/include/configs/aria.h b/include/configs/aria.h
index cb2c726391..3f1e7f7ffd 100644
--- a/include/configs/aria.h
+++ b/include/configs/aria.h
@@ -51,6 +51,8 @@
#define CONFIG_FSL_DIU_FB 1 /* FSL DIU */
#define CONFIG_FSL_DIU_LOGO_BMP 1 /* Don't include FSL DIU binary bmp */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* video */
#undef CONFIG_VIDEO
diff --git a/include/configs/atc.h b/include/configs/atc.h
index 6f4fa2bf29..8ec8c79523 100644
--- a/include/configs/atc.h
+++ b/include/configs/atc.h
@@ -37,6 +37,8 @@
#define CONFIG_ATC 1 /* ...on a ATC board */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+
/*
* select serial console configuration
*
diff --git a/include/configs/bamboo.h b/include/configs/bamboo.h
index 18276c5886..1bdfd9da2f 100644
--- a/include/configs/bamboo.h
+++ b/include/configs/bamboo.h
@@ -36,6 +36,10 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+#endif
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/barco.h b/include/configs/barco.h
index eef711a270..9073b2f863 100644
--- a/include/configs/barco.h
+++ b/include/configs/barco.h
@@ -62,6 +62,8 @@
#define CONFIG_MPC8245 1
#define CONFIG_BARCOBCD_STREAMING 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#undef USE_DINK32
#define CONFIG_CONS_INDEX 3 /* set to '3' for on-chip DUART */
diff --git a/include/configs/bluestone.h b/include/configs/bluestone.h
index 560c64ff44..0bb97d9ea4 100644
--- a/include/configs/bluestone.h
+++ b/include/configs/bluestone.h
@@ -31,6 +31,11 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_440 1
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+#endif
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/bubinga.h b/include/configs/bubinga.h
index 3e64492cd0..7262b3e8a0 100644
--- a/include/configs/bubinga.h
+++ b/include/configs/bubinga.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_BUBINGA 1 /* ...on a BUBINGA board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/c2mon.h b/include/configs/c2mon.h
index 4508d757ac..15d79c4cae 100644
--- a/include/configs/c2mon.h
+++ b/include/configs/c2mon.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC855 1 /* This is a MPC855 CPU */
#define CONFIG_C2MON 1 /* ...on a C2MON module */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_80MHz 1 /* Running at 5 * 16 = 80 MHz */
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
diff --git a/include/configs/canmb.h b/include/configs/canmb.h
index 46d966d00e..0f2f386156 100644
--- a/include/configs/canmb.h
+++ b/include/configs/canmb.h
@@ -33,6 +33,13 @@
#define CONFIG_MPC5200 1 /* More exactly a MPC5200 */
#define CONFIG_CANMB 1 /* ... on canmb board - we need this for FEC.C */
+/*
+ * allowed and functional CONFIG_SYS_TEXT_BASE values:
+ * 0xfe000000 low boot at 0x00000100 (default board setting)
+ * 0x00100000 RAM load and test
+ */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/canyonlands.h b/include/configs/canyonlands.h
index 51087f7371..fcc7d0e3ed 100644
--- a/include/configs/canyonlands.h
+++ b/include/configs/canyonlands.h
@@ -48,6 +48,10 @@
#define CONFIG_440 1
#define CONFIG_4xx 1 /* ... PPC4xx family */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+#endif
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/cm5200.h b/include/configs/cm5200.h
index 289335180f..84311e3f7d 100644
--- a/include/configs/cm5200.h
+++ b/include/configs/cm5200.h
@@ -31,6 +31,8 @@
#define CONFIG_MPC5200 1 /* (more precisely an MPC5200 CPU) */
#define CONFIG_CM5200 1 /* ... on CM5200 platform */
+#define CONFIG_SYS_TEXT_BASE 0xfc000000
+
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
/*
diff --git a/include/configs/cmi_mpc5xx.h b/include/configs/cmi_mpc5xx.h
index ae3e15cb66..72fdb6bdbe 100644
--- a/include/configs/cmi_mpc5xx.h
+++ b/include/configs/cmi_mpc5xx.h
@@ -38,6 +38,8 @@
#define CONFIG_MPC555 1 /* This is an MPC555 CPU */
#define CONFIG_CMI 1 /* Using the customized cmi board */
+#define CONFIG_SYS_TEXT_BASE 0x02000000 /* Boot from flash at location 0x00000000 */
+
/* Serial Console Configuration */
#define CONFIG_5xx_CONS_SCI1
#undef CONFIG_5xx_CONS_SCI2
diff --git a/include/configs/cogent_mpc8260.h b/include/configs/cogent_mpc8260.h
index 872333f711..444fce6831 100644
--- a/include/configs/cogent_mpc8260.h
+++ b/include/configs/cogent_mpc8260.h
@@ -37,6 +37,8 @@
#define CONFIG_COGENT 1 /* using Cogent Modular Architecture */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_MISC_INIT_F 1 /* Use misc_init_f() */
#define CONFIG_MISC_INIT_R /* Use misc_init_r() */
diff --git a/include/configs/cogent_mpc8xx.h b/include/configs/cogent_mpc8xx.h
index 329bc9930a..a23db1c0b7 100644
--- a/include/configs/cogent_mpc8xx.h
+++ b/include/configs/cogent_mpc8xx.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1 /* This is an MPC860 CPU */
#define CONFIG_COGENT 1 /* using Cogent Modular Architecture */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_MISC_INIT_F 1 /* Use misc_init_f() */
#define CONFIG_MISC_INIT_R /* Use misc_init_r() */
diff --git a/include/configs/cpci5200.h b/include/configs/cpci5200.h
index 712db6d507..2bedae2744 100644
--- a/include/configs/cpci5200.h
+++ b/include/configs/cpci5200.h
@@ -45,6 +45,10 @@
#define CONFIG_CPCI5200 1 /* ... on CPCI5200 board */
#define CONFIG_MPC5200_DDR 1 /* ... use DDR RAM */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000 /* Standard: boot high */
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/csb272.h b/include/configs/csb272.h
index 2aca605185..24367bae6d 100644
--- a/include/configs/csb272.h
+++ b/include/configs/csb272.h
@@ -40,6 +40,8 @@
#define CONFIG_LAST_STAGE_INIT 1 /* Call last_stage_init() */
#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* OS Bootstrap configuration
*
diff --git a/include/configs/csb472.h b/include/configs/csb472.h
index 3450e24601..ad8811f6c4 100644
--- a/include/configs/csb472.h
+++ b/include/configs/csb472.h
@@ -40,6 +40,8 @@
#define CONFIG_LAST_STAGE_INIT 1 /* Call last_stage_init() */
#define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* OS Bootstrap configuration
*
diff --git a/include/configs/debris.h b/include/configs/debris.h
index 33b2120c1d..42b8c342de 100644
--- a/include/configs/debris.h
+++ b/include/configs/debris.h
@@ -30,6 +30,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* Environments */
/* bootargs */
diff --git a/include/configs/digsy_mtc.h b/include/configs/digsy_mtc.h
index 0b366f4dfd..3368b2d263 100644
--- a/include/configs/digsy_mtc.h
+++ b/include/configs/digsy_mtc.h
@@ -40,6 +40,16 @@
#define CONFIG_MPC5200 1 /* (more precisely an MPC5200 CPU) */
#define CONFIG_DIGSY_MTC 1 /* ... on InterControl digsyMTC board */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFFF00000 boot high (standard configuration)
+ * 0xFE000000 boot low
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000 /* Standard: boot high */
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000
#define BOOTFLAG_COLD 0x01
diff --git a/include/configs/dlvision.h b/include/configs/dlvision.h
index 21d2d284a6..0d44eda867 100644
--- a/include/configs/dlvision.h
+++ b/include/configs/dlvision.h
@@ -28,6 +28,8 @@
#define CONFIG_4xx 1 /* member of PPC4xx family */
#define CONFIG_DLVISION 1 /* on a Neo board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/eXalion.h b/include/configs/eXalion.h
index 6a71cfac5b..bacdbf0e5d 100644
--- a/include/configs/eXalion.h
+++ b/include/configs/eXalion.h
@@ -40,6 +40,8 @@
#define CONFIG_MPC8245 1
#define CONFIG_EXALION 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#if defined (CONFIG_MPC8240)
/* #warning ---------- eXalion with MPC8240 --------------- */
#elif defined (CONFIG_MPC8245)
diff --git a/include/configs/ebony.h b/include/configs/ebony.h
index 8c3284a94d..a0d3869660 100644
--- a/include/configs/ebony.h
+++ b/include/configs/ebony.h
@@ -37,6 +37,8 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/ep8248.h b/include/configs/ep8248.h
index 8c042f8413..1576533304 100644
--- a/include/configs/ep8248.h
+++ b/include/configs/ep8248.h
@@ -31,6 +31,8 @@
#define CONFIG_EP8248 /* Embedded Planet EP8248 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
/* Allow serial number (serial#) and MAC address (ethaddr) to be overwritten */
diff --git a/include/configs/ep8260.h b/include/configs/ep8260.h
index 482b348939..ab646ae348 100644
--- a/include/configs/ep8260.h
+++ b/include/configs/ep8260.h
@@ -48,6 +48,8 @@
#define CONFIG_SYS_EP8260_H2 1
/* #undef CONFIG_SYS_EP8260_H2 */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_CPM2 1 /* Has a CPM2 */
/* What is the oscillator's (UX2) frequency in Hz? */
diff --git a/include/configs/ep82xxm.h b/include/configs/ep82xxm.h
index afa35a3065..90407a85c0 100644
--- a/include/configs/ep82xxm.h
+++ b/include/configs/ep82xxm.h
@@ -31,6 +31,8 @@
#define CONFIG_EP82XXM /* Embedded Planet EP82xxM H 1.0 board */
/* 256MB SDRAM / 64MB FLASH */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
/* Allow serial number (serial#) and MAC address (ethaddr) to be overwritten */
diff --git a/include/configs/galaxy5200.h b/include/configs/galaxy5200.h
index 7bf6de2536..f6585d03f1 100644
--- a/include/configs/galaxy5200.h
+++ b/include/configs/galaxy5200.h
@@ -46,6 +46,20 @@
#define BOOTFLAG_WARM 0x02 /* Software reboot */
/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFFF00000 boot high (standard configuration)
+ * 0xFE000000 boot low
+ * 0x00100000 boot from RAM (for testing only) does not work
+ */
+#ifdef CONFIG_galaxy5200_LOWBOOT
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+#endif
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000 /* Standard: boot high */
+#endif
+
+/*
* Serial console configuration
*/
#define CONFIG_PSC_CONSOLE 4 /* console is on PSC4 -> */
diff --git a/include/configs/gdppc440etx.h b/include/configs/gdppc440etx.h
index d6db7bf494..282afbcc61 100644
--- a/include/configs/gdppc440etx.h
+++ b/include/configs/gdppc440etx.h
@@ -40,6 +40,8 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_SYS_CLK_FREQ 66666666 /* external freq to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/gw8260.h b/include/configs/gw8260.h
index cb3dd9ac07..9e7646703b 100644
--- a/include/configs/gw8260.h
+++ b/include/configs/gw8260.h
@@ -50,6 +50,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
/* Enable debug prints */
#undef DEBUG_BOOTP_EXT /* Debug received vendor fields */
diff --git a/include/configs/hcu4.h b/include/configs/hcu4.h
index 394a45fe43..dd5e5a20c6 100644
--- a/include/configs/hcu4.h
+++ b/include/configs/hcu4.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1
#define CONFIG_HOSTNAME hcu4
+#define CONFIG_SYS_TEXT_BASE 0xFFFB0000
+
/*
* Include common defines/options for all boards produced by Netstal Maschinen
*/
diff --git a/include/configs/hcu5.h b/include/configs/hcu5.h
index a4633e139e..a2edf51e20 100644
--- a/include/configs/hcu5.h
+++ b/include/configs/hcu5.h
@@ -41,6 +41,8 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_HOSTNAME hcu5
+#define CONFIG_SYS_TEXT_BASE 0xFFFB0000
+
/*
* Include common defines/options for all boards produced by Netstal Maschinen
*/
diff --git a/include/configs/hermes.h b/include/configs/hermes.h
index 0df46fa4de..0c46398ef9 100644
--- a/include/configs/hermes.h
+++ b/include/configs/hermes.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC860 1 /* This is a MPC860T CPU */
#define CONFIG_HERMES 1 /* ...on a HERMES-PRO board */
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/hmi1001.h b/include/configs/hmi1001.h
index 5d99121a39..edb9a3a4ab 100644
--- a/include/configs/hmi1001.h
+++ b/include/configs/hmi1001.h
@@ -33,6 +33,10 @@
#define CONFIG_MPC5200 1 /* (more precisely an MPC5200 CPU) */
#define CONFIG_HMI1001 1 /* HMI1001 board */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/hymod.h b/include/configs/hymod.h
index 6efa9d2014..406f35c771 100644
--- a/include/configs/hymod.h
+++ b/include/configs/hymod.h
@@ -37,6 +37,8 @@
#define CONFIG_HYMOD 1 /* ...on a Hymod board */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_MISC_INIT_F 1 /* Use misc_init_f() */
#define CONFIG_BOARD_POSTCLK_INIT /* have board_postclk_init() function */
diff --git a/include/configs/icon.h b/include/configs/icon.h
index ad0ca5d37c..8d98d57f88 100644
--- a/include/configs/icon.h
+++ b/include/configs/icon.h
@@ -35,6 +35,9 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_440SPE 1 /* Specifc SPe support */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
#define CONFIG_SYS_4xx_RESET_TYPE 0x2 /* use chip reset on this board */
diff --git a/include/configs/inka4x0.h b/include/configs/inka4x0.h
index 0f95445777..f77961228c 100644
--- a/include/configs/inka4x0.h
+++ b/include/configs/inka4x0.h
@@ -36,6 +36,15 @@
#define CONFIG_MPC5200 1 /* (more precisely an MPC5200 CPU) */
#define CONFIG_INKA4X0 1 /* INKA4x0 board */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFFE00000 boot low
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFE00000 /* Standard: boot low */
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/intip.h b/include/configs/intip.h
index 82c828284a..56d2be2afe 100644
--- a/include/configs/intip.h
+++ b/include/configs/intip.h
@@ -45,6 +45,10 @@
#define CONFIG_440 1
#define CONFIG_4xx 1 /* ... PPC4xx family */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+#endif
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/ipek01.h b/include/configs/ipek01.h
index b515aed356..05f66daf87 100644
--- a/include/configs/ipek01.h
+++ b/include/configs/ipek01.h
@@ -37,6 +37,8 @@
#define CONFIG_MPC5200_DDR 1 /* ... use DDR RAM */
#define CONFIG_IPEK01 /* Motherboard is ipek01 */
+#define CONFIG_SYS_TEXT_BASE 0xfc000000
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33MHz */
#define CONFIG_MISC_INIT_R
diff --git a/include/configs/jupiter.h b/include/configs/jupiter.h
index 082deed6a5..4b3b0085c9 100644
--- a/include/configs/jupiter.h
+++ b/include/configs/jupiter.h
@@ -33,6 +33,15 @@
#define CONFIG_MPC5200 1 /* especially an MPC5200 */
#define CONFIG_JUPITER 1 /* ... on Jupiter board */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFFF00000 boot high (standard configuration)
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define CONFIG_BOARD_EARLY_INIT_R 1
diff --git a/include/configs/katmai.h b/include/configs/katmai.h
index e4ccd7dafe..135a4c26aa 100644
--- a/include/configs/katmai.h
+++ b/include/configs/katmai.h
@@ -41,6 +41,8 @@
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
#define CONFIG_SYS_4xx_RESET_TYPE 0x2 /* use chip reset on this board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+
/*
* Enable this board for more than 2GB of SDRAM
*/
diff --git a/include/configs/kilauea.h b/include/configs/kilauea.h
index 612a0fe9ff..e153b3120f 100644
--- a/include/configs/kilauea.h
+++ b/include/configs/kilauea.h
@@ -39,6 +39,10 @@
#define CONFIG_405EX 1 /* Specifc 405EX support*/
#define CONFIG_SYS_CLK_FREQ 33333333 /* ext frequency to pll */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+#endif
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/kmeter1.h b/include/configs/kmeter1.h
index ecb0228c70..9117842f42 100644
--- a/include/configs/kmeter1.h
+++ b/include/configs/kmeter1.h
@@ -30,6 +30,8 @@
#define CONFIG_KMETER1 1 /* KMETER1 board specific */
#define CONFIG_HOSTNAME kmeter1
+#define CONFIG_SYS_TEXT_BASE 0xF0000000
+
/* include common defines/options for all Keymile boards */
#include "keymile-common.h"
diff --git a/include/configs/kmsupx4.h b/include/configs/kmsupx4.h
index 8f1e602a2e..228bdd7cf9 100644
--- a/include/configs/kmsupx4.h
+++ b/include/configs/kmsupx4.h
@@ -32,6 +32,8 @@
#define CONFIG_KMSUPX4 1 /* ...on a kmsupx4 board */
#define CONFIG_HOSTNAME kmsupx4
+#define CONFIG_SYS_TEXT_BASE 0xf0000000
+
/* include common defines/options for all Keymile 8xx boards */
#include "km8xx.h"
diff --git a/include/configs/korat.h b/include/configs/korat.h
index 63cdd5d054..96a984d56e 100644
--- a/include/configs/korat.h
+++ b/include/configs/korat.h
@@ -38,6 +38,12 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_SYS_CLK_FREQ 33333333
+#ifdef CONFIG_KORAT_PERMANENT
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+#else
+#define CONFIG_SYS_TEXT_BASE 0xF7F60000
+#endif
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */
diff --git a/include/configs/kvme080.h b/include/configs/kvme080.h
index 7eabefa3a3..560cfb52e2 100644
--- a/include/configs/kvme080.h
+++ b/include/configs/kvme080.h
@@ -28,6 +28,8 @@
#define CONFIG_MPC8245 1
#define CONFIG_KVME080 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_CONS_INDEX 1
#define CONFIG_BAUDRATE 115200
diff --git a/include/configs/linkstation.h b/include/configs/linkstation.h
index 54c99ae14f..2918d790d6 100644
--- a/include/configs/linkstation.h
+++ b/include/configs/linkstation.h
@@ -20,6 +20,22 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ *
+ * Standard configuration - all models
+ * 0xFFF00000 boot from flash
+ *
+ * Test configuration (boot from RAM using uloader.o)
+ * LinkStation HD-HLAN and KuroBox Standard
+ * 0x03F00000 boot from RAM
+ * LinkStation HD-HGLAN and KuroBox HG
+ * 0x07F00000 boot from RAM
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#if 0
#define DEBUG
#endif
diff --git a/include/configs/luan.h b/include/configs/luan.h
index 6b1a41f8e0..d8014047b7 100644
--- a/include/configs/luan.h
+++ b/include/configs/luan.h
@@ -37,6 +37,8 @@
#define CONFIG_440 1
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFFB0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/lwmon.h b/include/configs/lwmon.h
index be20d72909..3b7293a7ea 100644
--- a/include/configs/lwmon.h
+++ b/include/configs/lwmon.h
@@ -39,6 +39,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823E CPU */
#define CONFIG_LWMON 1 /* ...on a LWMON board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
/* Default Ethernet MAC address */
#define CONFIG_ETHADDR 00:11:B0:00:00:00
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index b061dddf98..19d2989d4f 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -36,6 +36,11 @@
#define CONFIG_440EPX 1 /* Specific PPC440EPx */
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_4xx 1 /* ... PPC4xx family */
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+#endif
+
#define CONFIG_SYS_CLK_FREQ 33300000 /* external freq to pll */
#define CONFIG_BOARD_EARLY_INIT_F /* Call board_early_init_f */
diff --git a/include/configs/makalu.h b/include/configs/makalu.h
index 80163d49ee..c4853ab9c2 100644
--- a/include/configs/makalu.h
+++ b/include/configs/makalu.h
@@ -39,6 +39,8 @@
#define CONFIG_405EX 1 /* Specifc 405EX support*/
#define CONFIG_SYS_CLK_FREQ 33330000 /* ext frequency to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/mcc200.h b/include/configs/mcc200.h
index 00097c99ae..72d9750528 100644
--- a/include/configs/mcc200.h
+++ b/include/configs/mcc200.h
@@ -33,6 +33,16 @@
#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */
#define CONFIG_MCC200 1 /* ... on MCC200 board */
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFC000000 boot low (standard configuration)
+ * 0xFFF00000 boot high
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFC000000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33MHz */
#define CONFIG_MISC_INIT_R
diff --git a/include/configs/mcu25.h b/include/configs/mcu25.h
index 0f6d161e39..4aef6fc962 100644
--- a/include/configs/mcu25.h
+++ b/include/configs/mcu25.h
@@ -37,6 +37,8 @@
#define CONFIG_4xx 1
#define CONFIG_HOSTNAME mcu25
+#define CONFIG_SYS_TEXT_BASE 0xFFFB0000
+
/*
* Include common defines/options for all boards produced by Netstal Maschinen
*/
diff --git a/include/configs/mecp5123.h b/include/configs/mecp5123.h
index fe32bb2cb8..43c0528637 100644
--- a/include/configs/mecp5123.h
+++ b/include/configs/mecp5123.h
@@ -48,6 +48,8 @@
#define CONFIG_E300 1 /* E300 Family */
#define CONFIG_MPC512X 1 /* MPC512X family */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_SYS_MPC512X_CLKIN 33333333 /* in Hz */
#define CONFIG_BOARD_EARLY_INIT_F /* call board_early_init_f() */
diff --git a/include/configs/mecp5200.h b/include/configs/mecp5200.h
index 5aef5b20c7..8edb84d8bc 100644
--- a/include/configs/mecp5200.h
+++ b/include/configs/mecp5200.h
@@ -45,6 +45,10 @@
#define CONFIG_MECP5200 1 /* ... on MECP5200 board */
#define CONFIG_MPC5200_DDR 1 /* ... use DDR RAM */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/mgcoge.h b/include/configs/mgcoge.h
index b35faae0e8..152c9a6acc 100644
--- a/include/configs/mgcoge.h
+++ b/include/configs/mgcoge.h
@@ -34,6 +34,8 @@
#define CONFIG_MGCOGE 1
#define CONFIG_HOSTNAME mgcoge
+#define CONFIG_SYS_TEXT_BASE 0xFE000000
+
#define CONFIG_CPM2 1 /* Has a CPM2 */
/* include common defines/options for all Keymile boards */
diff --git a/include/configs/mgsuvd.h b/include/configs/mgsuvd.h
index 1618f7dce1..6036da8b5e 100644
--- a/include/configs/mgsuvd.h
+++ b/include/configs/mgsuvd.h
@@ -32,6 +32,8 @@
#define CONFIG_MGSUVD 1 /* ...on a mgsuvd board */
#define CONFIG_HOSTNAME mgsuvd
+#define CONFIG_SYS_TEXT_BASE 0xf0000000
+
/* include common defines/options for all Keymile 8xx boards */
#include "km8xx.h"
diff --git a/include/configs/motionpro.h b/include/configs/motionpro.h
index 7a7d5b9b5c..af2f40aceb 100644
--- a/include/configs/motionpro.h
+++ b/include/configs/motionpro.h
@@ -37,6 +37,8 @@
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
/*
* BOOTP options
*/
diff --git a/include/configs/mpc5121ads.h b/include/configs/mpc5121ads.h
index 07e7747dbe..f5c2bd3a57 100644
--- a/include/configs/mpc5121ads.h
+++ b/include/configs/mpc5121ads.h
@@ -48,6 +48,8 @@
#define CONFIG_MPC512X 1 /* MPC512X family */
#define CONFIG_FSL_DIU_FB 1 /* FSL DIU */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
/* video */
#undef CONFIG_VIDEO
diff --git a/include/configs/mpc7448hpc2.h b/include/configs/mpc7448hpc2.h
index 8068b4051a..ae5e1098f6 100644
--- a/include/configs/mpc7448hpc2.h
+++ b/include/configs/mpc7448hpc2.h
@@ -42,6 +42,8 @@
#define CONFIG_HIGH_BATS /* High BATs supported */
#define CONFIG_ALTIVEC /* undef to disable */
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+
#define CONFIG_SYS_BOARD_NAME "MPC7448 HPC II"
#define CONFIG_IDENT_STRING " Freescale MPC7448 HPC II"
diff --git a/include/configs/mpc8308_p1m.h b/include/configs/mpc8308_p1m.h
index 33d184432d..18f205a58d 100644
--- a/include/configs/mpc8308_p1m.h
+++ b/include/configs/mpc8308_p1m.h
@@ -33,6 +33,10 @@
#define CONFIG_MPC8308 1 /* MPC8308 CPU specific */
#define CONFIG_MPC8308_P1M 1 /* mpc8308_p1m board specific */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFC000000
+#endif
+
/*
* On-board devices
*
diff --git a/include/configs/muas3001.h b/include/configs/muas3001.h
index d01160da8e..e85b953755 100644
--- a/include/configs/muas3001.h
+++ b/include/configs/muas3001.h
@@ -33,6 +33,8 @@
#define CONFIG_MPC8260 1
#define CONFIG_MUAS3001 1
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+
#define CONFIG_CPM2 1 /* Has a CPM2 */
/* Do boardspecific init */
diff --git a/include/configs/mucmc52.h b/include/configs/mucmc52.h
index f87dc9c650..101788a678 100644
--- a/include/configs/mucmc52.h
+++ b/include/configs/mucmc52.h
@@ -35,6 +35,10 @@
#define CONFIG_MUCMC52 1 /* MUCMC52 board */
#define CONFIG_HOSTNAME mucmc52
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#include "manroland/common.h"
#include "manroland/mpc5200-common.h"
diff --git a/include/configs/munices.h b/include/configs/munices.h
index 01756f5021..91163680e8 100644
--- a/include/configs/munices.h
+++ b/include/configs/munices.h
@@ -31,6 +31,11 @@
#define CONFIG_MPC5200 1 /* (more precisely an MPC5200 CPU) */
#define CONFIG_MPC5200_DDR 1 /* (with DDR-SDRAM) */
#define CONFIG_MUNICES 1 /* ... on MUNICes board */
+
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33333333 /* ... running at 33.333333MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
#define BOOTFLAG_WARM 0x02 /* Software reboot */
diff --git a/include/configs/neo.h b/include/configs/neo.h
index f8f53e8f37..1063d123d2 100644
--- a/include/configs/neo.h
+++ b/include/configs/neo.h
@@ -29,6 +29,8 @@
#define CONFIG_4xx 1 /* member of PPC4xx family */
#define CONFIG_NEO 1 /* on a Neo board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/o2dnt.h b/include/configs/o2dnt.h
index 9466dfa4fd..cca32e65f1 100644
--- a/include/configs/o2dnt.h
+++ b/include/configs/o2dnt.h
@@ -32,6 +32,8 @@
#define CONFIG_MPC5200
#define CONFIG_O2DNT 1 /* ... on O2DNT board */
+#define CONFIG_SYS_TEXT_BASE 0xFF000000 /* boot low for 16 MiB boards */
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/ocotea.h b/include/configs/ocotea.h
index d11d218c00..f33f0ff2c8 100644
--- a/include/configs/ocotea.h
+++ b/include/configs/ocotea.h
@@ -46,6 +46,8 @@
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/p3mx.h b/include/configs/p3mx.h
index 17ec08fdd6..70c4b7d061 100644
--- a/include/configs/p3mx.h
+++ b/include/configs/p3mx.h
@@ -40,6 +40,8 @@
*----------------------------------------------------------------------*/
#define CONFIG_P3Mx /* used for both board versions */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#if defined (CONFIG_P3M750)
#define CONFIG_750FX /* 750GL/GX/FX */
#define CONFIG_HIGH_BATS /* High BATs supported */
diff --git a/include/configs/p3p440.h b/include/configs/p3p440.h
index 6edf91ecc6..4a2e420236 100644
--- a/include/configs/p3p440.h
+++ b/include/configs/p3p440.h
@@ -39,6 +39,9 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
#define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
/*-----------------------------------------------------------------------
diff --git a/include/configs/pcm030.h b/include/configs/pcm030.h
index 3443e86eff..c663b544d1 100644
--- a/include/configs/pcm030.h
+++ b/include/configs/pcm030.h
@@ -41,6 +41,17 @@ High Level Configuration Options
#define CONFIG_MPC5200_DDR 1 /* (with DDR-SDRAM) */
#define CONFIG_PHYCORE_MPC5200B_TINY 1 /* phyCORE-MPC5200B -> */
/* FEC configuration and IDE */
+
+/*
+ * Valid values for CONFIG_SYS_TEXT_BASE are:
+ * 0xFFF00000 boot high (standard configuration)
+ * 0xFF000000 boot low
+ * 0x00100000 boot from RAM (for testing only)
+ */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33333333 /* ... running at 33.333333MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
#define BOOTFLAG_WARM 0x02 /* Software reboot */
diff --git a/include/configs/pcs440ep.h b/include/configs/pcs440ep.h
index 85152d12a3..9f048512fa 100644
--- a/include/configs/pcs440ep.h
+++ b/include/configs/pcs440ep.h
@@ -40,6 +40,9 @@
#define CONFIG_440EP 1 /* Specific PPC440EP support */
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_4xx 1 /* ... PPC4xx family */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
diff --git a/include/configs/pdm360ng.h b/include/configs/pdm360ng.h
index ba7f9ca759..c6d87e3cfe 100644
--- a/include/configs/pdm360ng.h
+++ b/include/configs/pdm360ng.h
@@ -49,6 +49,8 @@
#define CONFIG_MPC512X 1 /* MPC512X family */
#define CONFIG_FSL_DIU_FB 1 /* FSL DIU */
+#define CONFIG_SYS_TEXT_BASE 0xF0000000
+
/* Used for silent command in environment */
#define CONFIG_SYS_DEVICE_NULLDEV
#define CONFIG_SILENT_CONSOLE
diff --git a/include/configs/pf5200.h b/include/configs/pf5200.h
index 8c8e0ab5b2..ad983e478b 100644
--- a/include/configs/pf5200.h
+++ b/include/configs/pf5200.h
@@ -44,6 +44,10 @@
#define CONFIG_PF5200 1 /* ... on PF5200 board */
#define CONFIG_MPC5200_DDR 1 /* ... use DDR RAM */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
diff --git a/include/configs/ppmc7xx.h b/include/configs/ppmc7xx.h
index 8e807f59df..09bf4e48ff 100644
--- a/include/configs/ppmc7xx.h
+++ b/include/configs/ppmc7xx.h
@@ -49,6 +49,7 @@
#undef CONFIG_ALTIVEC
#define CONFIG_BUS_CLK 66000000
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
/*
* Monitor configuration
diff --git a/include/configs/ppmc8260.h b/include/configs/ppmc8260.h
index 7db749896b..8ceb9bf38b 100644
--- a/include/configs/ppmc8260.h
+++ b/include/configs/ppmc8260.h
@@ -34,6 +34,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0xfe000000
+
/*****************************************************************************
*
* These settings must match the way _your_ board is set up
diff --git a/include/configs/quad100hd.h b/include/configs/quad100hd.h
index 83d1733f7f..f847f9cb33 100644
--- a/include/configs/quad100hd.h
+++ b/include/configs/quad100hd.h
@@ -34,6 +34,8 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_405EP 1 /* Specifc 405EP support*/
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_SYS_CLK_FREQ 33333333 /* external frequency to pll */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
diff --git a/include/configs/quantum.h b/include/configs/quantum.h
index e440e93a5a..a38145b421 100644
--- a/include/configs/quantum.h
+++ b/include/configs/quantum.h
@@ -39,6 +39,8 @@
#define CONFIG_RPXLITE 1 /* QUANTUM is the RPXlite clone */
#define CONFIG_RMU 1 /* The QUNATUM is based on our RMU */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/redwood.h b/include/configs/redwood.h
index 3c1e882b06..a7d5dac9af 100644
--- a/include/configs/redwood.h
+++ b/include/configs/redwood.h
@@ -33,6 +33,8 @@
#define CONFIG_460SX 1 /* ... PPC460 family */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_pre_init */
+#define CONFIG_SYS_TEXT_BASE 0xfffb0000
+
/*-----------------------------------------------------------------------
* Include common defines/options for all AMCC boards
*----------------------------------------------------------------------*/
diff --git a/include/configs/rmu.h b/include/configs/rmu.h
index fefb17fde7..66f46b9460 100644
--- a/include/configs/rmu.h
+++ b/include/configs/rmu.h
@@ -39,6 +39,8 @@
#define CONFIG_RPXLITE 1 /* RMU is the RPXlite clone */
#define CONFIG_RMU 1
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/rsdproto.h b/include/configs/rsdproto.h
index 8207844960..6b41b12ddb 100644
--- a/include/configs/rsdproto.h
+++ b/include/configs/rsdproto.h
@@ -39,6 +39,8 @@
#define CONFIG_RSD_PROTO 1 /* on a R&S Protocol Board */
#define CONFIG_CPM2 1 /* Has a CPM2 */
+#define CONFIG_SYS_TEXT_BASE 0xff000000
+
#define CONFIG_MISC_INIT_F 1 /* Use misc_init_f() */
/*
diff --git a/include/configs/sacsng.h b/include/configs/sacsng.h
index 9b39e1594b..f6049c4a39 100644
--- a/include/configs/sacsng.h
+++ b/include/configs/sacsng.h
@@ -35,6 +35,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#undef DEBUG_BOOTP_EXT /* Debug received vendor fields */
#undef CONFIG_LOGBUFFER /* External logbuffer support */
diff --git a/include/configs/sbc405.h b/include/configs/sbc405.h
index 187002c107..346c8479e9 100644
--- a/include/configs/sbc405.h
+++ b/include/configs/sbc405.h
@@ -36,6 +36,8 @@
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_SBC405 1 /* ...on a WR SBC405 board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
diff --git a/include/configs/sbc8240.h b/include/configs/sbc8240.h
index b00667f6f3..ea9304311b 100644
--- a/include/configs/sbc8240.h
+++ b/include/configs/sbc8240.h
@@ -43,6 +43,8 @@
#define CONFIG_MPC8240 1
#define CONFIG_WRSBC8240 1
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_CONS_INDEX 1
#define CONFIG_BAUDRATE 9600
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
diff --git a/include/configs/sbc8260.h b/include/configs/sbc8260.h
index 16dc4bb735..bfa0389fda 100644
--- a/include/configs/sbc8260.h
+++ b/include/configs/sbc8260.h
@@ -35,6 +35,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
/* Enable debug prints */
#undef DEBUG_BOOTP_EXT /* Debug received vendor fields */
diff --git a/include/configs/sbc8349.h b/include/configs/sbc8349.h
index 5ef32d8178..eecb9e61d5 100644
--- a/include/configs/sbc8349.h
+++ b/include/configs/sbc8349.h
@@ -32,17 +32,6 @@
#define __CONFIG_H
/*
- * Top level Makefile configuration choices
- */
-#ifdef CONFIG_66
-#define PCI_66M
-#endif
-
-#ifdef CONFIG_33
-#define PCI_33M
-#endif
-
-/*
* High Level Configuration Options
*/
#define CONFIG_E300 1 /* E300 Family */
@@ -51,6 +40,8 @@
#define CONFIG_MPC8349 1 /* MPC8349 specific */
#define CONFIG_SBC8349 1 /* WRS SBC8349 board specific */
+#define CONFIG_SYS_TEXT_BASE 0xFF800000
+
/* Don't enable PCI2 on sbc834x - it doesn't exist physically. */
#undef CONFIG_MPC83XX_PCI2 /* support for 2nd PCI controller */
@@ -60,14 +51,14 @@
* physically empty. The board will automatically (i.e w/o jumpers)
* clock down to 33MHz if you insert a 33MHz PCI card.
*/
-#ifdef PCI_33M
+#ifdef CONFIG_PCI_33M
#define CONFIG_83XX_CLKIN 33000000 /* in Hz */
#else /* 66M */
#define CONFIG_83XX_CLKIN 66000000 /* in Hz */
#endif
#ifndef CONFIG_SYS_CLK_FREQ
-#ifdef PCI_33M
+#ifdef CONFIG_PCI_33M
#define CONFIG_SYS_CLK_FREQ 33000000
#define HRCWL_CSB_TO_CLKIN HRCWL_CSB_TO_CLKIN_8X1
#else /* 66M */
diff --git a/include/configs/sbc8548.h b/include/configs/sbc8548.h
index 3624d37905..0cfd058a61 100644
--- a/include/configs/sbc8548.h
+++ b/include/configs/sbc8548.h
@@ -57,6 +57,10 @@
#define CONFIG_MPC8548 1 /* MPC8548 specific */
#define CONFIG_SBC8548 1 /* SBC8548 board specific */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfffa0000
+#endif
+
#undef CONFIG_RIO
#ifdef CONFIG_PCI
diff --git a/include/configs/sbc8560.h b/include/configs/sbc8560.h
index 0d0fbdd607..a75e4be212 100644
--- a/include/configs/sbc8560.h
+++ b/include/configs/sbc8560.h
@@ -46,6 +46,8 @@
#define CONFIG_MPC85xx 1 /* MPC8540/MPC8560 */
#define CONFIG_MPC85xx_REV1 1 /* MPC85xx Rev 1.0 chip */
+#define CONFIG_SYS_TEXT_BASE 0xfffc0000
+
#define CONFIG_CPM2 1 /* has CPM2 */
#define CONFIG_SBC8560 1 /* configuration for SBC8560 board */
diff --git a/include/configs/sbc8641d.h b/include/configs/sbc8641d.h
index 32c8c1830d..bc9a56a82a 100644
--- a/include/configs/sbc8641d.h
+++ b/include/configs/sbc8641d.h
@@ -43,6 +43,8 @@
#define CONFIG_MP 1 /* support multiple processors */
#define CONFIG_LINUX_RESET_VEC 0x100 /* Reset vector used by Linux */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#ifdef RUN_DIAG
#define CONFIG_SYS_DIAG_ADDR 0xff800000
#endif
diff --git a/include/configs/sc3.h b/include/configs/sc3.h
index 4a854a979a..e71f1ace58 100644
--- a/include/configs/sc3.h
+++ b/include/configs/sc3.h
@@ -62,6 +62,8 @@
#define CONFIG_4xx 1
#define CONFIG_405GP 1
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+
#define CONFIG_BOARD_EARLY_INIT_F 1
#define CONFIG_MISC_INIT_R 1 /* Call misc_init_r() */
diff --git a/include/configs/sequoia.h b/include/configs/sequoia.h
index cfda9576fe..412deeadb6 100644
--- a/include/configs/sequoia.h
+++ b/include/configs/sequoia.h
@@ -42,6 +42,10 @@
#define CONFIG_440 1 /* ... PPC440 family */
#define CONFIG_4xx 1 /* ... PPC4xx family */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+#endif
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/socrates.h b/include/configs/socrates.h
index 8cf3974fd2..c2f00f2ddd 100644
--- a/include/configs/socrates.h
+++ b/include/configs/socrates.h
@@ -45,6 +45,8 @@
#define CONFIG_MPC8544 1
#define CONFIG_SOCRATES 1
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#define CONFIG_PCI
#define CONFIG_TSEC_ENET /* tsec ethernet support */
diff --git a/include/configs/sorcery.h b/include/configs/sorcery.h
index 6792ba45d9..d22d1c8f0a 100644
--- a/include/configs/sorcery.h
+++ b/include/configs/sorcery.h
@@ -31,6 +31,8 @@
#define CONFIG_MPC8220 1
#define CONFIG_SORCERY 1 /* Sorcery board */
+#define CONFIG_SYS_TEXT_BASE 0xfff00000
+
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
/* Input clock running at 60Mhz, read Hid1 for the CPU multiplier to
diff --git a/include/configs/spc1920.h b/include/configs/spc1920.h
index f81165bb79..75ed618aaa 100644
--- a/include/configs/spc1920.h
+++ b/include/configs/spc1920.h
@@ -26,6 +26,8 @@
#define CONFIG_SPC1920 1 /* SPC1920 board */
#define CONFIG_MPC885 1 /* MPC885 CPU */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_8xx_CONS_SMC1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/stxgp3.h b/include/configs/stxgp3.h
index abc48b32b3..5e71d74359 100644
--- a/include/configs/stxgp3.h
+++ b/include/configs/stxgp3.h
@@ -43,6 +43,8 @@
#define CONFIG_STXGP3 1 /* Silicon Tx GPPP board specific*/
#define CONFIG_MPC8560 1
+#define CONFIG_SYS_TEXT_BASE 0xfff80000
+
#undef CONFIG_PCI /* pci ethernet support */
#define CONFIG_TSEC_ENET /* tsec ethernet support*/
#undef CONFIG_ETHER_ON_FCC /* cpm FCC ethernet support */
diff --git a/include/configs/stxssa.h b/include/configs/stxssa.h
index 2a4758eeca..e4493a99d8 100644
--- a/include/configs/stxssa.h
+++ b/include/configs/stxssa.h
@@ -43,6 +43,8 @@
#define CONFIG_STXSSA 1 /* Silicon Tx GPPP SSA board specific*/
#define CONFIG_MPC8560 1
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_PCI /* PCI ethernet support */
#define CONFIG_TSEC_ENET /* tsec ethernet support*/
#undef CONFIG_ETHER_ON_FCC /* cpm FCC ethernet support */
diff --git a/include/configs/stxxtc.h b/include/configs/stxxtc.h
index 585436604f..426aa496fd 100644
--- a/include/configs/stxxtc.h
+++ b/include/configs/stxxtc.h
@@ -38,6 +38,8 @@
#define CONFIG_MPC875 1 /* This is a MPC875 CPU */
#define CONFIG_STXXTC 1 /* ...on a STx XTc board */
+#define CONFIG_SYS_TEXT_BASE 0x40F00000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#undef CONFIG_8xx_CONS_SMC2
#undef CONFIG_8xx_CONS_NONE
diff --git a/include/configs/svm_sc8xx.h b/include/configs/svm_sc8xx.h
index 425f472a7f..d7f4d80def 100644
--- a/include/configs/svm_sc8xx.h
+++ b/include/configs/svm_sc8xx.h
@@ -31,6 +31,8 @@
#ifndef __CONFIG_H
#define __CONFIG_H
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
/* Custom configuration */
/* SC823,SC850,SC860SAR, FEL8xx-AT(823/850/860) */
/* SC85T,SC860T, FEL8xx-AT(855T/860T) */
diff --git a/include/configs/t3corp.h b/include/configs/t3corp.h
index 39ca7930ba..d00e64eff2 100644
--- a/include/configs/t3corp.h
+++ b/include/configs/t3corp.h
@@ -31,6 +31,10 @@
#define CONFIG_440 1
#define CONFIG_4xx 1 /* ... PPC4xx family */
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
+#endif
+
#define CONFIG_HOSTNAME t3corp
/*
diff --git a/include/configs/taihu.h b/include/configs/taihu.h
index 7e660eea02..6e9dbc5759 100644
--- a/include/configs/taihu.h
+++ b/include/configs/taihu.h
@@ -32,6 +32,8 @@
#define CONFIG_4xx 1 /* member of PPC4xx family */
#define CONFIG_TAIHU 1 /* on a taihu board */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/taishan.h b/include/configs/taishan.h
index faf9e20bd8..12f35ae1f4 100644
--- a/include/configs/taishan.h
+++ b/include/configs/taishan.h
@@ -34,6 +34,8 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_SYS_CLK_FREQ 33333333 /* external freq to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/uc100.h b/include/configs/uc100.h
index 23f4c825b7..f1c09f36bf 100644
--- a/include/configs/uc100.h
+++ b/include/configs/uc100.h
@@ -40,6 +40,8 @@
#define CONFIG_UC100 1 /* ...on a UC100 module */
+#define CONFIG_SYS_TEXT_BASE 0x40700000
+
#define MPC8XX_FACT 4 /* Multiply by 4 */
#define MPC8XX_XIN 25000000 /* 25.0 MHz in */
#define CONFIG_8xx_GCLK_FREQ (MPC8XX_FACT * MPC8XX_XIN)
diff --git a/include/configs/uc101.h b/include/configs/uc101.h
index 19722615a6..483534c41c 100644
--- a/include/configs/uc101.h
+++ b/include/configs/uc101.h
@@ -32,6 +32,10 @@
#define CONFIG_UC101 1 /* UC101 board */
#define CONFIG_HOSTNAME uc101
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+#endif
+
#include "manroland/common.h"
#include "manroland/mpc5200-common.h"
diff --git a/include/configs/utx8245.h b/include/configs/utx8245.h
index 6a0c68de4c..cc6a6c9bfa 100644
--- a/include/configs/utx8245.h
+++ b/include/configs/utx8245.h
@@ -49,6 +49,9 @@
#define CONFIG_MPC824X 1
#define CONFIG_MPC8245 1
#define CONFIG_UTX8245 1
+
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define DEBUG 1
#define CONFIG_IDENT_STRING " [UTX5] "
diff --git a/include/configs/v37.h b/include/configs/v37.h
index 7f1670eafe..ab9b22d448 100644
--- a/include/configs/v37.h
+++ b/include/configs/v37.h
@@ -36,6 +36,8 @@
#define CONFIG_MPC823 1 /* This is a MPC823 CPU */
#define CONFIG_V37 1 /* ...on a Marel V37 board */
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_LCD
#define CONFIG_SHARP_LQ084V1DG21
#undef CONFIG_LCD_LOGO
diff --git a/include/configs/v38b.h b/include/configs/v38b.h
index e2db0b046a..26ebabae9a 100644
--- a/include/configs/v38b.h
+++ b/include/configs/v38b.h
@@ -29,6 +29,9 @@
#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */
#define CONFIG_MPC5200 1 /* This is an MPC5200 CPU */
#define CONFIG_V38B 1 /* ...on V38B board */
+
+#define CONFIG_SYS_TEXT_BASE 0xFF000000
+
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ...running at 33.000000MHz */
#define CONFIG_RTC_PCF8563 1 /* has PCF8563 RTC */
diff --git a/include/configs/ve8313.h b/include/configs/ve8313.h
index 016143c45c..d8541803f8 100644
--- a/include/configs/ve8313.h
+++ b/include/configs/ve8313.h
@@ -38,6 +38,10 @@
#define CONFIG_MPC8313 1
#define CONFIG_VE8313 1
+#ifndef CONFIG_SYS_TEXT_BASE
+#define CONFIG_SYS_TEXT_BASE 0xfe000000
+#endif
+
#define CONFIG_PCI 1
#define CONFIG_FSL_ELBC 1
diff --git a/include/configs/virtlab2.h b/include/configs/virtlab2.h
index 7046e6739d..619c430869 100644
--- a/include/configs/virtlab2.h
+++ b/include/configs/virtlab2.h
@@ -37,6 +37,8 @@
#define CONFIG_VIRTLAB2 1 /* ...on a virtlab2 module */
#define CONFIG_TQM8xxL 1
+#define CONFIG_SYS_TEXT_BASE 0x40000000
+
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
#define CONFIG_SYS_SMC_RXBUFLEN 128
#define CONFIG_SYS_MAXIDLE 10
diff --git a/include/configs/vme8349.h b/include/configs/vme8349.h
index aefe0e5dbc..ab46ff884a 100644
--- a/include/configs/vme8349.h
+++ b/include/configs/vme8349.h
@@ -2,7 +2,7 @@
* esd vme8349 U-Boot configuration file
* Copyright (c) 2008, 2009 esd gmbh Hannover Germany
*
- * (C) Copyright 2006
+ * (C) Copyright 2006-2010
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* reinhard.arlt@esd-electronics.de
@@ -37,7 +37,7 @@
/*
* Top level Makefile configuration choices
*/
-#ifdef CONFIG_caddy2
+#ifdef CONFIG_CADDY2
#define VME_CADDY2
#endif
@@ -50,21 +50,23 @@
#define CONFIG_MPC8349 1 /* MPC8349 specific */
#define CONFIG_VME8349 1 /* ESD VME8349 board specific */
+#define CONFIG_SYS_TEXT_BASE 0xFFF00000
+
#define CONFIG_MISC_INIT_R
#define CONFIG_PCI
/* Don't enable PCI2 on vme834x - it doesn't exist physically. */
#undef CONFIG_MPC83XX_PCI2 /* support for 2nd PCI controller */
-#define PCI_66M
-#ifdef PCI_66M
+#define CONFIG_PCI_66M
+#ifdef CONFIG_PCI_66M
#define CONFIG_83XX_CLKIN 66000000 /* in Hz */
#else
#define CONFIG_83XX_CLKIN 33000000 /* in Hz */
#endif
#ifndef CONFIG_SYS_CLK_FREQ
-#ifdef PCI_66M
+#ifdef CONFIG_PCI_66M
#define CONFIG_SYS_CLK_FREQ 66000000
#define HRCWL_CSB_TO_CLKIN HRCWL_CSB_TO_CLKIN_4X1
#else
diff --git a/include/configs/walnut.h b/include/configs/walnut.h
index 3be489da5f..72ac4e33c2 100644
--- a/include/configs/walnut.h
+++ b/include/configs/walnut.h
@@ -36,7 +36,9 @@
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
#define CONFIG_WALNUT 1 /* ...on a WALNUT board */
- /* ...and on a SYCAMORE board */
+ /* ...or on a SYCAMORE board */
+
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
/*
* Include common defines/options for all AMCC eval boards
diff --git a/include/configs/yosemite.h b/include/configs/yosemite.h
index ed0560ad97..0d450f50d4 100644
--- a/include/configs/yosemite.h
+++ b/include/configs/yosemite.h
@@ -42,6 +42,8 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_SYS_CLK_FREQ 66666666 /* external freq to pll */
+#define CONFIG_SYS_TEXT_BASE 0xFFF80000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/yucca.h b/include/configs/yucca.h
index 4e64eec592..8d5d45fbc8 100644
--- a/include/configs/yucca.h
+++ b/include/configs/yucca.h
@@ -45,6 +45,8 @@
#define EXTCLK_50 50000000
#define EXTCLK_83 83333333
+#define CONFIG_SYS_TEXT_BASE 0xfffb0000
+
/*
* Include common defines/options for all AMCC eval boards
*/
diff --git a/include/configs/zeus.h b/include/configs/zeus.h
index 06d4526b07..6136af1fb2 100644
--- a/include/configs/zeus.h
+++ b/include/configs/zeus.h
@@ -34,6 +34,8 @@
#define CONFIG_4xx 1 /* ... PPC4xx family */
#define CONFIG_405EP 1 /* Specifc 405EP support*/
+#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
+
#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */