mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-11-14 00:56:35 +00:00
fusee: Minor hardware configuration fixes.
This commit is contained in:
parent
ac391d9c5e
commit
6e7eb47d33
3 changed files with 12 additions and 3 deletions
|
@ -234,7 +234,7 @@ void nx_hwinit()
|
||||||
|
|
||||||
/* Reboot SE. */
|
/* Reboot SE. */
|
||||||
/* NOTE: [4.0.0+] This was removed. */
|
/* NOTE: [4.0.0+] This was removed. */
|
||||||
clkrst_reboot(CARDEVICE_SE);
|
/* clkrst_reboot(CARDEVICE_SE); */
|
||||||
|
|
||||||
/* Reboot unknown device. */
|
/* Reboot unknown device. */
|
||||||
clkrst_reboot(CARDEVICE_UNK);
|
clkrst_reboot(CARDEVICE_UNK);
|
||||||
|
|
|
@ -160,7 +160,9 @@ void mc_enable()
|
||||||
car->clk_enb_x_set = ((car->clk_enb_x_set & 0xFFFFBFFF) | 0x4000);
|
car->clk_enb_x_set = ((car->clk_enb_x_set & 0xFFFFBFFF) | 0x4000);
|
||||||
|
|
||||||
/* Clear EMC and MC reset. */
|
/* Clear EMC and MC reset. */
|
||||||
car->rst_dev_h_set = 0x2000001;
|
/* NOTE: [4.0.0+] This was changed to use the right register. */
|
||||||
|
/* car->rst_dev_h_set = 0x2000001; */
|
||||||
|
car->rst_dev_h_clr = 0x2000001;
|
||||||
udelay(5);
|
udelay(5);
|
||||||
|
|
||||||
mc_disable_ahb_redirect();
|
mc_disable_ahb_redirect();
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include "sysreg.h"
|
#include "sysreg.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "car.h"
|
#include "car.h"
|
||||||
|
#include "mc.h"
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
#include "pmc.h"
|
#include "pmc.h"
|
||||||
#include "max77620.h"
|
#include "max77620.h"
|
||||||
|
@ -141,6 +142,10 @@ void cluster_boot_cpu0(uint32_t entry)
|
||||||
SB_CSR_0 = 2;
|
SB_CSR_0 = 2;
|
||||||
(void)SB_CSR_0;
|
(void)SB_CSR_0;
|
||||||
|
|
||||||
|
/* Set CPU_STRICT_TZ_APERTURE_CHECK. */
|
||||||
|
/* NOTE: [4.0.0+] This was added, but it breaks Exosphère. */
|
||||||
|
/* MAKE_MC_REG(MC_TZ_SECURITY_CTRL) = 1; */
|
||||||
|
|
||||||
/* Clear MSELECT reset. */
|
/* Clear MSELECT reset. */
|
||||||
car->rst_dev_v &= 0xFFFFFFF7;
|
car->rst_dev_v &= 0xFFFFFFF7;
|
||||||
|
|
||||||
|
@ -148,5 +153,7 @@ void cluster_boot_cpu0(uint32_t entry)
|
||||||
car->rst_cpug_cmplx_clr = 0x20000000;
|
car->rst_cpug_cmplx_clr = 0x20000000;
|
||||||
|
|
||||||
/* Clear CPU{0,1,2,3} POR and CORE, CX0, L2, and DBG reset.*/
|
/* Clear CPU{0,1,2,3} POR and CORE, CX0, L2, and DBG reset.*/
|
||||||
car->rst_cpug_cmplx_clr = 0x411F000F;
|
/* NOTE: [5.0.0+] This was changed so only CPU0 reset is cleared. */
|
||||||
|
/* car->rst_cpug_cmplx_clr = 0x411F000F; */
|
||||||
|
car->rst_cpug_cmplx_clr = 0x41010001;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue