]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
x86: Remove legacy board init code
authorSimon Glass <sjg@chromium.org>
Wed, 17 Apr 2013 16:13:32 +0000 (16:13 +0000)
committerSimon Glass <sjg@chromium.org>
Mon, 13 May 2013 20:33:20 +0000 (13:33 -0700)
Since we use CONFIG_SYS_GENERIC_BOARD on x86, we don't need this anymore.

Signed-off-by: Simon Glass <sjg@chromium.org>
Acked-by: Graeme Russ <graeme.russ@gmail.com>
arch/x86/include/asm/init_helpers.h
arch/x86/include/asm/init_wrappers.h [deleted file]
arch/x86/include/asm/u-boot.h
arch/x86/lib/Makefile
arch/x86/lib/board.c [deleted file]
arch/x86/lib/init_helpers.c
arch/x86/lib/init_wrappers.c [deleted file]

index d018b290c1b1622bfdf1d3333d6eb038cbcd6a84..0a6a6755d224e591d1a1707d3705d0e079c68a04 100644 (file)
 #ifndef _INIT_HELPERS_H_
 #define _INIT_HELPERS_H_
 
-int display_banner(void);
-int display_dram_config(void);
-int init_baudrate_f(void);
 int calculate_relocation_address(void);
 
 int init_cache_f_r(void);
-
-int set_reloc_flag_r(void);
-int mem_malloc_init_r(void);
 int init_bd_struct_r(void);
-int flash_init_r(void);
-int status_led_set_r(void);
-int set_load_addr_r(void);
 int init_func_spi(void);
 int find_fdt(void);
 int prepare_fdt(void);
diff --git a/arch/x86/include/asm/init_wrappers.h b/arch/x86/include/asm/init_wrappers.h
deleted file mode 100644 (file)
index 899ffb1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * (C) Copyright 2011
- * Graeme Russ, <graeme.russ@gmail.com>
- *
- * 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
- */
-
-#ifndef _INIT_WRAPPERS_H_
-#define _INIT_WRAPPERS_H_
-
-int serial_initialize_r(void);
-int env_relocate_r(void);
-int pci_init_r(void);
-int jumptable_init_r(void);
-int pcmcia_init_r(void);
-int kgdb_init_r(void);
-int enable_interrupts_r(void);
-int eth_initialize_r(void);
-int reset_phy_r(void);
-int ide_init_r(void);
-int scsi_init_r(void);
-int doc_init_r(void);
-int bb_miiphy_init_r(void);
-int post_run_r(void);
-
-#endif /* !_INIT_WRAPPERS_H_ */
index df759faec403099ddf7d91beeb99816e829734d8..006232bcf8d609e4beb0340f4f67b92234e434d9 100644 (file)
 #ifndef _U_BOOT_H_
 #define _U_BOOT_H_     1
 
-#include <config.h>
-#include <compiler.h>
-
-#ifdef CONFIG_SYS_GENERIC_BOARD
 /* Use the generic board which requires a unified bd_info */
 #include <asm-generic/u-boot.h>
-#else
-
-#ifndef __ASSEMBLY__
-
-typedef struct bd_info {
-       unsigned long   bi_memstart;    /* start of DRAM memory */
-       phys_size_t     bi_memsize;     /* size  of DRAM memory in bytes */
-       unsigned long   bi_flashstart;  /* start of FLASH memory */
-       unsigned long   bi_flashsize;   /* size  of FLASH memory */
-       unsigned long   bi_flashoffset; /* reserved area for startup monitor */
-       unsigned long   bi_sramstart;   /* start of SRAM memory */
-       unsigned long   bi_sramsize;    /* size  of SRAM memory */
-       unsigned long   bi_bootflags;   /* boot / reboot flag (for LynxOS) */
-       unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
-       unsigned long   bi_intfreq;     /* Internal Freq, in MHz */
-       unsigned long   bi_busfreq;     /* Bus Freq, in MHz */
-       unsigned int    bi_baudrate;    /* Console Baudrate */
-       unsigned long   bi_boot_params; /* where this board expects params */
-       struct                          /* RAM configuration */
-       {
-               ulong start;
-               ulong size;
-       }bi_dram[CONFIG_NR_DRAM_BANKS];
-} bd_t;
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* !CONFIG_SYS_GENERIC_BOARD */
 
 /* For image.h:image_check_target_arch() */
 #define IH_ARCH_DEFAULT IH_ARCH_I386
