blob: 7da1ef753a987fb401e85eec8242676c300b3f00 [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 Iwamatsu64f3c0b2009-02-27 18:35:41 +090026#include <netdev.h>
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090027#include <asm/processor.h>
Nobuhiro Iwamatsue92c95182008-03-12 12:15:29 +090028#include <asm/cache.h>
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090029
30int checkcpu(void)
31{
Yoshihiro Shimodad1858572012-07-23 14:53:42 +000032#ifdef CONFIG_SH4A
33 puts("CPU: SH-4A\n");
34#else
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090035 puts("CPU: SH4\n");
Yoshihiro Shimodad1858572012-07-23 14:53:42 +000036#endif
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090037 return 0;
38}
39
40int cpu_init (void)
41{
42 return 0;
43}
44
45int cleanup_before_linux (void)
46{
47 disable_interrupts();
48 return 0;
49}
50
Wolfgang Denk54841ab2010-06-28 22:00:46 +020051int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090052{
53 disable_interrupts();
54 reset_cpu (0);
55 return 0;
56}
57
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090058void flush_cache (unsigned long addr, unsigned long size)
59{
Nobuhiro Iwamatsue92c95182008-03-12 12:15:29 +090060 dcache_invalid_range( addr , addr + size );
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090061}
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090062
63void icache_enable (void)
64{
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090065 cache_control(0);
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090066}
67
68void icache_disable (void)
69{
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090070 cache_control(1);
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090071}
72
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090073int icache_status (void)
74{
Wolfgang Denk61fb15c52007-12-27 01:52:50 +010075 return 0;
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090076}
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090077
78void dcache_enable (void)
79{
80}
81
82void dcache_disable (void)
83{
84}
85
86int dcache_status (void)
87{
88 return 0;
89}
Nobuhiro Iwamatsubd3980c2008-11-21 12:04:18 +090090
91int cpu_eth_init(bd_t *bis)
92{
93#ifdef CONFIG_SH_ETHER
94 sh_eth_initialize(bis);
95#endif
96 return 0;
97}