1*8f0fec74SPeter Tyser /* 2*8f0fec74SPeter Tyser * (C) Copyright 2007 3*8f0fec74SPeter Tyser * Nobuhiro Iwamatsu <iwamatsu@nigauri.org> 4*8f0fec74SPeter Tyser * 5*8f0fec74SPeter Tyser * See file CREDITS for list of people who contributed to this 6*8f0fec74SPeter Tyser * project. 7*8f0fec74SPeter Tyser * 8*8f0fec74SPeter Tyser * This program is free software; you can redistribute it and/or 9*8f0fec74SPeter Tyser * modify it under the terms of the GNU General Public License as 10*8f0fec74SPeter Tyser * published by the Free Software Foundation; either version 2 of 11*8f0fec74SPeter Tyser * the License, or (at your option) any later version. 12*8f0fec74SPeter Tyser * 13*8f0fec74SPeter Tyser * This program is distributed in the hope that it will be useful, 14*8f0fec74SPeter Tyser * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*8f0fec74SPeter Tyser * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*8f0fec74SPeter Tyser * GNU General Public License for more details. 17*8f0fec74SPeter Tyser * 18*8f0fec74SPeter Tyser * You should have received a copy of the GNU General Public License 19*8f0fec74SPeter Tyser * along with this program; if not, write to the Free Software 20*8f0fec74SPeter Tyser * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21*8f0fec74SPeter Tyser * MA 02111-1307 USA 22*8f0fec74SPeter Tyser */ 23*8f0fec74SPeter Tyser 24*8f0fec74SPeter Tyser #include <common.h> 25*8f0fec74SPeter Tyser #include <command.h> 26*8f0fec74SPeter Tyser #include <netdev.h> 27*8f0fec74SPeter Tyser #include <asm/processor.h> 28*8f0fec74SPeter Tyser #include <asm/cache.h> 29*8f0fec74SPeter Tyser 30*8f0fec74SPeter Tyser int checkcpu(void) 31*8f0fec74SPeter Tyser { 32*8f0fec74SPeter Tyser puts("CPU: SH4\n"); 33*8f0fec74SPeter Tyser return 0; 34*8f0fec74SPeter Tyser } 35*8f0fec74SPeter Tyser 36*8f0fec74SPeter Tyser int cpu_init (void) 37*8f0fec74SPeter Tyser { 38*8f0fec74SPeter Tyser return 0; 39*8f0fec74SPeter Tyser } 40*8f0fec74SPeter Tyser 41*8f0fec74SPeter Tyser int cleanup_before_linux (void) 42*8f0fec74SPeter Tyser { 43*8f0fec74SPeter Tyser disable_interrupts(); 44*8f0fec74SPeter Tyser return 0; 45*8f0fec74SPeter Tyser } 46*8f0fec74SPeter Tyser 47*8f0fec74SPeter Tyser int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) 48*8f0fec74SPeter Tyser { 49*8f0fec74SPeter Tyser disable_interrupts(); 50*8f0fec74SPeter Tyser reset_cpu (0); 51*8f0fec74SPeter Tyser return 0; 52*8f0fec74SPeter Tyser } 53*8f0fec74SPeter Tyser 54*8f0fec74SPeter Tyser void flush_cache (unsigned long addr, unsigned long size) 55*8f0fec74SPeter Tyser { 56*8f0fec74SPeter Tyser dcache_invalid_range( addr , addr + size ); 57*8f0fec74SPeter Tyser } 58*8f0fec74SPeter Tyser 59*8f0fec74SPeter Tyser void icache_enable (void) 60*8f0fec74SPeter Tyser { 61*8f0fec74SPeter Tyser cache_control(0); 62*8f0fec74SPeter Tyser } 63*8f0fec74SPeter Tyser 64*8f0fec74SPeter Tyser void icache_disable (void) 65*8f0fec74SPeter Tyser { 66*8f0fec74SPeter Tyser cache_control(1); 67*8f0fec74SPeter Tyser } 68*8f0fec74SPeter Tyser 69*8f0fec74SPeter Tyser int icache_status (void) 70*8f0fec74SPeter Tyser { 71*8f0fec74SPeter Tyser return 0; 72*8f0fec74SPeter Tyser } 73*8f0fec74SPeter Tyser 74*8f0fec74SPeter Tyser void dcache_enable (void) 75*8f0fec74SPeter Tyser { 76*8f0fec74SPeter Tyser } 77*8f0fec74SPeter Tyser 78*8f0fec74SPeter Tyser void dcache_disable (void) 79*8f0fec74SPeter Tyser { 80*8f0fec74SPeter Tyser } 81*8f0fec74SPeter Tyser 82*8f0fec74SPeter Tyser int dcache_status (void) 83*8f0fec74SPeter Tyser { 84*8f0fec74SPeter Tyser return 0; 85*8f0fec74SPeter Tyser } 86*8f0fec74SPeter Tyser 87*8f0fec74SPeter Tyser int cpu_eth_init(bd_t *bis) 88*8f0fec74SPeter Tyser { 89*8f0fec74SPeter Tyser #ifdef CONFIG_SH_ETHER 90*8f0fec74SPeter Tyser sh_eth_initialize(bis); 91*8f0fec74SPeter Tyser #endif 92*8f0fec74SPeter Tyser return 0; 93*8f0fec74SPeter Tyser } 94