aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwdenk <wdenk>2005-04-04 12:44:11 +0000
committerwdenk <wdenk>2005-04-04 12:44:11 +0000
commit8aa1a2d115420b1eb126f69f3547b54d275c3228 (patch)
tree9167bf91193bcd6b15696a97180df29bc1524c83
parent986ef4340e73c6912a26e0c165c9966ab98618d4 (diff)
downloadu-boot-midas-8aa1a2d115420b1eb126f69f3547b54d275c3228.tar.gz
u-boot-midas-8aa1a2d115420b1eb126f69f3547b54d275c3228.tar.bz2
u-boot-midas-8aa1a2d115420b1eb126f69f3547b54d275c3228.zip
Patch by Steven Scholz, 4 Apr 2005:
- remove all references to CONFIG_INIT_CRITICAL for ARM based boards - introduce two new configuration options instead: CONFIG_SKIP_LOWLEVEL_INIT and CONFIG_SKIP_RELOCATE_UBOOT
-rw-r--r--CHANGELOG5
-rw-r--r--README20
-rw-r--r--board/ns9750dev/platform.S6
-rw-r--r--cpu/arm1136/start.S4
-rw-r--r--cpu/arm720t/start.S5
-rw-r--r--cpu/arm920t/start.S4
-rw-r--r--cpu/arm925t/start.S4
-rw-r--r--cpu/arm926ejs/start.S4
-rw-r--r--cpu/at91rm9200/lowlevel.S4
-rw-r--r--cpu/at91rm9200/start.S10
-rw-r--r--cpu/ixp/start.S2
-rw-r--r--cpu/lh7a40x/start.S4
-rw-r--r--cpu/pxa/start.S4
-rw-r--r--cpu/s3c44b0/start.S4
-rw-r--r--cpu/sa1100/start.S4
-rw-r--r--include/common.h5
-rw-r--r--include/configs/B2.h6
-rw-r--r--include/configs/SX1.h6
-rw-r--r--include/configs/VCMA9.h6
-rw-r--r--include/configs/assabet.h2
-rw-r--r--include/configs/at91rm9200dk.h18
-rw-r--r--include/configs/cerf250.h6
-rw-r--r--include/configs/cmc_pu2.h10
-rw-r--r--include/configs/cradle.h6
-rw-r--r--include/configs/csb226.h6
-rw-r--r--include/configs/dnp1110.h3
-rw-r--r--include/configs/ep7312.h6
-rw-r--r--include/configs/evb4510.h2
-rw-r--r--include/configs/gcplus.h3
-rw-r--r--include/configs/impa7.h6
-rw-r--r--include/configs/innokom.h6
-rw-r--r--include/configs/ixdp425.h6
-rw-r--r--include/configs/lart.h6
-rw-r--r--include/configs/logodl.h6
-rw-r--r--include/configs/lpd7a400.h6
-rw-r--r--include/configs/lpd7a404.h6
-rw-r--r--include/configs/lubbock.h6
-rw-r--r--include/configs/modnet50.h6
-rw-r--r--include/configs/mx1ads.h6
-rw-r--r--include/configs/mx1fs2.h2
-rw-r--r--include/configs/ns9750dev.h6
-rw-r--r--include/configs/omap1510inn.h6
-rw-r--r--include/configs/omap1610h2.h6
-rw-r--r--include/configs/omap1610inn.h6
-rw-r--r--include/configs/omap5912osk.h6
-rw-r--r--include/configs/omap730p2.h7
-rw-r--r--include/configs/pleb2.h6
-rw-r--r--include/configs/scb9328.h1
-rw-r--r--include/configs/shannon.h13
-rw-r--r--include/configs/smdk2400.h6
-rw-r--r--include/configs/smdk2410.h6
-rw-r--r--include/configs/suzaku.h6
-rw-r--r--include/configs/trab.h6
-rw-r--r--include/configs/wepep250.h6
-rw-r--r--include/configs/xaeniax.h10
-rw-r--r--include/configs/xm250.h6
-rw-r--r--include/configs/xsengine.h6
57 files changed, 82 insertions, 258 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 26a32eecba..0d7519fbeb 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,11 @@ Changes for U-Boot 1.1.3:
======================================================================
* Patch by Steven Scholz, 04 Apr 2005:
+ - remove all references to CONFIG_INIT_CRITICAL for ARM based boards
+ - introduce two new configuration options instead:
+ CONFIG_SKIP_LOWLEVEL_INIT and CONFIG_SKIP_RELOCATE_UBOOT
+
+* Patch by Steven Scholz, 04 Apr 2005:
Make sure that MDIO clock does not exceed 2.5 MHz on AT91
* Fix timer code for ARM systems: make sure that udelay() does not
diff --git a/README b/README
index 5b73238841..e74ce4c4e6 100644
--- a/README
+++ b/README
@@ -2129,14 +2129,18 @@ Low Level (hardware related) configuration options:
This only takes effect if the memory commands are activated
globally (CFG_CMD_MEM).
-- CONFIG_INIT_CRITICAL
- [ARM only] If this variable is NOT defined, then
- certain critical initializations (like setting up the
- memory controller) are omitted. Normally this
- variable MUST be defined for all boards. The only
- exception is when U-Boot is loaded (to RAM) by some
- other boot loader or by a debugger which performs
- these intializations itself.
+- CONFIG_SKIP_LOWLEVEL_INIT
+- CONFIG_SKIP_RELOCATE_UBOOT
+
+ [ARM only] If these variables are defined, then
+ certain low level initializations (like setting up
+ the memory controller) are omitted and/or U-Boot does
+ not relocate itself into RAM.
+ Normally these variables MUST NOT be defined. The
+ only exception is when U-Boot is loaded (to RAM) by
+ some other boot loader or by a debugger which
+ performs these intializations itself.
+
Building the Software:
======================
diff --git a/board/ns9750dev/platform.S b/board/ns9750dev/platform.S
index 11f9aef801..afcad15408 100644
--- a/board/ns9750dev/platform.S
+++ b/board/ns9750dev/platform.S
@@ -34,7 +34,7 @@
#include <version.h>
#if defined(CONFIG_NS9750DEV)
-# ifdef CONFIG_INIT_CRITICAL
+# ifndef CONFIG_SKIP_LOWLEVEL_INIT
# include <./ns9750_sys.h>
# include <./ns9750_mem.h>
# endif
@@ -74,7 +74,7 @@ _PHYS_FLASH:
_CAS_LATENCY:
.word 0x00022000 @ for CAS2 latency
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
.globl platformsetup
platformsetup:
@@ -295,4 +295,4 @@ _AHB_MONITOR_START:
NS9750_SYS_AHB_MON_BATC_GEN_IRQ)
_AHB_MONITOR_END:
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
diff --git a/cpu/arm1136/start.S b/cpu/arm1136/start.S
index 27fcc89cc9..c3bf6e37e1 100644
--- a/cpu/arm1136/start.S
+++ b/cpu/arm1136/start.S
@@ -129,8 +129,11 @@ next:
bl cpy_clk_code /* put dpll adjust code behind vectors */
#endif
/* the mask ROM code should have PLL and others stable */
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
+#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -147,6 +150,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/arm720t/start.S b/cpu/arm720t/start.S
index 0e15965df6..3695465e70 100644
--- a/cpu/arm720t/start.S
+++ b/cpu/arm720t/start.S
@@ -119,10 +119,11 @@ reset:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -150,6 +151,8 @@ copy_loop:
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
+
/* Set up the stack */
stack_setup:
ldr r0, _TEXT_BASE /* upper 128 KiB: relocated uboot */
diff --git a/cpu/arm920t/start.S b/cpu/arm920t/start.S
index a7cabf8f32..afe654b8cb 100644
--- a/cpu/arm920t/start.S
+++ b/cpu/arm920t/start.S
@@ -156,10 +156,11 @@ reset:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -176,6 +177,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/arm925t/start.S b/cpu/arm925t/start.S
index f74064b97f..238925936e 100644
--- a/cpu/arm925t/start.S
+++ b/cpu/arm925t/start.S
@@ -164,10 +164,11 @@ poll1:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -184,6 +185,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/arm926ejs/start.S b/cpu/arm926ejs/start.S
index cd728c5108..d62940b071 100644
--- a/cpu/arm926ejs/start.S
+++ b/cpu/arm926ejs/start.S
@@ -139,10 +139,11 @@ reset:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -159,6 +160,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/at91rm9200/lowlevel.S b/cpu/at91rm9200/lowlevel.S
index 5521e5d3cc..05887adc0c 100644
--- a/cpu/at91rm9200/lowlevel.S
+++ b/cpu/at91rm9200/lowlevel.S
@@ -30,7 +30,7 @@
#include <config.h>
#include <version.h>
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
/*
* some parameters for the board
*
@@ -197,4 +197,4 @@ SMRDATA1:
.word SDRAM
.word SDRAM_VAL
/* SMRDATA1 is 176 bytes long */
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
diff --git a/cpu/at91rm9200/start.S b/cpu/at91rm9200/start.S
index 89a0aa5dcb..62315fe119 100644
--- a/cpu/at91rm9200/start.S
+++ b/cpu/at91rm9200/start.S
@@ -115,7 +115,7 @@ reset:
orr r0,r0,#0xd3 /* was 13 */
msr cpsr,r0
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
/* scratch stack */
/**** ldr r1, =0x00204000 ****/
/* Insure word alignment */
@@ -141,7 +141,7 @@ reset:
orr r0, r0, #0x00001000 @ set bit 12 (I) I-Cache
orr r0, r0, #0xC0000000 @ set bits 31:30 (iA, nF)
mcr p15, 0, r0, c1, c0, 0 @ write r0 in cp15 control register (cp15 r1)
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
/*
* relocate exeception table
*/
@@ -158,9 +158,11 @@ copyex:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -177,7 +179,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/ixp/start.S b/cpu/ixp/start.S
index 3b3c868fe0..2726f65978 100644
--- a/cpu/ixp/start.S
+++ b/cpu/ixp/start.S
@@ -261,6 +261,7 @@ reset:
orr r0,r0,#0x13
msr cpsr,r0
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -277,6 +278,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/lh7a40x/start.S b/cpu/lh7a40x/start.S
index 5dca77363f..fb748cffc6 100644
--- a/cpu/lh7a40x/start.S
+++ b/cpu/lh7a40x/start.S
@@ -145,10 +145,11 @@ reset:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -166,6 +167,7 @@ copy_loop:
cmp r0, r2 /* until source end addreee [r2] */
blt copy_loop /* a 'ble' here actually copies */
/* four bytes of bss */
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/pxa/start.S b/cpu/pxa/start.S
index da753a18da..a8cc0800b0 100644
--- a/cpu/pxa/start.S
+++ b/cpu/pxa/start.S
@@ -108,10 +108,11 @@ reset:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit /* we do sys-critical inits */
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -128,6 +129,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/s3c44b0/start.S b/cpu/s3c44b0/start.S
index fc7f59228a..7affe87b3a 100644
--- a/cpu/s3c44b0/start.S
+++ b/cpu/s3c44b0/start.S
@@ -112,7 +112,7 @@ reset:
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
/*
* before relocating, we have to setup RAM timing
@@ -122,6 +122,7 @@ reset:
bl lowlevel_init
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -151,6 +152,7 @@ vector_copy_loop:
stmia r1!, {r3-r10}
cmp r0, r2
ble vector_copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/cpu/sa1100/start.S b/cpu/sa1100/start.S
index 08e41c7d79..431ee656e8 100644
--- a/cpu/sa1100/start.S
+++ b/cpu/sa1100/start.S
@@ -121,10 +121,11 @@ reset:
* we do sys-critical inits only at reboot,
* not when booting from ram!
*/
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
relocate: /* relocate U-Boot to RAM */
adr r0, _start /* r0 <- current position of code */
ldr r1, _TEXT_BASE /* test if we run from flash or RAM */
@@ -141,6 +142,7 @@ copy_loop:
stmia r1!, {r3-r10} /* copy to target address [r1] */
cmp r0, r2 /* until source end addreee [r2] */
ble copy_loop
+#endif /* CONFIG_SKIP_RELOCATE_UBOOT */
/* Set up the stack */
stack_setup:
diff --git a/include/common.h b/include/common.h
index edb704dca4..625c389897 100644
--- a/include/common.h
+++ b/include/common.h
@@ -586,4 +586,9 @@ int pcmcia_init (void);
void show_boot_progress (int status);
#endif
+#ifdef CONFIG_INIT_CRITICAL
+#error CONFIG_INIT_CRITICAL is depracted!
+#error Read section CONFIG_SKIP_LOWLEVEL_INIT in README.
+#endif
+
#endif /* __COMMON_H_ */
diff --git a/include/configs/B2.h b/include/configs/B2.h
index b031826f3f..e55858d34b 100644
--- a/include/configs/B2.h
+++ b/include/configs/B2.h
@@ -31,12 +31,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/SX1.h b/include/configs/SX1.h
index 7c51a1b040..6ed98b8fb1 100644
--- a/include/configs/SX1.h
+++ b/include/configs/SX1.h
@@ -24,12 +24,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/VCMA9.h b/include/configs/VCMA9.h
index 2c664d5936..bde12e1802 100644
--- a/include/configs/VCMA9.h
+++ b/include/configs/VCMA9.h
@@ -30,12 +30,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/assabet.h b/include/configs/assabet.h
index a52d87dfd3..1a69ebe0da 100644
--- a/include/configs/assabet.h
+++ b/include/configs/assabet.h
@@ -31,8 +31,6 @@
#undef DEBUG
-#define CONFIG_INIT_CRITICAL
-
/*
* High Level Configuration Options
* (easy to change)
diff --git a/include/configs/at91rm9200dk.h b/include/configs/at91rm9200dk.h
index d32ec34fc2..6a246b63ae 100644
--- a/include/configs/at91rm9200dk.h
+++ b/include/configs/at91rm9200dk.h
@@ -25,12 +25,6 @@
#ifndef __CONFIG_H
#define __CONFIG_H
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
/* ARM asynchronous clock */
#define AT91C_MAIN_CLOCK 179712000 /* from 18.432 MHz crystal (18432000 / 4 * 39) */
#define AT91C_MASTER_CLOCK 59904000 /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
@@ -44,7 +38,7 @@
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG 1
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
#define CFG_USE_MAIN_OSCILLATOR 1
/* flash */
#define MC_PUIA_VAL 0x00000000
@@ -74,7 +68,7 @@
#define SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
#define SDRC_MR_VAL3 0x00000000 /* Normal Mode */
#define SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
/*
* Size of malloc() pool
*/
@@ -177,19 +171,19 @@
#define CFG_ENV_SIZE 0x2000 /* 0x8000 */
#else
#define CFG_ENV_IS_IN_FLASH 1
-#ifdef CONFIG_INIT_CRITICAL
+#ifdef CONFIG_SKIP_LOWLEVEL_INIT
#define CFG_ENV_ADDR (PHYS_FLASH_1 + 0x60000) /* after u-boot.bin */
#define CFG_ENV_SIZE 0x10000 /* sectors are 64K here */
#else
#define CFG_ENV_ADDR (PHYS_FLASH_1 + 0xe000) /* between boot.bin and u-boot.bin.gz */
#define CFG_ENV_SIZE 0x2000 /* 0x8000 */
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
#endif /* CFG_ENV_IS_IN_DATAFLASH */
#define CFG_LOAD_ADDR 0x21000000 /* default load address */
-#ifdef CONFIG_INIT_CRITICAL
+#ifdef CONFIG_SKIP_LOWLEVEL_INIT
#define CFG_BOOT_SIZE 0x00 /* 0 KBytes */
#define CFG_U_BOOT_BASE PHYS_FLASH_1
#define CFG_U_BOOT_SIZE 0x60000 /* 384 KBytes */
@@ -197,7 +191,7 @@
#define CFG_BOOT_SIZE 0x6000 /* 24 KBytes */
#define CFG_U_BOOT_BASE (PHYS_FLASH_1 + 0x10000)
#define CFG_U_BOOT_SIZE 0x10000 /* 64 KBytes */
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
#define CFG_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 }
diff --git a/include/configs/cerf250.h b/include/configs/cerf250.h
index 6a136d541a..6997c7a6f4 100644
--- a/include/configs/cerf250.h
+++ b/include/configs/cerf250.h
@@ -31,12 +31,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/cmc_pu2.h b/include/configs/cmc_pu2.h
index 96b7148cf1..5e96e09c3e 100644
--- a/include/configs/cmc_pu2.h
+++ b/include/configs/cmc_pu2.h
@@ -25,12 +25,6 @@
#ifndef __CONFIG_H
#define __CONFIG_H
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
/* ARM asynchronous clock */
#define AT91C_MAIN_CLOCK 207360000 /* from 18.432 MHz crystal (18432000 / 4 * 45) */
#define AT91C_MASTER_CLOCK (AT91C_MAIN_CLOCK/3) /* peripheral clock */
@@ -44,7 +38,7 @@
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_INITRD_TAG 1
-#ifdef CONFIG_INIT_CRITICAL
+#ifndef CONFIG_SKIP_LOWLEVEL_INIT
#define CFG_USE_MAIN_OSCILLATOR 1
/* flash */
#define MC_PUIA_VAL 0x00000000
@@ -74,7 +68,7 @@
#define SDRC_MR_VAL2 0x00000003 /* Load Mode Register */
#define SDRC_MR_VAL3 0x00000000 /* Normal Mode */
#define SDRC_TR_VAL 0x000002E0 /* Write refresh rate */
-#endif /* CONFIG_INIT_CRITICAL */
+#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
/*
* Size of malloc() pool
diff --git a/include/configs/cradle.h b/include/configs/cradle.h
index ca7a97b562..776e1d2b7f 100644
--- a/include/configs/cradle.h
+++ b/include/configs/cradle.h
@@ -29,12 +29,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/csb226.h b/include/configs/csb226.h
index 0b2b251bae..f04102e95c 100644
--- a/include/configs/csb226.h
+++ b/include/configs/csb226.h
@@ -34,12 +34,6 @@
#define DEBUG 1
/*
- * If we are developing, we might want to start U-Boot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/dnp1110.h b/include/configs/dnp1110.h
index b14e35b628..9ac2856f65 100644
--- a/include/configs/dnp1110.h
+++ b/include/configs/dnp1110.h
@@ -31,7 +31,8 @@
* If we are developing, we might want to start armboot from ram
* so we MUST NOT initialize critical regs like mem-timing ...
*/
-#undef CONFIG_INIT_CRITICAL
+#define CONFIG_SKIP_LOWLEVEL_INIT 1
+#undef CONFIG_SKIP_RELOCATE_UBOOT
/*
* High Level Configuration Options
diff --git a/include/configs/ep7312.h b/include/configs/ep7312.h
index 41ad3943e1..c6a028fabd 100644
--- a/include/configs/ep7312.h
+++ b/include/configs/ep7312.h
@@ -28,12 +28,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/evb4510.h b/include/configs/evb4510.h
index 9e0ed51fa4..88c2c7437d 100644
--- a/include/configs/evb4510.h
+++ b/include/configs/evb4510.h
@@ -32,8 +32,8 @@
*
* Also swap the flash1 and flash2 addresses during debug.
*
+ * #define CONFIG_SKIP_LOWLEVEL_INIT
*/
-#define CONFIG_INIT_CRITICAL
/*
* High Level Configuration Options
diff --git a/include/configs/gcplus.h b/include/configs/gcplus.h
index dbb8dec85d..b68a2dca09 100644
--- a/include/configs/gcplus.h
+++ b/include/configs/gcplus.h
@@ -40,7 +40,8 @@
* boot ROM leaves the MMU enabled when it passes control to U-Boot. So
* we use lowlevel_init (CONFIG_INIT_CRITICAL) to remedy that problem.
*/
-#define CONFIG_INIT_CRITICAL
+#undef CONFIG_SKIP_LOWLEVEL_INIT
+#define CONFIG_SKIP_RELOCATE_UBOOT 1
/*
* High Level Configuration Options
diff --git a/include/configs/impa7.h b/include/configs/impa7.h
index dbc951de65..c187c54d6c 100644
--- a/include/configs/impa7.h
+++ b/include/configs/impa7.h
@@ -28,12 +28,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/innokom.h b/include/configs/innokom.h
index a3d36a0d8f..fce72e112b 100644
--- a/include/configs/innokom.h
+++ b/include/configs/innokom.h
@@ -31,12 +31,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start U-Boot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/ixdp425.h b/include/configs/ixdp425.h
index a8067f6ef2..b0a80a3ea2 100644
--- a/include/configs/ixdp425.h
+++ b/include/configs/ixdp425.h
@@ -37,12 +37,6 @@
* U-boot generic defines start here.
***************************************************************/
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
/*
diff --git a/include/configs/lart.h b/include/configs/lart.h
index 3c9895ab27..a00640bf8e 100644
--- a/include/configs/lart.h
+++ b/include/configs/lart.h
@@ -28,12 +28,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/logodl.h b/include/configs/logodl.h
index b320a4050d..715ed74ead 100644
--- a/include/configs/logodl.h
+++ b/include/configs/logodl.h
@@ -31,12 +31,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start U-Boot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/lpd7a400.h b/include/configs/lpd7a400.h
index 6f2c32c546..d7d0460ef6 100644
--- a/include/configs/lpd7a400.h
+++ b/include/configs/lpd7a400.h
@@ -23,12 +23,6 @@
#define CONFIG_LPD7A400 /* Logic LH7A400 SDK */
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
#undef CONFIG_USE_IRQ
/*
diff --git a/include/configs/lpd7a404.h b/include/configs/lpd7a404.h
index e6855fb1ef..4002e6849c 100644
--- a/include/configs/lpd7a404.h
+++ b/include/configs/lpd7a404.h
@@ -23,12 +23,6 @@
#define CONFIG_LPD7A404 /* Logic LH7A400 SDK */
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
#undef CONFIG_USE_IRQ
/*
diff --git a/include/configs/lubbock.h b/include/configs/lubbock.h
index 536a175bd6..9ac62c7e07 100644
--- a/include/configs/lubbock.h
+++ b/include/configs/lubbock.h
@@ -31,12 +31,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/modnet50.h b/include/configs/modnet50.h
index 166aa1180c..067c84623f 100644
--- a/include/configs/modnet50.h
+++ b/include/configs/modnet50.h
@@ -28,12 +28,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start u-boot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/mx1ads.h b/include/configs/mx1ads.h
index f7ccea3d45..7f3dfd5c98 100644
--- a/include/configs/mx1ads.h
+++ b/include/configs/mx1ads.h
@@ -29,12 +29,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/mx1fs2.h b/include/configs/mx1fs2.h
index 61a3b29612..7b4dc92c6c 100644
--- a/include/configs/mx1fs2.h
+++ b/include/configs/mx1fs2.h
@@ -113,8 +113,6 @@
#define PRECHARGE_CMD 0x910a8300
#define AUTOREFRESH_CMD 0xa10a8300
-#define CONFIG_INIT_CRITICAL
-
#define BUS32BIT_VERSION
/*
* SDRAM Memory Map
diff --git a/include/configs/ns9750dev.h b/include/configs/ns9750dev.h
index af39e2e88d..0b1541d5c3 100644
--- a/include/configs/ns9750dev.h
+++ b/include/configs/ns9750dev.h
@@ -28,12 +28,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/omap1510inn.h b/include/configs/omap1510inn.h
index 552beedc5c..016d3d8bd0 100644
--- a/include/configs/omap1510inn.h
+++ b/include/configs/omap1510inn.h
@@ -27,12 +27,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/omap1610h2.h b/include/configs/omap1610h2.h
index 9b822152c2..c6ca689a5f 100644
--- a/include/configs/omap1610h2.h
+++ b/include/configs/omap1610h2.h
@@ -27,12 +27,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/omap1610inn.h b/include/configs/omap1610inn.h
index c00976efd1..f28ede0967 100644
--- a/include/configs/omap1610inn.h
+++ b/include/configs/omap1610inn.h
@@ -27,12 +27,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/omap5912osk.h b/include/configs/omap5912osk.h
index cd2dbf18b8..605563aa0a 100644
--- a/include/configs/omap5912osk.h
+++ b/include/configs/omap5912osk.h
@@ -27,12 +27,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/omap730p2.h b/include/configs/omap730p2.h
index 1bdea6c5ab..fda55cf06f 100644
--- a/include/configs/omap730p2.h
+++ b/include/configs/omap730p2.h
@@ -27,13 +27,6 @@
#ifndef __CONFIG_H
#define __CONFIG_H
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-
-#define CONFIG_INIT_CRITICAL
-
/* allow to overwrite serial and ethaddr */
#define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/pleb2.h b/include/configs/pleb2.h
index 9ba19c8506..a6c23712b5 100644
--- a/include/configs/pleb2.h
+++ b/include/configs/pleb2.h
@@ -31,12 +31,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/scb9328.h b/include/configs/scb9328.h
index 6cd91269d4..a4249c47c6 100644
--- a/include/configs/scb9328.h
+++ b/include/configs/scb9328.h
@@ -119,7 +119,6 @@
#define PRECHARGE_CMD 0x910a8200
#define AUTOREFRESH_CMD 0xa10a8200
-#define CONFIG_INIT_CRITICAL
/*
* SDRAM Memory Map
diff --git a/include/configs/shannon.h b/include/configs/shannon.h
index 8a4e3709b1..572985b051 100644
--- a/include/configs/shannon.h
+++ b/include/configs/shannon.h
@@ -28,16 +28,13 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-
-/*
- * we just run in non-critical mode now, because we use the Inferno-Loader to
- * bring us to live
+ * Since we use the Inferno-Loader to bring us to live,
+ * we skip the lowlevel init stuff.
+ * But U-Boot still relocates itself into RAM
*/
#define CONFIG_INFERNO /* we are using the inferno bootldr */
-#undef CONFIG_INIT_CRITICAL
+#define CONFIG_SKIP_LOWLEVEL_INIT 1
+#undef CONFIG_SKIP_RELOCATE_UBOOT
/*
* High Level Configuration Options
diff --git a/include/configs/smdk2400.h b/include/configs/smdk2400.h
index f477575be8..a137f9d7c9 100644
--- a/include/configs/smdk2400.h
+++ b/include/configs/smdk2400.h
@@ -31,12 +31,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/smdk2410.h b/include/configs/smdk2410.h
index 2a1cd7707a..7edec0db43 100644
--- a/include/configs/smdk2410.h
+++ b/include/configs/smdk2410.h
@@ -30,12 +30,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/suzaku.h b/include/configs/suzaku.h
index 6fda7b96fd..1ee6be174f 100644
--- a/include/configs/suzaku.h
+++ b/include/configs/suzaku.h
@@ -26,12 +26,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/trab.h b/include/configs/trab.h
index 2f59260564..3ca00497ed 100644
--- a/include/configs/trab.h
+++ b/include/configs/trab.h
@@ -37,12 +37,6 @@
#endif
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/wepep250.h b/include/configs/wepep250.h
index ca32efb3c4..47251bbb64 100644
--- a/include/configs/wepep250.h
+++ b/include/configs/wepep250.h
@@ -23,12 +23,6 @@
#ifndef __CONFIG_H
#define __CONFIG_H
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
#define CONFIG_PXA250 1 /* this is an PXA250 CPU */
#define CONFIG_WEPEP250 1 /* config for wepep250 board */
#undef CONFIG_USE_IRQ /* don't need use IRQ/FIQ */
diff --git a/include/configs/xaeniax.h b/include/configs/xaeniax.h
index 1177003c80..386ce0539b 100644
--- a/include/configs/xaeniax.h
+++ b/include/configs/xaeniax.h
@@ -37,16 +37,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
-#undef CONFIG_INIT_CRITICAL
-*/
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/xm250.h b/include/configs/xm250.h
index 1be7dd46a7..952f73b43d 100644
--- a/include/configs/xm250.h
+++ b/include/configs/xm250.h
@@ -29,12 +29,6 @@
#define __CONFIG_H
/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
-/*
* High Level Configuration Options
* (easy to change)
*/
diff --git a/include/configs/xsengine.h b/include/configs/xsengine.h
index 6b15766daa..847e91a059 100644
--- a/include/configs/xsengine.h
+++ b/include/configs/xsengine.h
@@ -28,12 +28,6 @@
#ifndef __CONFIG_H
#define __CONFIG_H
-/*
- * If we are developing, we might want to start armboot from ram
- * so we MUST NOT initialize critical regs like mem-timing ...
- */
-#define CONFIG_INIT_CRITICAL
-
/* High Level Configuration Options */
#define CONFIG_PXA250 1 /* This is an PXA250 CPU */
#define CONFIG_XSENGINE 1