Go to the documentation of this file.
20 #include <linux/errno.h>
23 #include <linux/kernel.h>
25 #include <linux/sched.h>
26 #include <linux/types.h>
28 #include <asm/cacheflush.h>
31 #include <asm/processor.h>
32 #include <asm/reboot.h>
34 #define PMU_TYPE1_BASE 0x0b0000a0UL
35 #define PMU_TYPE1_SIZE 0x0eUL
37 #define PMU_TYPE2_BASE 0x0f0000c0UL
38 #define PMU_TYPE2_SIZE 0x10UL
40 #define PMUCNT2REG 0x06
41 #define SOFTRST 0x0010
45 #define pmu_read(offset) readw(pmu_base + (offset))
46 #define pmu_write(offset, value) writew((value), pmu_base + (offset))
48 static void vr41xx_cpu_wait(
void)
77 __asm__(
"jr %0"::
"r"(0xbfc00000));
82 static void vr41xx_restart(
char *
command)
89 static void vr41xx_halt(
void)
96 static int __init vr41xx_pmu_init(
void)
113 printk(
"Unexpected CPU of NEC VR4100 series\n");
120 pmu_base =
ioremap(start, size);
121 if (pmu_base ==
NULL) {