Use reconfig workaround for power off and reboots

This commit is contained in:
CTCaer 2020-06-14 13:05:51 +03:00
parent 0096b91146
commit 90a759b98e
2 changed files with 4 additions and 15 deletions

View file

@ -22,6 +22,7 @@
#include "../power/max77620.h" #include "../power/max77620.h"
#include "../rtc/max77620-rtc.h" #include "../rtc/max77620-rtc.h"
#include "../soc/bpmp.h" #include "../soc/bpmp.h"
#include "../soc/hw_init.h"
#include "../soc/i2c.h" #include "../soc/i2c.h"
#include "../soc/pmc.h" #include "../soc/pmc.h"
#include "../soc/t210.h" #include "../soc/t210.h"
@ -135,24 +136,16 @@ void panic(u32 val)
void reboot_normal() void reboot_normal()
{ {
bpmp_mmu_disable();
sd_end(); sd_end();
display_end(); reconfig_hw_workaround(false, 0);
nyx_str->mtc_cfg.init_done = 0;
panic(0x21); // Bypass fuse programming in package1. panic(0x21); // Bypass fuse programming in package1.
} }
void reboot_rcm() void reboot_rcm()
{ {
bpmp_mmu_disable();
sd_end(); sd_end();
display_end(); reconfig_hw_workaround(false, 0);
nyx_str->mtc_cfg.init_done = 0;
PMC(APBDEV_PMC_SCRATCH0) = PMC_SCRATCH0_MODE_RCM; PMC(APBDEV_PMC_SCRATCH0) = PMC_SCRATCH0_MODE_RCM;
PMC(APBDEV_PMC_CNTRL) |= PMC_CNTRL_MAIN_RST; PMC(APBDEV_PMC_CNTRL) |= PMC_CNTRL_MAIN_RST;
@ -164,9 +157,7 @@ void reboot_rcm()
void power_off() void power_off()
{ {
sd_end(); sd_end();
display_end(); reconfig_hw_workaround(false, 0);
nyx_str->mtc_cfg.init_done = 0;
// Stop the alarm, in case we injected and powered off too fast. // Stop the alarm, in case we injected and powered off too fast.
max77620_rtc_stop_alarm(); max77620_rtc_stop_alarm();

View file

@ -139,8 +139,6 @@ void reboot_normal()
sd_end(); sd_end();
reconfig_hw_workaround(false, 0); reconfig_hw_workaround(false, 0);
nyx_str->mtc_cfg.init_done = 0;
panic(0x21); // Bypass fuse programming in package1. panic(0x21); // Bypass fuse programming in package1.
} }