index 9c6b621af23a09b3b5094e5aa4328e3a6862f9b8..962593db46a39cfc44c6902497c47a03906041e3 100644 (file)
@@ -25,15 +25,10 @@ include $(TOPDIR)/config.mk
 
 LIB    = $(obj)lib$(ARCH).o
 
-ifeq ($(CONFIG_SYS_GENERIC_BOARD),)
-COBJS-y        += board.o
-endif
-
 COBJS-y        += bootm.o
 COBJS-y        += cmd_boot.o
 COBJS-y        += gcc.o
 COBJS-y        += init_helpers.o
-COBJS-y        += init_wrappers.o
 COBJS-y        += interrupts.o
 COBJS-$(CONFIG_SYS_PCAT_INTERRUPTS) += pcat_interrupts.o
 COBJS-$(CONFIG_SYS_GENERIC_TIMER) += pcat_timer.o
diff --git a/arch/x86/lib/board.c b/arch/x86/lib/board.c
deleted file mode 100644 (file)
index 228c2c8..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * (C) Copyright 2008-2011
- * Graeme Russ, <graeme.russ@gmail.com>
- *
- * (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
- *
- * (C) Copyright 2002
- * Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
- *
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.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
- */
-
-#include <common.h>
-#include <fdtdec.h>
-#include <watchdog.h>
-#include <stdio_dev.h>
-#include <asm/u-boot-x86.h>
-#include <asm/relocate.h>
-#include <asm/processor.h>
-#include <asm/sections.h>
-
-#include <asm/init_helpers.h>
-#include <asm/init_wrappers.h>
-
-/*
- * Breath some life into the board...
- *
- * Getting the board up and running is a three-stage process:
- *  1) Execute from Flash, SDRAM Uninitialised
- *     At this point, there is a limited amount of non-SDRAM memory
- *     (typically the CPU cache, but can also be SRAM or even a buffer of
- *     of some peripheral). This limited memory is used to hold:
- *      - The initial copy of the Global Data Structure
- *      - A temporary stack
- *      - A temporary x86 Global Descriptor Table
- *      - The pre-console buffer (if enabled)
- *
- *     The following is performed during this phase of execution:
- *      - Core low-level CPU initialisation
- *      - Console initialisation
- *      - SDRAM initialisation
- *
- *  2) Execute from Flash, SDRAM Initialised
- *     At this point we copy Global Data from the initial non-SDRAM
- *     memory and set up the permanent stack in SDRAM. The CPU cache is no
- *     longer being used as temporary memory, so we can now fully enable
- *     it.
- *
- *     The following is performed during this phase of execution:
- *      - Create final stack in SDRAM
- *      - Copy Global Data from temporary memory to SDRAM
- *      - Enabling of CPU cache(s),
- *      - Copying of U-Boot code and data from Flash to RAM
- *      - Clearing of the BSS
- *      - ELF relocation adjustments
- *
- *  3) Execute from SDRAM
- *     The following is performed during this phase of execution:
- *      - All remaining initialisation
- */
-
-/*
- * The requirements for any new initalization function is simple: it is
- * a function with no parameters which returns an integer return code,
- * where 0 means "continue" and != 0 means "fatal error, hang the system"
- */
-typedef int (init_fnc_t) (void);
-
-/*
- * init_sequence_f is the list of init functions which are run when U-Boot
- * is executing from Flash with a limited 'C' environment. The following
- * limitations must be considered when implementing an '_f' function:
- *  - 'static' variables are read-only
- *  - Global Data (gd->xxx) is read/write
- *  - Stack space is limited
- *
- * The '_f' sequence must, as a minimum, initialise SDRAM. It _should_
- * also initialise the console (to provide early debug output)
- */
-init_fnc_t *init_sequence_f[] = {
-       cpu_init_f,
-       board_early_init_f,
-#ifdef CONFIG_OF_CONTROL
-       find_fdt,
-       fdtdec_check_fdt,
-#endif
-       env_init,
-       init_baudrate_f,
-       serial_init,
-       console_init_f,
-#ifdef CONFIG_OF_CONTROL
-       prepare_fdt,
-#endif
-       dram_init_f,
-       calculate_relocation_address,
-
-       NULL,
-};
-
-/*
- * init_sequence_f_r is the list of init functions which are run when
- * U-Boot is executing from Flash with a semi-limited 'C' environment.
- * The following limitations must be considered when implementing an
- * '_f_r' function:
- *  - 'static' variables are read-only
- *  - Global Data (gd->xxx) is read/write
- *
- * The '_f_r' sequence must, as a minimum, copy U-Boot to RAM (if
- * supported).  It _should_, if possible, copy global data to RAM and
- * initialise the CPU caches (to speed up the relocation process)
- */
-init_fnc_t *init_sequence_f_r[] = {
-       init_cache_f_r,
-       copy_uboot_to_ram,
-       copy_fdt_to_ram,
-       clear_bss,
-       do_elf_reloc_fixups,
-
-       NULL,
-};
-
-/*
- * init_sequence_r is the list of init functions which are run when U-Boot
- * is executing from RAM with a full 'C' environment. There are no longer
- * any limitations which must be considered when implementing an '_r'
- * function, (i.e.'static' variables are read/write)
- *
- * If not already done, the '_r' sequence must copy global data to RAM and
- * (should) initialise the CPU caches.
- */
-init_fnc_t *init_sequence_r[] = {
-       set_reloc_flag_r,
-       init_bd_struct_r,
-       mem_malloc_init_r,
-       cpu_init_r,
-       board_early_init_r,
-       dram_init,
-       interrupt_init,
-       timer_init,
-       display_banner,
-       display_dram_config,
-       serial_initialize_r,
-#ifndef CONFIG_SYS_NO_FLASH
-       flash_init_r,
-#endif
-#ifdef CONFIG_PCI
-       pci_init_r,
-#endif
-#ifdef CONFIG_SPI
-       init_func_spi,
-#endif
-       env_relocate_r,
-       stdio_init,
-       jumptable_init_r,
-       console_init_r,
-#ifdef CONFIG_MISC_INIT_R
-       misc_init_r,
-#endif
-#if defined(CONFIG_CMD_KGDB)
-       kgdb_init_r,
-#endif
-       enable_interrupts_r,
-#ifdef CONFIG_STATUS_LED
-       status_led_set_r,
-#endif
-       set_load_addr_r,
-#if defined(CONFIG_CMD_IDE)
-       ide_init_r,
-#endif
-#if defined(CONFIG_CMD_SCSI)
-       scsi_init_r,
-#endif
-#if defined(CONFIG_CMD_DOC)
-       doc_init_r,
-#endif
-#ifdef CONFIG_BITBANGMII
-       bb_miiphy_init_r,
-#endif
-#if defined(CONFIG_CMD_NET)
-       eth_initialize_r,
-#ifdef CONFIG_RESET_PHY_R
-       reset_phy_r,
-#endif
-#endif
-#ifdef CONFIG_LAST_STAGE_INIT
-       last_stage_init,
-#endif
-       NULL,
-};
-
-static void do_init_loop(init_fnc_t **init_fnc_ptr)
-{
-       for (; *init_fnc_ptr; ++init_fnc_ptr) {
-               WATCHDOG_RESET();
-               if ((*init_fnc_ptr)() != 0)
-                       hang();
-       }
-}
-
-void board_init_f(ulong boot_flags)
-{
-       gd->fdt_blob = gd->new_fdt = NULL;
-       gd->flags = boot_flags;
-
-       do_init_loop(init_sequence_f);
-
-       /*
-        * SDRAM and console are now initialised. The final stack can now
-        * be setup in SDRAM. Code execution will continue in Flash, but
-        * with the stack in SDRAM and Global Data in temporary memory
-        * (CPU cache)
-        */
-       board_init_f_r_trampoline(gd->start_addr_sp);
-
-       /* NOTREACHED - board_init_f_r_trampoline() does not return */
-       while (1)
-               ;
-}
-
-void board_init_f_r(void)
-{
-       do_init_loop(init_sequence_f_r);
-
-       /*
-        * U-Boot has been copied into SDRAM, the BSS has been cleared etc.
-        * Transfer execution from Flash to RAM by calculating the address
-        * of the in-RAM copy of board_init_r() and calling it
-        */
-       (board_init_r + gd->reloc_off)(gd, gd->relocaddr);
-
-       /* NOTREACHED - board_init_r() does not return */
-       while (1)
-               ;
-}
-
-void board_init_r(gd_t *id, ulong dest_addr)
-{
-       do_init_loop(init_sequence_r);
-
-       /* main_loop() can return to retry autoboot, if so just run it again. */
-       for (;;)
-               main_loop();
-
-       /* NOTREACHED - no way out of command loop except booting */
-}
index af9dbc146a3c7beef6f4adec33828d42cb270e3a..a57a0eb4682545b3b86dde61e297cc40c1ba82da 100644 (file)
  * MA 02111-1307 USA
  */
 #include <common.h>
-#include <command.h>
 #include <fdtdec.h>
-#include <stdio_dev.h>
-#include <version.h>
-#include <malloc.h>
-#include <net.h>
-#include <ide.h>
-#include <serial.h>
 #include <spi.h>
-#include <status_led.h>
-#include <asm/processor.h>
 #include <asm/sections.h>
-#include <asm/u-boot-x86.h>
-#include <linux/compiler.h>
-
-#include <asm/init_helpers.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
-/************************************************************************
- * Init Utilities                                                      *
- ************************************************************************
- * Some of this code should be moved into the core functions,
- * or dropped completely,
- * but let's get it working (again) first...
- */
-
-int display_banner(void)
-{
-       printf("\n\n%s\n\n", version_string);
-
-       return 0;
-}
-
-int display_dram_config(void)
-{
-       int i;
-
-       puts("DRAM Configuration:\n");
-
-       for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
-               printf("Bank #%d: %08lx ", i, gd->bd->bi_dram[i].start);
-               print_size(gd->bd->bi_dram[i].size, "\n");
-       }
-
-       return 0;
-}
-
-int init_baudrate_f(void)
-{
-       gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE);
-       return 0;
-}
-
 /* Get the top of usable RAM */
 __weak ulong board_get_usable_ram_top(ulong total_size)
 {
@@ -134,21 +86,6 @@ int init_cache_f_r(void)
        return init_cache();
 }
 
