summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-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 0532a75db89..ffc58af3096 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 d8303f3b8c8..263dab23610 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 688e77a731d..82ea172d7a6 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 6e2907e7efb..095c7f0e64a 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 875cb142b82..a8edafa1bb8 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 cb3f80bfa09..8179e1b0436 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 d3c60f20970..0725e6f1cf0 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 789f7501fdf..c8b96132f4e 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 388234cfe83..b544a4772a1 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 7371a9ccf59..4d7c5172c28 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 d9c27efb17b..7fba1b39c29 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 555145e1892..0cfd5d94fac 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 f6246faeee3..4fbcb7d7ed8 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 6e7f012b9cc..134ad1fa0bb 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 c7854abc469..9d75616a83d 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 764f71be3eb..81f63911993 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 099e30de855..6438b725824 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 8ba3c7d4402..f75050090ba 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 c6882fdda31..ba875eccc60 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 e0066211ab5..4a47c7abe17 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 d682d3726f1..be3742feb95 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 1c521f2a3f9..3e1b4828363 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 c7b79311cc5..342bcc36f10 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 f2d51f75eeb..68a27e663a1 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 f114290130c..0f11a75e5d4 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 0927f2c5de3..3aa35c3e2ab 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 c50ff999641..82b64118791 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 da0a57625a6..77b6a15dc26 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 e093120bc5c..4a7d8705f5a 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 21230e158cf..7ace011a252 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 910933ad586..3a20d02e555 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 765eaaf0fb5..ef5277ef05e 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 f86305ed3e3..3cdf3e8b460 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 6ba9f13bf17..d6c9f4bc9f4 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 c36185dd0cd..baa54b45597 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 84d27b67a92..1650e65e13c 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 0f56302003b..99d0eb1ed53 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 aa5de9b4d59..62042293398 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 da3b4ae22a4..094db45e90d 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 11a862e9876..1f0d2bb2d6d 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 c36f2bb18c9..366df3a66f4 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 09035363481..ebc36bbb3a1 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 cb759602b9a..0b7aee265b2 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 84187fbb4d7..c2c9093f51f 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 dcb0c394452..ed7484bd1c9 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 0f4277c4e3e..4f526b7bde8 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 addca2fe3a1..ac0c48ebf60 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 ec9000d9fc4..ffb40e0051c 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 e2e6cb29ce8..2865b849669 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 12f879a0e00..a2b934fd94a 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 fadd83027b4..4faafe5b6e9 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 8991db4130b..661db2b16e3 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 359187a751c..ac6a455f5c3 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 5dea96ef5b6..b7a8dae7e2e 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 ea1e706eed7..54e8a72a20a 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 f286449e3be..635f916652a 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 52a57a9d0d7..a3a79e876e2 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 ed6b7fde9c7..eef1d6b5b56 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 9d19e37bb7d..88ef4bb423c 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 3ea7e5daec6..bcd73484dcc 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 1a4924e1e6d..5cc8e9a4764 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 256cabd0368..ed73b570cfa 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 b62945e838c..327b0bbb1e1 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 b0b117575cc..69711581a6c 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 94cc31756c6..5b6da4ff0bf 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 c6978c33529..b5f48b11dac 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 ab535e15b5f..7fea5f772cc 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 6e8a4b80854..d10958d06ad 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 5f7c7a8e4f1..7cda287cfb6 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 afe23836ce2..aed17297c37 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 2e63306d978..04ae4f883a6 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 19a288c5820..7ad2712ca85 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 bfff7504fc8..a097639ef61 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 2fc0119e5f8..8f56902e63e 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 986590aaaf0..9dccd2418af 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 cb406aea01c..fd7ef90cf2c 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 376ff3e29e6..1fbc1904767 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 b717c1bbef7..de03a97d393 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 18af02871fb..3eca719bdc5 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 b0f5cbde3db..2e6cc51213a 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 f81ca8c642f..177e6e9b4ed 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 f57290a2790..fe512089415 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 8e508b6f15f..6f02db0278b 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 3659d88255d..d49c1ff76b9 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 5449d0fd7a6..e5165e94736 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 680e329d03d..dbbeeca57a8 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 45b22a5acce..5d30c790da7 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 d69d25e4018..afc37b5c603 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 8ef24e62ddc..cc83d92479b 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 84db2fb70fa..4ac1f6e8223 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 66fea852f88..85ecf472526 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 359426924d3..5bd851ff16c 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 3af7f6de86f..5322a2368f5 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 cda3936a06b..2d99358287d 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 b22f4d0204b..7bc1bcefb6c 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 cdb66636aee..fad180ffb7b 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 3a405d46dd6..054991e7169 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 d09b2f721c3..62a4039d695 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 96010296181..336d62d12b0 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 004b764b296..9128c985fb1 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 a46ec28f599..c4efababd54 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 85c68900cec..beada7ee2a4 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 8ffc1b2b153..eeb2355b9f0 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 c0c716d232b..e60063985b0 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 05603bec437..cd867666c3f 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 1cfdef5f498..9ec03d9a463 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 cff33047fd0..bee13273541 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 074e55579e2..ec93245ef21 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 b0a42d61f70..8d1d45de5a7 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 76ca916636d..24d9110a691 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 4f9f9fe0f17..3c2c958a504 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 d060cb7a42a..a89c77d3db7 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 a18b4801272..0cc07f82306 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 6a4c47d8887..cd8c769643e 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 5054d5e61f3..70c6bb5cfa7 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 ad2e4da3894..a275b548e57 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 7f4babeedeb..76d8b047071 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 f3c28832005..5d127cfd78c 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 0b0822d5841..8c373fa248c 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 27e8d8edb05..102e4c96f2d 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 6aa214a4b55..5f3c41475f9 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 87703c98b3c..5e7b81f0a2b 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 8d67ee7e8cf..8a913f550d6 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 244d6fe5025..bea7e49c5ec 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 7587ecc8cde..f98295aa060 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 447321a84c0..a33d946877e 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 2901cfd6d6f..8d89c80908c 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 c7a0172ed2e..7d91a754989 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 957bf22708e..e1e709fe36b 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 6d24c26732d..31874b12b68 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 509c8b45dad..8573ef92a4e 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 1179a90828b..8a0af471718 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 1934e3fe814..a6acc0b6b40 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 eb1a166f91d..4d65df8f4ca 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 9cefaa15a5f..74b656c7613 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 4d3c0228cef..66e2692e53b 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 ed026ddf373..b19beba8ada 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 f9b20143a00..e910f7d71b0 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 c1416cb91bd..df9376c52f5 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 de74fee7681..45b8325f906 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 705d37524de..48a20dfb3c8 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 830f4bc59b4..586f1bb4917 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 00ac6cf1f3a..471f32eaf3d 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 bec52780e61..37414a8243b 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 c9dd104ada5..b5647968ed0 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 a59053c0eb8..6577a260518 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 ec891e4ca37..f4f90f2043e 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 6ec5be01c7a..6e303358825 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 587b42e4bc3..8140ae9744d 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 b753f267f9d..9cc87dd5cf0 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 a114f6c5f41..6f8c28e9d71 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 6c57f95ba07..b4fbae4c360 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 56f03e2b88d..b5fe1cdacb3 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 fa77882cfd1..5de4dd2e054 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 8ee8cbf0b51..f3991532e6d 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 514bf89dace..20fb96ab2b9 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 0381252af22..525e9fec59d 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 b675a21cf72..fcadd4a9c70 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 7cefa32d7a1..0d916f538df 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 f9d14466041..2654a447edd 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 4bbd42aff42..8bc87e3ab4f 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 a4c74615e39..f9d1110ecdc 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 372c76dcc88..c2753a692da 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 64c97071d62..028cff7b447 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 de5a86eb0c8..5cbab9bf1aa 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 e9251ddd0d8..a8a9ddfd9ec 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 35af262427b..a34e4427bce 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 bf6ecce4701..2e091f8d2d0 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 74424527b85..2c988c3e7d0 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 5bf8f0239d1..f4ab9892edb 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 456ed7e4735..c92a6aced89 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 2ff3ddc0bd3..d95f75d578d 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 94b9a3b1ebc..ff629cf1b06 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 ce5e6917c79..aa682f3fbc3 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 d77df9cad20..f36ef190ab1 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 a6c465b3186..fb8f5387195 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 9ec815c6004..f92bab0555d 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 c715c0783eb..7418512a153 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 de11d86fe3f..be0a9f806c4 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 0117cc07283..8dbee86794a 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 76016ac82f0..63e6ca81399 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 8f8b55ed2e9..805764aa93f 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 0fbe80ce8c3..fce7f2814f6 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 f12fa55d2a1..0144fbde344 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 34a5fff138b..3ca19fcfb41 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 c378542c39b..b2399c6cce4 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 729a48597bc..31ca59dfd97 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 7ff440e2474..1f27c5ef220 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 634ba74d8f4..24ee65ed61d 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 273b4e240e4..398a70d6adb 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 d0dc067c709..d305fa4a859 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 fcc47a99ec3..b161dde2aa2 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 39f85ae3b65..c1bd4be9441 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 15a242cc172..187e5c19870 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 70382914b86..74a078146a7 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 cb2c7263911..3f1e7f7ffd5 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 6f4fa2bf295..8ec8c795232 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 18276c5886d..1bdfd9da2f0 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 eef711a270f..9073b2f8636 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 560c64ff44a..0bb97d9ea44 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 3e64492cd0d..7262b3e8a09 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 4508d757ac5..15d79c4caef 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 46d966d00ea..0f2f3861564 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 51087f7371b..fcc7d0e3ed5 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 289335180f8..84311e3f7d7 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 ae3e15cb669..72fdb6bdbe4 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 872333f7119..444fce68312 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 329bc9930a1..a23db1c0b7e 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 712db6d5077..2bedae27443 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 2aca6051857..24367bae6d5 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 3450e246019..ad8811f6c4c 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 33b2120c1dd..42b8c342ded 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 0b366f4dfd1..3368b2d263a 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 21d2d284a64..0d44eda8670 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 6a71cfac5b8..bacdbf0e5d0 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 8c3284a94de..a0d38696607 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 8c042f84138..15765333049 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 482b348939a..ab646ae348b 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 afa35a3065e..90407a85c01 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 7bf6de25363..f6585d03f13 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 d6db7bf4948..282afbcc610 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 cb3dd9ac076..9e7646703bf 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 394a45fe435..dd5e5a20c64 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 a4633e139e3..a2edf51e202 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 0df46fa4de1..0c46398ef9e 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 5d99121a39e..edb9a3a4abf 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 6efa9d2014e..406f35c7714 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 ad0ca5d37cc..8d98d57f88e 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 0f954457774..f77961228c1 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 82c828284a9..56d2be2afe7 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 b515aed3561..05f66daf877 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 082deed6a52..4b3b0085c91 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 e4ccd7dafe1..135a4c26aa4 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 612a0fe9ff1..e153b3120fb 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 ecb0228c700..9117842f423 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 8f1e602a2e1..228bdd7cf93 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 63cdd5d0546..96a984d56e7 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 7eabefa3a3f..560cfb52e28 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 54c99ae14f8..2918d790d68 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 6b1a41f8e0f..d8014047b7b 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 be20d729095..3b7293a7eac 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 b061dddf982..19d2989d4f5 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 80163d49ee7..c4853ab9c20 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 00097c99aea..72d9750528f 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 0f6d161e399..4aef6fc9622 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 fe32bb2cb8b..43c0528637b 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 5aef5b20c7d..8edb84d8bcf 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 b35faae0e8a..152c9a6acc8 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 1618f7dce17..6036da8b5ee 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 7a7d5b9b5c4..af2f40aceb0 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 07e7747dbe1..f5c2bd3a576 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 8068b4051a9..ae5e1098f68 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 33d184432d1..18f205a58d8 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 d01160da8e9..e85b953755a 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 f87dc9c650e..101788a6785 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 01756f50216..91163680e85 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 f8f53e8f378..1063d123d27 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 9466dfa4fd7..cca32e65f10 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 d11d218c003..f33f0ff2c8c 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 17ec08fdd6a..70c4b7d061f 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 6edf91ecc67..4a2e420236e 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 3443e86eff4..c663b544d19 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 85152d12a36..9f048512fa7 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 ba7f9ca7594..c6d87e3cfe2 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 8c8e0ab5b28..ad983e478b9 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 8e807f59dfd..09bf4e48ff6 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 7db749896b4..8ceb9bf38b5 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 83d1733f7fa..f847f9cb33d 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 e440e93a5a9..a38145b4216 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 3c1e882b060..a7d5dac9af8 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 fefb17fde7a..66f46b94607 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 82078449607..6b41b12ddb4 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 9b39e1594b4..f6049c4a396 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 187002c1075..346c8479e97 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 b00667f6f3a..ea9304311b5 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 16dc4bb7350..bfa0389fdab 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 5ef32d81785..eecb9e61d5b 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 3624d379057..0cfd058a61c 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 0d0fbdd6076..a75e4be2126 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 32c8c1830da..bc9a56a82a1 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 4a854a979aa..e71f1ace58e 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 cfda9576fed..412deeadb6f 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 8cf3974fd2f..c2f00f2ddd4 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 6792ba45d9c..d22d1c8f0a5 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 f81165bb79e..75ed618aaa5 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 abc48b32b32..5e71d743590 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 2a4758eeca1..e4493a99d8c 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 585436604f2..426aa496fdd 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 425f472a7fd..d7f4d80def9 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 39ca7930baf..d00e64eff29 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 7e660eea028..6e9dbc57593 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 faf9e20bd86..12f35ae1f4a 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 23f4c825b7e..f1c09f36bfd 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 19722615a67..483534c41c4 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 6a0c68de4c0..cc6a6c9bfae 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 7f1670eafe7..ab9b22d4489 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 e2db0b046ab..26ebabae9a0 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 016143c45cd..d8541803f89 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 7046e6739d6..619c4308698 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 aefe0e5dbc8..ab46ff884ae 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 3be489da5fd..72ac4e33c2c 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 ed0560ad97d..0d450f50d4a 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 4e64eec5929..8d5d45fbc85 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 06d4526b07b..6136af1fb2c 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 */