1 /* 2 * (C) Copyright 2004, Psyent Corporation <www.psyent.com> 3 * Scott McNutt <smcnutt@psyent.com> 4 * 5 * See file CREDITS for list of people who contributed to this 6 * project. 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation; either version 2 of 11 * the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21 * MA 02111-1307 USA 22 */ 23 24 #include <common.h> 25 #include <nios2.h> 26 #include <nios2-io.h> 27 #include <asm/cache.h> 28 29 #if defined (CONFIG_SYS_NIOS_SYSID_BASE) 30 extern void display_sysid (void); 31 #endif /* CONFIG_SYS_NIOS_SYSID_BASE */ 32 33 int checkcpu (void) 34 { 35 printf ("CPU : Nios-II\n"); 36 #if !defined(CONFIG_SYS_NIOS_SYSID_BASE) 37 printf ("SYSID : <unknown>\n"); 38 #else 39 display_sysid (); 40 #endif 41 return (0); 42 } 43 44 int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 45 { 46 disable_interrupts(); 47 /* indirect call to go beyond 256MB limitation of toolchain */ 48 nios2_callr(CONFIG_SYS_RESET_ADDR); 49 return 0; 50 } 51 52 int dcache_status(void) 53 { 54 return 1; 55 } 56 57 void dcache_enable(void) 58 { 59 flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE); 60 } 61 62 void dcache_disable(void) 63 { 64 flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE); 65 } 66