1/* CPU specific code for the LEON3 CPU 2 * 3 * (C) Copyright 2007 4 * Daniel Hellstrom, Gaisler Research, daniel@gaisler.com 5 * 6 * See file CREDITS for list of people who contributed to this 7 * project. 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License as 11 * published by the Free Software Foundation; either version 2 of 12 * the License, or (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 22 * MA 02111-1307 USA 23 */ 24 25#include <common.h> 26#include <watchdog.h> 27#include <command.h> 28#include <netdev.h> 29 30#include <asm/io.h> 31#include <asm/processor.h> 32 33DECLARE_GLOBAL_DATA_PTR; 34 35extern void _reset_reloc(void); 36 37int checkcpu(void) 38{ 39 /* check LEON version here */ 40 printf("CPU: LEON3\n"); 41 return 0; 42} 43 44/* ------------------------------------------------------------------------- */ 45 46void cpu_reset(void) 47{ 48 /* Interrupts off */ 49 disable_interrupts(); 50 51 /* jump to restart in flash */ 52 _reset_reloc(); 53} 54 55int do_reset(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) 56{ 57 cpu_reset(); 58 59 return 1; 60 61} 62 63u64 flash_read64(void *addr) 64{ 65 return __raw_readq(addr); 66} 67 68/* ------------------------------------------------------------------------- */ 69 70#ifdef CONFIG_GRETH 71int cpu_eth_init(bd_t *bis) 72{ 73 return greth_initialize(bis); 74} 75#endif 76