-int set_reloc_flag_r(void)
-{
-       gd->flags = GD_FLG_RELOC;
-
-       return 0;
-}
-
-int mem_malloc_init_r(void)
-{
-       mem_malloc_init(((gd->relocaddr - CONFIG_SYS_MALLOC_LEN)+3)&~3,
-                       CONFIG_SYS_MALLOC_LEN);
-
-       return 0;
-}
-
 bd_t bd_data;
 
 int init_bd_struct_r(void)
@@ -159,39 +96,6 @@ int init_bd_struct_r(void)
        return 0;
 }
 
-#ifndef CONFIG_SYS_NO_FLASH
-int flash_init_r(void)
-{
-       ulong size;
-
-       puts("Flash: ");
-
-       /* configure available FLASH banks */
-       size = flash_init();
-
-       print_size(size, "\n");
-
-       return 0;
-}
-#endif
-
-#ifdef CONFIG_STATUS_LED
-int status_led_set_r(void)
-{
-       status_led_set(STATUS_LED_BOOT, STATUS_LED_BLINKING);
-
-       return 0;
-}
-#endif
-
-int set_load_addr_r(void)
-{
-       /* Initialize from environment */
-       load_addr = getenv_ulong("loadaddr", 16, load_addr);
-
-       return 0;
-}
-
 int init_func_spi(void)
 {
        puts("SPI:   ");
@@ -200,7 +104,6 @@ int init_func_spi(void)
        return 0;
 }
 
