]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - common/board_r.c
ARM: Implement non-cached memory support
[people/ms/u-boot.git] / common / board_r.c
index 1ef79cede0a5b74103dc40024c1c81f559b0341b..a301cc226f1e69fb4f6229382391c80218f12460 100644 (file)
@@ -265,6 +265,14 @@ static int initr_malloc(void)
        return 0;
 }
 
+#ifdef CONFIG_SYS_NONCACHED_MEMORY
+static int initr_noncached(void)
+{
+       noncached_init();
+       return 0;
+}
+#endif
+
 #ifdef CONFIG_DM
 static int initr_dm(void)
 {
@@ -291,26 +299,14 @@ static int initr_flash(void)
 {
        ulong flash_size = 0;
        bd_t *bd = gd->bd;
-       int ok;
 
        puts("Flash: ");
 
-       if (board_flash_wp_on()) {
+       if (board_flash_wp_on())
                printf("Uninitialized - Write Protect On\n");
-               /* Since WP is on, we can't find real size.  Set to 0 */
-               ok = 1;
-       } else {
+       else
                flash_size = flash_init();
-               ok = flash_size > 0;
-       }
-       if (!ok) {
-               puts("*** failed ***\n");
-#ifdef CONFIG_PPC
-               /* Why does PPC do this? */
-               hang();
-#endif
-               return -1;
-       }
+
        print_size(flash_size, "");
 #ifdef CONFIG_SYS_FLASH_CHECKSUM
        /*
@@ -699,6 +695,9 @@ init_fnc_t init_sequence_r[] = {
 #endif
        initr_barrier,
        initr_malloc,
+#ifdef CONFIG_SYS_NONCACHED_MEMORY
+       initr_noncached,
+#endif
        bootstage_relocate,
 #ifdef CONFIG_DM
        initr_dm,