1 /* 2 * (C) Copyright 2007 3 * Nobuhiro Iwamatsu <iwamatsu@nigauri.org> 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 <command.h> 26 #include <netdev.h> 27 #include <asm/processor.h> 28 #include <asm/cache.h> 29 30 int checkcpu(void) 31 { 32 #ifdef CONFIG_SH4A 33 puts("CPU: SH-4A\n"); 34 #else 35 puts("CPU: SH4\n"); 36 #endif 37 return 0; 38 } 39 40 int cpu_init (void) 41 { 42 return 0; 43 } 44 45 int cleanup_before_linux (void) 46 { 47 disable_interrupts(); 48 return 0; 49 } 50 51 int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) 52 { 53 disable_interrupts(); 54 reset_cpu (0); 55 return 0; 56 } 57 58 void flush_cache (unsigned long addr, unsigned long size) 59 { 60 dcache_invalid_range( addr , addr + size ); 61 } 62 63 void icache_enable (void) 64 { 65 cache_control(0); 66 } 67 68 void icache_disable (void) 69 { 70 cache_control(1); 71 } 72 73 int icache_status (void) 74 { 75 return 0; 76 } 77 78 void dcache_enable (void) 79 { 80 } 81 82 void dcache_disable (void) 83 { 84 } 85 86 int dcache_status (void) 87 { 88 return 0; 89 } 90 91 int cpu_eth_init(bd_t *bis) 92 { 93 #ifdef CONFIG_SH_ETHER 94 sh_eth_initialize(bis); 95 #endif 96 return 0; 97 } 98