1/* 2 * (C) Copyright 2002 3 * Kyle Harris, Nexus Technologies, Inc. kharris@nexus-tech.net 4 * 5 * (C) Copyright 2002 6 * Sysgo Real-Time Solutions, GmbH <www.elinos.com> 7 * Marius Groeger <mgroeger@sysgo.de> 8 * 9 * See file CREDITS for list of people who contributed to this 10 * project. 11 * 12 * This program is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU General Public License as 14 * published by the Free Software Foundation; either version 2 of 15 * the License, or (at your option) any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * You should have received a copy of the GNU General Public License 23 * along with this program; if not, write to the Free Software 24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 25 * MA 02111-1307 USA 26 */ 27 28#include <asm/arch/pxa-regs.h> 29#include <common.h> 30#include <netdev.h> 31 32DECLARE_GLOBAL_DATA_PTR; 33 34/* ------------------------------------------------------------------------- */ 35 36/* local prototypes */ 37 38inline void sleep (int i); 39 40inline void 41/**********************************************************/ 42sleep (int i) 43/**********************************************************/ 44{ 45 while (i--) { 46 udelay (1000000); 47 } 48} 49 50/* 51 * Miscelaneous platform dependent initialisations 52 */ 53 54int 55/**********************************************************/ 56board_init (void) 57/**********************************************************/ 58{ 59 /* We have RAM, disable cache */ 60 dcache_disable(); 61 icache_disable(); 62 63 /* arch number of MicroSys XM250 */ 64 gd->bd->bi_arch_number = MACH_TYPE_XM250; 65 66 /* adress of boot parameters */ 67 gd->bd->bi_boot_params = 0xa0000100; 68 69 return 0; 70} 71 72extern void pxa_dram_init(void); 73int dram_init(void) 74{ 75 pxa_dram_init(); 76 gd->ram_size = PHYS_SDRAM_1_SIZE; 77 return 0; 78} 79 80void dram_init_banksize(void) 81{ 82 gd->bd->bi_dram[0].start = PHYS_SDRAM_1; 83 gd->bd->bi_dram[0].size = PHYS_SDRAM_1_SIZE; 84} 85 86#ifdef CONFIG_CMD_NET 87int board_eth_init(bd_t *bis) 88{ 89 int rc = 0; 90#ifdef CONFIG_SMC91111 91 rc = smc91111_initialize(0, CONFIG_SMC91111_BASE); 92#endif 93 return rc; 94} 95#endif 96