xref: /openbmc/u-boot/arch/mips/cpu/cpu.c (revision ef64e782)
1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * (C) Copyright 2003
4  * Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
5  */
6 
7 #include <common.h>
8 #include <command.h>
9 #include <linux/compiler.h>
10 #include <asm/cache.h>
11 #include <asm/mipsregs.h>
12 #include <asm/reboot.h>
13 
14 #ifndef CONFIG_SYSRESET
15 void __weak _machine_restart(void)
16 {
17 	fprintf(stderr, "*** reset failed ***\n");
18 
19 	while (1)
20 		/* NOP */;
21 }
22 
23 int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
24 {
25 	_machine_restart();
26 
27 	return 0;
28 }
29 #endif
30 
31 void write_one_tlb(int index, u32 pagemask, u32 hi, u32 low0, u32 low1)
32 {
33 	write_c0_entrylo0(low0);
34 	write_c0_pagemask(pagemask);
35 	write_c0_entrylo1(low1);
36 	write_c0_entryhi(hi);
37 	write_c0_index(index);
38 	tlb_write_indexed();
39 }
40 
41 int arch_cpu_init(void)
42 {
43 	mips_cache_probe();
44 	return 0;
45 }
46