X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=arch%2Fsh%2Flib%2Fboard.c;h=1eb7afb89e5ab7d57b14380781ecb4ad63357a90;hp=3d201b2e5c03f4b624e5b69c9b4abc585a994d8a;hb=8e2615752ee6d5daf8ce2e1e599a0512750f24b9;hpb=cdc51c294ad33879c4e57edf4c9d2155381b1d59 diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c index 3d201b2e5c..1eb7afb89e 100644 --- a/arch/sh/lib/board.c +++ b/arch/sh/lib/board.c @@ -1,31 +1,18 @@ /* - * Copyright (C) 2007,2008 + * Copyright (C) 2007, 2008, 2010 * Nobuhiro Iwamatsu * - * 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 #include #include #include -#include #include #include #include +#include #include #ifdef CONFIG_BITBANGMII @@ -39,17 +26,21 @@ extern int board_init(void); extern int dram_init(void); extern int timer_init(void); -const char version_string[] = U_BOOT_VERSION" ("U_BOOT_DATE" - "U_BOOT_TIME")"; - unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN; +#ifndef CONFIG_SYS_NO_FLASH static int sh_flash_init(void) { gd->bd->bi_flashsize = flash_init(); - printf("FLASH: %ldMB\n", gd->bd->bi_flashsize / (1024*1024)); + + if (gd->bd->bi_flashsize >= (1024 * 1024)) + printf("Flash: %ldMB\n", gd->bd->bi_flashsize / (1024*1024)); + else + printf("Flash: %ldKB\n", gd->bd->bi_flashsize / 1024); return 0; } +#endif /* CONFIG_SYS_NO_FLASH */ #if defined(CONFIG_CMD_NAND) # include @@ -61,6 +52,7 @@ static int sh_flash_init(void) #if defined(CONFIG_WATCHDOG) extern int watchdog_init(void); extern int watchdog_disable(void); +# undef INIT_FUNC_WATCHDOG_INIT # define INIT_FUNC_WATCHDOG_INIT watchdog_init, # define WATCHDOG_DISABLE watchdog_disable #else @@ -96,10 +88,11 @@ static int sh_mem_env_init(void) return 0; } -#if defined(CONFIG_CMD_NET) -static int sh_net_init(void) +#if defined(CONFIG_CMD_MMC) +static int sh_mmc_init(void) { - gd->bd->bi_ip_addr = getenv_IPaddr("ipaddr"); + puts("MMC: "); + mmc_initialize(gd->bd); return 0; } #endif @@ -121,17 +114,19 @@ init_fnc_t *init_sequence[] = dram_init, /* SDRAM init */ timer_init, /* SuperH Timer (TCNT0 only) init */ sh_mem_env_init, - sh_flash_init, /* Flash memory(NOR) init*/ +#ifndef CONFIG_SYS_NO_FLASH + sh_flash_init, /* Flash memory init*/ +#endif INIT_FUNC_NAND_INIT/* Flash memory (NAND) init */ INIT_FUNC_PCI_INIT /* PCI init */ stdio_init, console_init_r, interrupt_init, -#ifdef BOARD_LATE_INIT +#ifdef CONFIG_BOARD_LATE_INIT board_late_init, #endif -#if defined(CONFIG_CMD_NET) - sh_net_init, /* SH specific eth init */ +#if defined(CONFIG_CMD_MMC) + sh_mmc_init, #endif NULL /* Terminate this list */ }; @@ -153,12 +148,13 @@ void sh_generic_init(void) bd = gd->bd; bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; +#ifndef CONFIG_SYS_NO_FLASH bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; +#endif #if defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE) bd->bi_sramstart = CONFIG_SYS_SRAM_BASE; bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE; #endif - bd->bi_baudrate = CONFIG_BAUDRATE; for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { WATCHDOG_RESET(); @@ -181,15 +177,8 @@ void sh_generic_init(void) bb_miiphy_init(); #endif #if defined(CONFIG_CMD_NET) - { - char *s; - puts("Net: "); - eth_initialize(gd->bd); - - s = getenv("bootfile"); - if (s != NULL) - copy_filename(BootFile, s, sizeof(BootFile)); - } + puts("Net: "); + eth_initialize(gd->bd); #endif /* CONFIG_CMD_NET */ while (1) { @@ -197,12 +186,3 @@ void sh_generic_init(void) main_loop(); } } - -/***********************************************************************/ - -void hang(void) -{ - puts("Board ERROR\n"); - for (;;) - ; -}