Go to the documentation of this file.
13 #include <linux/export.h>
18 #include <asm/reboot.h>
20 #include <lantiq_soc.h>
24 #define ltq_rcu_w32(x, y) ltq_w32((x), ltq_rcu_membase + (y))
25 #define ltq_rcu_r32(x) ltq_r32(ltq_rcu_membase + (x))
28 #define RCU_RST_REQ 0x0010
30 #define RCU_RST_STAT 0x0014
33 #define RCU_RD_SRST BIT(30)
35 #define RCU_STAT_SHIFT 26
37 #define RCU_BOOT_SEL_SHIFT 26
38 #define RCU_BOOT_SEL_MASK 0x7
41 static void __iomem *ltq_rcu_membase;
66 static void ltq_machine_restart(
char *
command)
73 static void ltq_machine_halt(
void)
79 static void ltq_machine_power_off(
void)
85 static int __init mips_reboot_setup(
void)
93 panic(
"Failed to load reset resources from devicetree");
96 panic(
"Failed to get rcu memory range");
99 pr_err(
"Failed to request rcu memory");
102 if (!ltq_rcu_membase)
103 panic(
"Failed to remap core memory");