Skip to content

Commit 7ec8355

Browse files
committed
phy/us(p)pciephy: Add update_config support (similar to s7pciephy).
1 parent 5767a49 commit 7ec8355

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

litepcie/phy/uspciephy.py

+9
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ def __init__(self, platform, pads, speed="gen3", data_width=64, cd="sys",
8080
self.max_request_size = Signal(16)
8181
self.max_payload_size = Signal(16)
8282

83+
self.config = {}
8384
self.external_hard_ip = False
8485

8586
# # #
@@ -370,6 +371,9 @@ def add_ltssm_tracer(self):
370371
self.ltssm_tracer = LTSSMTracer(self._link_status.fields.ltssm)
371372

372373
# Hard IP sources ------------------------------------------------------------------------------
374+
def update_config(self, config):
375+
self.config.update(config)
376+
373377
def add_sources(self, platform, phy_path=None, phy_filename=None):
374378
if phy_filename is not None:
375379
platform.add_ip(os.path.join(phy_path, phy_filename))
@@ -399,6 +403,11 @@ def add_sources(self, platform, phy_path=None, phy_filename=None):
399403
# -----------------
400404
"PF0_INTERRUPT_PIN" : "NONE",
401405
}
406+
407+
# User/Custom Config.
408+
config.update(self.config)
409+
410+
# Tcl generation.
402411
ip_tcl = []
403412
ip_tcl.append("create_ip -vendor xilinx.com -name pcie3_ultrascale -module_name pcie_us")
404413
ip_tcl.append("set obj [get_ips pcie_us]")

litepcie/phy/usppciephy.py

+9
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ def __init__(self, platform, pads, speed="gen3", data_width=64, cd="sys",
8585
self.max_request_size = Signal(16)
8686
self.max_payload_size = Signal(16)
8787

88+
self.config = {}
8889
self.external_hard_ip = False
8990

9091
# # #
@@ -375,6 +376,9 @@ def add_ltssm_tracer(self):
375376
self.ltssm_tracer = LTSSMTracer(self._link_status.fields.ltssm)
376377

377378
# Hard IP sources ------------------------------------------------------------------------------
379+
def update_config(self, config):
380+
self.config.update(config)
381+
378382
def add_sources(self, platform, phy_path=None, phy_filename=None):
379383
if phy_filename is not None:
380384
platform.add_ip(os.path.join(phy_path, phy_filename))
@@ -404,6 +408,11 @@ def add_sources(self, platform, phy_path=None, phy_filename=None):
404408
# -----------------
405409
"PF0_INTERRUPT_PIN" : "NONE",
406410
}
411+
412+
# User/Custom Config.
413+
config.update(self.config)
414+
415+
# Tcl generation.
407416
ip_tcl = []
408417
ip_tcl.append(f"create_ip -vendor xilinx.com -name {self.ip_name} -module_name pcie_usp")
409418
ip_tcl.append("set obj [get_ips pcie_usp]")

0 commit comments

Comments
 (0)