cores/spi_flash: Add USSPIFlash based on S7SPIFlash.
This commit is contained in:
parent
03342065c3
commit
cc91f2ee3a
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# This file is part of LiteX.
|
||||
#
|
||||
# Copyright (c) 2014-2018 Florent Kermarrec <florent@enjoy-digital.fr>
|
||||
# Copyright (c) 2014-2023 Florent Kermarrec <florent@enjoy-digital.fr>
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
|
||||
from migen import *
|
||||
|
@ -36,6 +36,31 @@ class S7SPIFlash(Module, AutoCSR):
|
|||
spi.pads.miso.eq(pads.miso)
|
||||
]
|
||||
|
||||
# Xilinx Ultrascale FPGAs SPI Flash (non-memory-mapped) --------------------------------------------
|
||||
|
||||
class USSPIFlash(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("STARTUPE3",
|
||||
i_GSR = 0,
|
||||
i_GTS = 0,
|
||||
i_KEYCLEARB = 0,
|
||||
i_PACK = 0,
|
||||
i_USRCCLKO = spi.pads.clk,
|
||||
i_USRCCLKTS = 0,
|
||||
i_USRDONEO = 1,
|
||||
i_USRDONETS = 1
|
||||
)
|
||||
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)
|
||||
]
|
||||
|
||||
# Lattice ECP5 FPGAs SPI Flash (non-memory-mapped) -------------------------------------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue