mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-11-28 09:30:58 +01:00
Fix LP0 entry. Exit still fails in warmboot bin.
This commit is contained in:
parent
ab2b8e4db5
commit
32bd5b3a73
@ -68,7 +68,7 @@ void save_se_and_power_down_cpu(void) {
|
|||||||
APBDEV_PMC_SCRATCH43_0 = (uint32_t)(WARMBOOT_GET_RAM_SEGMENT_PA(WARMBOOT_RAM_SEGMENT_ID_SE_STATE));
|
APBDEV_PMC_SCRATCH43_0 = (uint32_t)(WARMBOOT_GET_RAM_SEGMENT_PA(WARMBOOT_RAM_SEGMENT_ID_SE_STATE));
|
||||||
se_set_in_context_save_mode(false);
|
se_set_in_context_save_mode(false);
|
||||||
se_check_error_status_reg();
|
se_check_error_status_reg();
|
||||||
|
|
||||||
if (!configitem_is_retail()) {
|
if (!configitem_is_retail()) {
|
||||||
/* TODO: uart_log("OYASUMI"); */
|
/* TODO: uart_log("OYASUMI"); */
|
||||||
}
|
}
|
||||||
@ -167,7 +167,7 @@ uint32_t cpu_suspend(uint64_t power_state, uint64_t entrypoint, uint64_t argumen
|
|||||||
BPMP_VECTOR_FIQ = 0x40003004; /* Reboot. */
|
BPMP_VECTOR_FIQ = 0x40003004; /* Reboot. */
|
||||||
|
|
||||||
/* Hold the BPMP in reset. */
|
/* Hold the BPMP in reset. */
|
||||||
clkrst_disable(CARDEVICE_BPMP);
|
MAKE_CAR_REG(0x300) = 2;
|
||||||
|
|
||||||
/* Copy BPMP firmware. */
|
/* Copy BPMP firmware. */
|
||||||
uint8_t *lp0_entry_code = (uint8_t *)(LP0_ENTRY_GET_RAM_SEGMENT_ADDRESS(LP0_ENTRY_RAM_SEGMENT_ID_LP0_ENTRY_CODE));
|
uint8_t *lp0_entry_code = (uint8_t *)(LP0_ENTRY_GET_RAM_SEGMENT_ADDRESS(LP0_ENTRY_RAM_SEGMENT_ID_LP0_ENTRY_CODE));
|
||||||
@ -175,7 +175,7 @@ uint32_t cpu_suspend(uint64_t power_state, uint64_t entrypoint, uint64_t argumen
|
|||||||
flush_dcache_range(lp0_entry_code, lp0_entry_code + bpmpfw_bin_size);
|
flush_dcache_range(lp0_entry_code, lp0_entry_code + bpmpfw_bin_size);
|
||||||
|
|
||||||
/* Take the BPMP out of reset. */
|
/* Take the BPMP out of reset. */
|
||||||
clkrst_enable(CARDEVICE_BPMP);
|
MAKE_CAR_REG(0x304) = 2;
|
||||||
|
|
||||||
/* Start executing BPMP firmware. */
|
/* Start executing BPMP firmware. */
|
||||||
FLOW_CTLR_HALT_COP_EVENTS_0 = 0;
|
FLOW_CTLR_HALT_COP_EVENTS_0 = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user