1eef88dfbSDaniel Schwierzeck /*
2eef88dfbSDaniel Schwierzeck * (C) Copyright 2003
3eef88dfbSDaniel Schwierzeck * Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
4eef88dfbSDaniel Schwierzeck *
5eef88dfbSDaniel Schwierzeck * SPDX-License-Identifier: GPL-2.0+
6eef88dfbSDaniel Schwierzeck */
7eef88dfbSDaniel Schwierzeck
8eef88dfbSDaniel Schwierzeck #include <common.h>
9eef88dfbSDaniel Schwierzeck #include <command.h>
10eef88dfbSDaniel Schwierzeck #include <linux/compiler.h>
118cb4817dSPaul Burton #include <asm/cache.h>
12eef88dfbSDaniel Schwierzeck #include <asm/mipsregs.h>
13eef88dfbSDaniel Schwierzeck #include <asm/reboot.h>
14eef88dfbSDaniel Schwierzeck
15*5e36546cSÁlvaro Fernández Rojas #ifndef CONFIG_SYSRESET
_machine_restart(void)16eef88dfbSDaniel Schwierzeck void __weak _machine_restart(void)
17eef88dfbSDaniel Schwierzeck {
18eef88dfbSDaniel Schwierzeck fprintf(stderr, "*** reset failed ***\n");
19eef88dfbSDaniel Schwierzeck
20eef88dfbSDaniel Schwierzeck while (1)
21eef88dfbSDaniel Schwierzeck /* NOP */;
22eef88dfbSDaniel Schwierzeck }
23eef88dfbSDaniel Schwierzeck
do_reset(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])24eef88dfbSDaniel Schwierzeck int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
25eef88dfbSDaniel Schwierzeck {
26eef88dfbSDaniel Schwierzeck _machine_restart();
27eef88dfbSDaniel Schwierzeck
28eef88dfbSDaniel Schwierzeck return 0;
29eef88dfbSDaniel Schwierzeck }
30*5e36546cSÁlvaro Fernández Rojas #endif
31eef88dfbSDaniel Schwierzeck
write_one_tlb(int index,u32 pagemask,u32 hi,u32 low0,u32 low1)32eef88dfbSDaniel Schwierzeck void write_one_tlb(int index, u32 pagemask, u32 hi, u32 low0, u32 low1)
33eef88dfbSDaniel Schwierzeck {
34eef88dfbSDaniel Schwierzeck write_c0_entrylo0(low0);
35eef88dfbSDaniel Schwierzeck write_c0_pagemask(pagemask);
36eef88dfbSDaniel Schwierzeck write_c0_entrylo1(low1);
37eef88dfbSDaniel Schwierzeck write_c0_entryhi(hi);
38eef88dfbSDaniel Schwierzeck write_c0_index(index);
39eef88dfbSDaniel Schwierzeck tlb_write_indexed();
40eef88dfbSDaniel Schwierzeck }
418cb4817dSPaul Burton
arch_cpu_init(void)428cb4817dSPaul Burton int arch_cpu_init(void)
438cb4817dSPaul Burton {
448cb4817dSPaul Burton mips_cache_probe();
458cb4817dSPaul Burton return 0;
468cb4817dSPaul Burton }
47