]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/mips/lib/board.c
kbuild: add CONFIG_ prefix to USE_PRIVATE_LIBGCC
[karo-tx-uboot.git] / arch / mips / lib / board.c
index 62d47a8bf0bb7e79d3b558729bc485a4466b41e2..9e6ba15acab5a0401e28614a12192083b99378dd 100644 (file)
@@ -2,28 +2,13 @@
  * (C) Copyright 2003
  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
 #include <command.h>
 #include <malloc.h>
+#include <serial.h>
 #include <stdio_dev.h>
 #include <version.h>
 #include <net.h>
@@ -46,7 +31,7 @@ static char *failed = "*** failed ***\n";
  * mips_io_port_base is the begin of the address space to which x86 style
  * I/O ports are mapped.
  */
-unsigned long mips_io_port_base = -1;
+const unsigned long mips_io_port_base = -1;
 
 int __board_early_init_f(void)
 {
@@ -142,7 +127,7 @@ void board_init_f(ulong bootflag)
        gd_t gd_data, *id;
        bd_t *bd;
        init_fnc_t **init_fnc_ptr;
-       ulong addr, addr_sp, len = (ulong)&uboot_end - CONFIG_SYS_MONITOR_BASE;
+       ulong addr, addr_sp, len;
        ulong *s;
 
        /* Pointer is writable since we allocated a register for it.
@@ -175,6 +160,7 @@ void board_init_f(ulong bootflag)
        /* Reserve memory for U-Boot code, data & bss
         * round down to next 16 kB limit
         */
+       len = bss_end() - CONFIG_SYS_MONITOR_BASE;
        addr -= len;
        addr &= ~(16 * 1024 - 1);
 
@@ -247,10 +233,6 @@ void board_init_r(gd_t *id, ulong dest_addr)
 {
 #ifndef CONFIG_SYS_NO_FLASH
        ulong size;
-#endif
-       extern void malloc_bin_reloc(void);
-#ifndef CONFIG_ENV_IS_NOWHERE
-       extern char *env_name_spec;
 #endif
        bd_t *bd;
 
@@ -261,27 +243,15 @@ void board_init_r(gd_t *id, ulong dest_addr)
 
        gd->reloc_off = dest_addr - CONFIG_SYS_MONITOR_BASE;
 
-       monitor_flash_len = (ulong)&uboot_end_data - dest_addr;
-
-#if defined(CONFIG_NEEDS_MANUAL_RELOC)
-       /*
-        * We have to relocate the command table manually
-        */
-       fixup_cmdtable(&__u_boot_cmd_start,
-               (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start));
-#endif /* defined(CONFIG_NEEDS_MANUAL_RELOC) */
+       monitor_flash_len = image_copy_end() - dest_addr;
 
-       /* there are some other pointer constants we must deal with */
-#ifndef CONFIG_ENV_IS_NOWHERE
-       env_name_spec += gd->reloc_off;
-#endif
+       serial_initialize();
 
        bd = gd->bd;
 
        /* The Malloc area is immediately below the monitor copy in DRAM */
        mem_malloc_init(CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
                        TOTAL_MALLOC_LEN, TOTAL_MALLOC_LEN);
-       malloc_bin_reloc();
 
 #ifndef CONFIG_SYS_NO_FLASH
        /* configure available FLASH banks */
@@ -358,10 +328,3 @@ void board_init_r(gd_t *id, ulong dest_addr)
 
        /* NOTREACHED - no way out of command loop except booting */
 }
-
-void hang(void)
-{
-       puts("### ERROR ### Please RESET the board ###\n");
-       for (;;)
-               ;
-}