soc/cores/spi_flash: add ECP5SPIFlash (non-memory-mapped).

This commit is contained in:
Florent Kermarrec 2020-03-31 16:17:12 +02:00
parent e3445f6cd9
commit 87160059d3
1 changed files with 21 additions and 0 deletions

View File

@ -365,3 +365,24 @@ class S7SPIFlash(Module, AutoCSR):
pads.mosi.eq(spi.pads.mosi), pads.mosi.eq(spi.pads.mosi),
spi.pads.miso.eq(pads.miso) spi.pads.miso.eq(pads.miso)
] ]
# Lattice ECP5 FPGAs SPI Flash (non-memory-mapped) -------------------------------------------------
class ECP5SPIFlash(Module, AutoCSR):
def __init__(self, pads, sys_clk_freq, spi_clk_freq=25e6):
self.submodules.spi = spi = SPIMaster(None, 40, sys_clk_freq, spi_clk_freq)
self.specials += Instance("USRMCLK",
i_USRMCLKI = spi.pads.clk,
i_USRMCLKTS = 0
)
if hasattr(pads, "vpp"):
pads.vpp.reset = 1
if hasattr(pads, "hold"):
pads.hold.reset = 1
if hasattr(pads, "cs_n"):
self.comb += pads.cs_n.eq(spi.pads.cs_n)
self.comb += [
pads.mosi.eq(spi.pads.mosi),
spi.pads.miso.eq(pads.miso)
]