targets: keep the SPI flash core even if with_rom is enabled, so that flash booting in the BIOS still works
This commit is contained in:
parent
1d4dc45436
commit
0716dadaf2
|
@ -100,15 +100,16 @@ class BaseSoC(SDRAMSoC):
|
|||
self.submodules.ddrphy = k7ddrphy.K7DDRPHY(platform.request("ddram"), memtype="DDR3")
|
||||
self.register_sdram_phy(self.ddrphy, sdram_geom, sdram_timing)
|
||||
|
||||
spiflash_pads = platform.request("spiflash")
|
||||
spiflash_pads.clk = Signal()
|
||||
self.specials += Instance("STARTUPE2",
|
||||
i_CLK=0, i_GSR=0, i_GTS=0, i_KEYCLEARB=0, i_PACK=0,
|
||||
i_USRCCLKO=spiflash_pads.clk, i_USRCCLKTS=0, i_USRDONEO=1, i_USRDONETS=1)
|
||||
self.submodules.spiflash = spiflash.SpiFlash(spiflash_pads, dummy=11, div=2)
|
||||
self.flash_boot_address = 0xb00000
|
||||
|
||||
# If not in ROM, BIOS is in SPI flash
|
||||
if not self.with_rom:
|
||||
spiflash_pads = platform.request("spiflash")
|
||||
spiflash_pads.clk = Signal()
|
||||
self.specials += Instance("STARTUPE2",
|
||||
i_CLK=0, i_GSR=0, i_GTS=0, i_KEYCLEARB=0, i_PACK=0,
|
||||
i_USRCCLKO=spiflash_pads.clk, i_USRCCLKTS=0, i_USRDONEO=1, i_USRDONETS=1)
|
||||
self.submodules.spiflash = spiflash.SpiFlash(spiflash_pads, dummy=11, div=2)
|
||||
self.flash_boot_address = 0xb00000
|
||||
self.register_rom(self.spiflash.bus)
|
||||
|
||||
class MiniSoC(BaseSoC):
|
||||
|
|
|
@ -59,11 +59,12 @@ class BaseSoC(SDRAMSoC):
|
|||
rd_bitslip=0, wr_bitslip=3, dqs_ddr_alignment="C1")
|
||||
self.register_sdram_phy(self.ddrphy, sdram_geom, sdram_timing)
|
||||
|
||||
self.submodules.norflash = norflash16.NorFlash16(platform.request("norflash"),
|
||||
self.ns(110), self.ns(50))
|
||||
self.flash_boot_address = 0x001a0000
|
||||
|
||||
# If not in ROM, BIOS is in // NOR flash
|
||||
if not self.with_rom:
|
||||
self.submodules.norflash = norflash16.NorFlash16(platform.request("norflash"),
|
||||
self.ns(110), self.ns(50))
|
||||
self.flash_boot_address = 0x001a0000
|
||||
self.register_rom(self.norflash.bus)
|
||||
|
||||
self.submodules.crg = mxcrg.MXCRG(_MXClockPads(platform), self.clk_freq)
|
||||
|
|
|
@ -122,10 +122,12 @@ class BaseSoC(SDRAMSoC):
|
|||
PIN "BUFG.O" CLOCK_DEDICATED_ROUTE = FALSE;
|
||||
""")
|
||||
self.register_sdram_phy(self.ddrphy, sdram_geom, sdram_timing)
|
||||
|
||||
self.submodules.spiflash = spiflash.SpiFlash(platform.request("spiflash4x"), dummy=11, div=2)
|
||||
self.flash_boot_address = 0x180000
|
||||
|
||||
# If not in ROM, BIOS is in SPI flash
|
||||
if not self.with_rom:
|
||||
self.submodules.spiflash = spiflash.SpiFlash(platform.request("spiflash4x"), dummy=11, div=2)
|
||||
self.flash_boot_address = 0x180000
|
||||
self.register_rom(self.spiflash.bus)
|
||||
|
||||
default_subtarget = BaseSoC
|
||||
|
|
|
@ -92,10 +92,11 @@ class BaseSoC(SDRAMSoC):
|
|||
self.submodules.sdrphy = gensdrphy.GENSDRPHY(platform.request("sdram"))
|
||||
self.register_sdram_phy(self.sdrphy, sdram_geom, sdram_timing)
|
||||
|
||||
self.submodules.spiflash = spiflash.SpiFlash(platform.request("spiflash2x"), dummy=4, div=6)
|
||||
self.flash_boot_address = 0x70000
|
||||
|
||||
# If not in ROM, BIOS is in SPI flash
|
||||
if not self.with_rom:
|
||||
self.submodules.spiflash = spiflash.SpiFlash(platform.request("spiflash2x"), dummy=4, div=6)
|
||||
self.flash_boot_address = 0x70000
|
||||
self.register_rom(self.spiflash.bus)
|
||||
|
||||
default_subtarget = BaseSoC
|
||||
|
|
Loading…
Reference in New Issue