sparc: Initial ground work for generic board initialization
[platform/kernel/u-boot.git] / arch / sparc / cpu / leon2 / cpu.c
1 /* CPU specific code for the LEON2 CPU
2  *
3  * (C) Copyright 2007, 2015
4  * Daniel Hellstrom, Cobham Gaisler, daniel@gaisler.com
5  *
6  * SPDX-License-Identifier:     GPL-2.0+
7  */
8
9 #include <common.h>
10 #include <watchdog.h>
11 #include <command.h>
12 #include <netdev.h>
13
14 DECLARE_GLOBAL_DATA_PTR;
15
16 extern void _reset_reloc(void);
17
18 int checkcpu(void)
19 {
20         /* check LEON version here */
21         printf("CPU: LEON2\n");
22         return 0;
23 }
24
25 /* ------------------------------------------------------------------------- */
26
27 void cpu_reset(void)
28 {
29         /* Interrupts off */
30         disable_interrupts();
31
32         /* jump to restart in flash */
33         _reset_reloc();
34 }
35
36 int do_reset(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
37 {
38         cpu_reset();
39
40         return 1;
41 }
42
43 /* ------------------------------------------------------------------------- */
44
45 #ifdef CONFIG_GRETH
46 int cpu_eth_init(bd_t *bis)
47 {
48         return greth_initialize(bis);
49 }
50 #endif