aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2022-02-17 08:38:56 -0700
committerChristian Cunningham <cc@localhost>2022-02-17 08:38:56 -0700
commitce4e86f3806e599a2abf014b0b0fc85a5e6c4e37 (patch)
tree801f148f4e624799fba7858cda532ba9d88db351 /include
parent5827115cd4a993414dd41bb7d3af699408f875a8 (diff)
Start power stuff
Diffstat (limited to 'include')
-rw-r--r--include/symbols.h14
-rw-r--r--include/sys/power.h20
2 files changed, 19 insertions, 15 deletions
diff --git a/include/symbols.h b/include/symbols.h
index 8c41c86..04d1d1b 100644
--- a/include/symbols.h
+++ b/include/symbols.h
@@ -108,20 +108,6 @@ enum
SYS_TIMER_SC_M1 = (1 << 1),
SYS_TIMER_SC_M2 = (1 << 2),
SYS_TIMER_SC_M3 = (1 << 3),
-
- /* Power Management, Reset controller and Watchdog registers */
- //BCM2835_PERI_BASE = 0x3F000000,
- BCM2835_PERI_BASE = 0x20000000,
- PM_BASE = (BCM2835_PERI_BASE + 0x100000),
- PM_RSTC = (PM_BASE+0x1c),
- PM_WDOG = (PM_BASE+0x24),
- PM_WDOG_RESET = 0x00000000,
- PM_PASSWORD = 0x5a000000,
- PM_WDOG_TIME_SET = 0x000fffff,
- PM_RSTC_WRCFG_CLR = 0xffffffcf,
- PM_RSTC_WRCFG_SET = 0x00000030,
- PM_RSTC_WRCFG_FULL_RESET = 0x00000020,
- PM_RSTC_RESET = 0x00000102,
};
#endif
diff --git a/include/sys/power.h b/include/sys/power.h
index 711842b..4a6eec9 100644
--- a/include/sys/power.h
+++ b/include/sys/power.h
@@ -1,6 +1,24 @@
#ifndef SYS_POWER_H
#define SYS_POWER_H
-void reboot(void);
+#define PM_RSTC 0x1c
+#define PM_RSTS 0x20
+#define PM_WDOG 0x24
+
+#define PM_PASSWORD 0x5a000000
+#define BCM2835_PERI_BASE 0x3F000000
+
+#define PM_WDOG_TIME_SET 0x000fffff
+#define PM_RSTC_WRCFG_CLR 0xffffffcf
+#define PM_RSTS_HADWRH_SET 0x00000040
+#define PM_RSTC_WRCFG_SET 0x00000030
+#define PM_RSTC_WRCFG_FULL_RESET 0x00000020
+#define PM_RSTC_RESET 0x00000102
+#define PM_RSTS_PARTITION_CLR 0xfffffaaa
+#define SECS_TO_WDOG_TICS(x) ((x) << 16)
+
+void wdt_start(void);
+void __bcm2835_restart(unsigned char);
+void bcm2835_power_off(void);
#endif