blob: 91133a38aee345a697ef52f24ec25b0d62d7ab6e [file] [log] [blame]
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +09001/*
2 * (C) Copyright 2007
3 * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02005 * SPDX-License-Identifier: GPL-2.0+
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +09006 */
7
8#include <common.h>
9#include <command.h>
Nobuhiro Iwamatsu64f3c0b2009-02-27 18:35:41 +090010#include <netdev.h>
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090011#include <asm/processor.h>
Nobuhiro Iwamatsue92c95182008-03-12 12:15:29 +090012#include <asm/cache.h>
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090013
14int checkcpu(void)
15{
Yoshihiro Shimodad1858572012-07-23 14:53:42 +000016#ifdef CONFIG_SH4A
17 puts("CPU: SH-4A\n");
18#else
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090019 puts("CPU: SH4\n");
Yoshihiro Shimodad1858572012-07-23 14:53:42 +000020#endif
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090021 return 0;
22}
23
24int cpu_init (void)
25{
26 return 0;
27}
28
29int cleanup_before_linux (void)
30{
31 disable_interrupts();
32 return 0;
33}
34
Wolfgang Denk54841ab2010-06-28 22:00:46 +020035int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090036{
37 disable_interrupts();
38 reset_cpu (0);
39 return 0;
40}
41
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090042void flush_cache (unsigned long addr, unsigned long size)
43{
Nobuhiro Iwamatsua633a182013-08-22 08:43:47 +090044 invalidate_dcache_range(addr , addr + size);
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090045}
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090046
47void icache_enable (void)
48{
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090049 cache_control(0);
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090050}
51
52void icache_disable (void)
53{
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090054 cache_control(1);
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090055}
56
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090057int icache_status (void)
58{
Wolfgang Denk61fb15c52007-12-27 01:52:50 +010059 return 0;
Nobuhiro Iwamatsu0b135cf2007-05-13 20:58:00 +090060}
Nobuhiro Iwamatsub02bad12007-09-23 02:12:30 +090061
62void dcache_enable (void)
63{
64}
65
66void dcache_disable (void)
67{
68}
69
70int dcache_status (void)
71{
72 return 0;
73}
Nobuhiro Iwamatsubd3980c2008-11-21 12:04:18 +090074
75int cpu_eth_init(bd_t *bis)
76{
77#ifdef CONFIG_SH_ETHER
78 sh_eth_initialize(bis);
79#endif
80 return 0;
81}