Skip to content
Snippets Groups Projects
Commit 01564315 authored by Gabor Juhos's avatar Gabor Juhos Committed by Tom Rini
Browse files

MIPS: qemu-malta: add reset support


The MIPS Malta board has a SOFTRES register. Writing a
magic value into that register initiates a board reset.

Use this feature to implement reset support.

Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
parent 5a4dcfac
No related branches found
No related tags found
No related merge requests found
...@@ -13,4 +13,7 @@ ...@@ -13,4 +13,7 @@
#define MALTA_UART_BASE (MALTA_IO_PORT_BASE + 0x3f8) #define MALTA_UART_BASE (MALTA_IO_PORT_BASE + 0x3f8)
#define MALTA_RESET_BASE 0x1f000500
#define GORESET 0x42
#endif /* _MIPS_ASM_MALTA_H */ #endif /* _MIPS_ASM_MALTA_H */
...@@ -8,6 +8,9 @@ ...@@ -8,6 +8,9 @@
#include <common.h> #include <common.h>
#include <asm/io.h>
#include <asm/malta.h>
phys_size_t initdram(int board_type) phys_size_t initdram(int board_type)
{ {
return CONFIG_SYS_MEM_SIZE; return CONFIG_SYS_MEM_SIZE;
...@@ -18,3 +21,11 @@ int checkboard(void) ...@@ -18,3 +21,11 @@ int checkboard(void)
puts("Board: MIPS Malta CoreLV (Qemu)\n"); puts("Board: MIPS Malta CoreLV (Qemu)\n");
return 0; return 0;
} }
void _machine_restart(void)
{
void __iomem *reset_base;
reset_base = (void __iomem *)CKSEG1ADDR(MALTA_RESET_BASE);
__raw_writel(GORESET, reset_base);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment