blob: 52b6cfd684ee38e19edec3ec29dc2b59ff406e94 [file] [log] [blame]
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +09001/*
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>
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090026#include <asm/processor.h>
Nobuhiro Iwamatsue92c95182008-03-12 12:15:29 +090027#include <asm/cache.h>
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090028
29int checkcpu(void)
30{
31 puts("CPU: SH4\n");
32 return 0;
33}
34
35int cpu_init (void)
36{
37 return 0;
38}
39
40int cleanup_before_linux (void)
41{
42 disable_interrupts();
43 return 0;
44}
45
46int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
47{
48 disable_interrupts();
49 reset_cpu (0);
50 return 0;
51}
52
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090053void flush_cache (unsigned long addr, unsigned long size)
54{
Nobuhiro Iwamatsue92c95182008-03-12 12:15:29 +090055 dcache_invalid_range( addr , addr + size );
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090056}
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090057
58void icache_enable (void)
59{
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090060 cache_control(0);
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090061}
62
63void icache_disable (void)
64{
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090065 cache_control(1);
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090066}
67
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090068int icache_status (void)
69{
Wolfgang Denk61fb15c52007-12-27 01:52:50 +010070 return 0;
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090071}
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090072
73void dcache_enable (void)
74{
75}
76
77void dcache_disable (void)
78{
79}
80
81int dcache_status (void)
82{
83 return 0;
84}
Nobuhiro Iwamatsubd3980c2008-11-21 12:04:18 +090085
86int cpu_eth_init(bd_t *bis)
87{
88#ifdef CONFIG_SH_ETHER
89 sh_eth_initialize(bis);
90#endif
91 return 0;
92}