-#ifdef CONFIG_OF_CONTROL
 int find_fdt(void)
 {
 #ifdef CONFIG_OF_EMBED
@@ -227,4 +130,3 @@ int prepare_fdt(void)
 
        return 0;
 }
-#endif
diff --git a/arch/x86/lib/init_wrappers.c b/arch/x86/lib/init_wrappers.c
deleted file mode 100644 (file)
index 19af875..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * (C) Copyright 2011
- * Graeme Russ, <graeme.russ@gmail.com>
- *
- * 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
- */
-#include <common.h>
-#include <environment.h>
-#include <fdtdec.h>
-#include <serial.h>
-#include <kgdb.h>
-#include <scsi.h>
-#include <post.h>
-#include <miiphy.h>
-
-#include <asm/init_wrappers.h>
-
-int serial_initialize_r(void)
-{
-       serial_initialize();
-
-       return 0;
-}
-
-/*
- * Tell if it's OK to load the environment early in boot.
- *
- * If CONFIG_OF_CONFIG is defined, we'll check with the FDT to see
- * if this is OK (defaulting to saying it's not OK).
- *
- * NOTE: Loading the environment early can be a bad idea if security is
- *       important, since no verification is done on the environment.
- *
- * @return 0 if environment should not be loaded, !=0 if it is ok to load
- */
-static int should_load_env(void)
-{
-#ifdef CONFIG_OF_CONTROL
-       return fdtdec_get_config_int(gd->fdt_blob, "load-environment", 0);
-#elif defined CONFIG_DELAY_ENVIRONMENT
-       return 0;
-#else
-       return 1;
-#endif
-}
-
-int env_relocate_r(void)
-{
-       /* initialize environment */
-       if (should_load_env())
-               env_relocate();
-       else
-               set_default_env(NULL);
-
-       return 0;
-}
-
-
-int pci_init_r(void)
-{
-       /* Do pci configuration */
-       pci_init();
-
-       return 0;
-}
-
-int jumptable_init_r(void)
-{
-       jumptable_init();
-
-       return 0;
-}
-
-int pcmcia_init_r(void)
-{
-       puts("PCMCIA:");
-       pcmcia_init();
-
-       return 0;
-}
-
-int kgdb_init_r(void)
-{
-       puts("KGDB:  ");
-       kgdb_init();
-
-       return 0;
-}
-
-int enable_interrupts_r(void)
-{
-       /* enable exceptions */
-       enable_interrupts();
-
-       return 0;
-}
-
-int eth_initialize_r(void)
-{
-       puts("Net:   ");
-       eth_initialize(gd->bd);
-
-       return 0;
-}
-
-int reset_phy_r(void)
-{
-#ifdef DEBUG
-       puts("Reset Ethernet PHY\n");
-#endif
-       reset_phy();
-
-       return 0;
-}
-
-int ide_init_r(void)
-{
-       puts("IDE:   ");
-       ide_init();
-
-       return 0;
-}
-
-int scsi_init_r(void)
-{
-       puts("SCSI:  ");
-       scsi_init();
-
-       return 0;
-}
-
-#ifdef CONFIG_BITBANGMII
-int bb_miiphy_init_r(void)
-{
-       bb_miiphy_init();
-
-       return 0;
-}
-#endif
-
-#ifdef CONFIG_POST
-int post_run_r(void)
-{
-       post_run(NULL, POST_RAM | post_bootmode_get(0));
-
-       return 0;
-}
-#endif