mirror of
https://github.com/im-tomu/foboot.git
synced 2024-09-20 02:40:09 +00:00
Merge branch 'master' of github.com:im-tomu/foboot
This commit is contained in:
commit
8354617950
@ -379,7 +379,7 @@ class SBLED(Module, AutoCSR):
|
||||
|
||||
|
||||
class SBWarmBoot(Module, AutoCSR):
|
||||
def __init__(self):
|
||||
def __init__(self, parent):
|
||||
self.ctrl = CSRStorage(size=8)
|
||||
self.addr = CSRStorage(size=32)
|
||||
do_reset = Signal()
|
||||
@ -393,6 +393,9 @@ class SBWarmBoot(Module, AutoCSR):
|
||||
i_S1 = self.ctrl.storage[1],
|
||||
i_BOOT = do_reset,
|
||||
)
|
||||
parent.config["BITSTREAM_SYNC_HEADER1"] = 0x7e99aa7e
|
||||
parent.config["BITSTREAM_SYNC_HEADER2"] = 0x7eaa997e
|
||||
|
||||
|
||||
class TouchPads(Module, AutoCSR):
|
||||
def __init__(self, pads):
|
||||
@ -758,7 +761,7 @@ class BaseSoC(SoCCore):
|
||||
self.register_mem("spiflash", self.mem_map["spiflash"],
|
||||
self.picorvspi.bus, size=self.picorvspi.size)
|
||||
|
||||
self.submodules.reboot = SBWarmBoot()
|
||||
self.submodules.reboot = SBWarmBoot(self)
|
||||
self.cpu.cpu_params.update(
|
||||
i_externalResetVector=self.reboot.addr.storage,
|
||||
)
|
||||
|
@ -124,8 +124,8 @@ void reboot(void) {
|
||||
uint32_t *destination_array = (uint32_t *)reboot_addr;
|
||||
for (i = 0; i < 32; i++) {
|
||||
// Look for FPGA sync pulse.
|
||||
if ((destination_array[i] == 0x7e99aa7e)
|
||||
|| (destination_array[i] == 0x7eaa997e)) {
|
||||
if ((destination_array[i] == CONFIG_BITSTREAM_SYNC_HEADER1)
|
||||
|| (destination_array[i] == CONFIG_BITSTREAM_SYNC_HEADER2)) {
|
||||
riscv_boot = 0;
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user