137e4dafaSPeter Tyser /* 237e4dafaSPeter Tyser * (C) Copyright 2004, Psyent Corporation <www.psyent.com> 337e4dafaSPeter Tyser * Scott McNutt <smcnutt@psyent.com> 437e4dafaSPeter Tyser * 537e4dafaSPeter Tyser * See file CREDITS for list of people who contributed to this 637e4dafaSPeter Tyser * project. 737e4dafaSPeter Tyser * 837e4dafaSPeter Tyser * This program is free software; you can redistribute it and/or 937e4dafaSPeter Tyser * modify it under the terms of the GNU General Public License as 1037e4dafaSPeter Tyser * published by the Free Software Foundation; either version 2 of 1137e4dafaSPeter Tyser * the License, or (at your option) any later version. 1237e4dafaSPeter Tyser * 1337e4dafaSPeter Tyser * This program is distributed in the hope that it will be useful, 1437e4dafaSPeter Tyser * but WITHOUT ANY WARRANTY; without even the implied warranty of 1537e4dafaSPeter Tyser * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1637e4dafaSPeter Tyser * GNU General Public License for more details. 1737e4dafaSPeter Tyser * 1837e4dafaSPeter Tyser * You should have received a copy of the GNU General Public License 1937e4dafaSPeter Tyser * along with this program; if not, write to the Free Software 2037e4dafaSPeter Tyser * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 2137e4dafaSPeter Tyser * MA 02111-1307 USA 2237e4dafaSPeter Tyser */ 2337e4dafaSPeter Tyser 2437e4dafaSPeter Tyser #include <common.h> 2537e4dafaSPeter Tyser #include <nios2.h> 2637e4dafaSPeter Tyser #include <nios2-io.h> 27*f956ad98SJoachim Foerster #include <asm/cache.h> 2837e4dafaSPeter Tyser 2937e4dafaSPeter Tyser #if defined (CONFIG_SYS_NIOS_SYSID_BASE) 3037e4dafaSPeter Tyser extern void display_sysid (void); 3137e4dafaSPeter Tyser #endif /* CONFIG_SYS_NIOS_SYSID_BASE */ 3237e4dafaSPeter Tyser 3337e4dafaSPeter Tyser int checkcpu (void) 3437e4dafaSPeter Tyser { 3537e4dafaSPeter Tyser printf ("CPU : Nios-II\n"); 3637e4dafaSPeter Tyser #if !defined(CONFIG_SYS_NIOS_SYSID_BASE) 3737e4dafaSPeter Tyser printf ("SYSID : <unknown>\n"); 3837e4dafaSPeter Tyser #else 3937e4dafaSPeter Tyser display_sysid (); 4037e4dafaSPeter Tyser #endif 4137e4dafaSPeter Tyser return (0); 4237e4dafaSPeter Tyser } 4337e4dafaSPeter Tyser 44882b7d72SMike Frysinger int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 4537e4dafaSPeter Tyser { 4637e4dafaSPeter Tyser disable_interrupts(); 477a6a7d10SThomas Chou /* indirect call to go beyond 256MB limitation of toolchain */ 487a6a7d10SThomas Chou nios2_callr(CONFIG_SYS_RESET_ADDR); 497a6a7d10SThomas Chou return 0; 5037e4dafaSPeter Tyser } 51*f956ad98SJoachim Foerster 52*f956ad98SJoachim Foerster int dcache_status(void) 53*f956ad98SJoachim Foerster { 54*f956ad98SJoachim Foerster return 1; 55*f956ad98SJoachim Foerster } 56*f956ad98SJoachim Foerster 57*f956ad98SJoachim Foerster void dcache_enable(void) 58*f956ad98SJoachim Foerster { 59*f956ad98SJoachim Foerster flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE); 60*f956ad98SJoachim Foerster } 61*f956ad98SJoachim Foerster 62*f956ad98SJoachim Foerster void dcache_disable(void) 63*f956ad98SJoachim Foerster { 64*f956ad98SJoachim Foerster flush_dcache(CONFIG_SYS_DCACHE_SIZE, CONFIG_SYS_DCACHELINE_SIZE); 65*f956ad98SJoachim Foerster } 66