diff options
Diffstat (limited to 'arch/sh/cpu/sh4')
-rw-r--r-- | arch/sh/cpu/sh4/Makefile | 2 | ||||
-rw-r--r-- | arch/sh/cpu/sh4/cache.c | 1 | ||||
-rw-r--r-- | arch/sh/cpu/sh4/cpu.c | 11 | ||||
-rw-r--r-- | arch/sh/cpu/sh4/interrupts.c | 1 | ||||
-rw-r--r-- | arch/sh/cpu/sh4/watchdog.c | 61 |
5 files changed, 11 insertions, 65 deletions
diff --git a/arch/sh/cpu/sh4/Makefile b/arch/sh/cpu/sh4/Makefile index 7403a2c3047..6d7e05ebc29 100644 --- a/arch/sh/cpu/sh4/Makefile +++ b/arch/sh/cpu/sh4/Makefile @@ -6,4 +6,4 @@ # (C) Copyright 2007 # Nobuhiro Iwamatsu <iwamatsu@nigauri.org> -obj-y = cpu.o interrupts.o watchdog.o cache.o +obj-y = cpu.o interrupts.o cache.o diff --git a/arch/sh/cpu/sh4/cache.c b/arch/sh/cpu/sh4/cache.c index 0f7dfdd3cf7..8c1839935ca 100644 --- a/arch/sh/cpu/sh4/cache.c +++ b/arch/sh/cpu/sh4/cache.c @@ -4,7 +4,6 @@ * (C) Copyright 2007 Nobuhiro Iwamatsu <iwamatsu@nigauri.org> */ -#include <common.h> #include <command.h> #include <cpu_func.h> #include <asm/cache.h> diff --git a/arch/sh/cpu/sh4/cpu.c b/arch/sh/cpu/sh4/cpu.c index 1b2f50dbe6e..47a8549beba 100644 --- a/arch/sh/cpu/sh4/cpu.c +++ b/arch/sh/cpu/sh4/cpu.c @@ -4,13 +4,22 @@ * Nobuhiro Iwamatsu <iwamatsu@nigauri.org> */ -#include <common.h> #include <command.h> #include <irq_func.h> #include <cpu_func.h> #include <net.h> #include <netdev.h> #include <asm/processor.h> +#include <asm/system.h> + +void reset_cpu(void) +{ + /* Address error with SR.BL=1 first. */ + trigger_address_error(); + + while (1) + ; +} int checkcpu(void) { diff --git a/arch/sh/cpu/sh4/interrupts.c b/arch/sh/cpu/sh4/interrupts.c index 278a3e32ac9..eace09aeabf 100644 --- a/arch/sh/cpu/sh4/interrupts.c +++ b/arch/sh/cpu/sh4/interrupts.c @@ -4,7 +4,6 @@ * Nobuhiro Iwamatsu <iwamatsu@nigauri.org> */ -#include <common.h> #include <irq_func.h> int interrupt_init(void) diff --git a/arch/sh/cpu/sh4/watchdog.c b/arch/sh/cpu/sh4/watchdog.c deleted file mode 100644 index bf403d3c520..00000000000 --- a/arch/sh/cpu/sh4/watchdog.c +++ /dev/null @@ -1,61 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ - -#include <common.h> -#include <cpu_func.h> -#include <asm/processor.h> -#include <asm/system.h> -#include <asm/io.h> - -#define WDT_BASE WTCNT - -#define WDT_WD (1 << 6) -#define WDT_RST_P (0) -#define WDT_RST_M (1 << 5) -#define WDT_ENABLE (1 << 7) - -#if defined(CONFIG_WATCHDOG) -static unsigned char csr_read(void) -{ - return inb(WDT_BASE + 0x04); -} - -static void cnt_write(unsigned char value) -{ - outl((unsigned short)value | 0x5A00, WDT_BASE + 0x00); -} - -static void csr_write(unsigned char value) -{ - outl((unsigned short)value | 0xA500, WDT_BASE + 0x04); -} - -void watchdog_reset(void) -{ - outl(0x55000000, WDT_BASE + 0x08); -} - -int watchdog_init(void) -{ - /* Set overflow time*/ - cnt_write(0); - /* Power on reset */ - csr_write(WDT_WD|WDT_RST_P|WDT_ENABLE); - - return 0; -} - -int watchdog_disable(void) -{ - csr_write(csr_read() & ~WDT_ENABLE); - return 0; -} -#endif - -void reset_cpu(void) -{ - /* Address error with SR.BL=1 first. */ - trigger_address_error(); - - while (1) - ; -} |