Fix LP0 entry. Exit still fails in warmboot bin.

This commit is contained in:
Michael Scire 2018-03-10 18:57:17 -08:00
parent ab2b8e4db5
commit 32bd5b3a73

View File

@ -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;