Skip to content

Commit d666634

Browse files
committed
targets/efinix_ti375_c529_dev_kit: Cleanup 1000 BaseX PHY integration.
1 parent 54eb65a commit d666634

File tree

1 file changed

+48
-27
lines changed

1 file changed

+48
-27
lines changed

litex_boards/targets/efinix_ti375_c529_dev_kit.py

Lines changed: 48 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -168,48 +168,69 @@ def __init__(self,
168168
if eth_phy in ["sfp0", "sfp1"]:
169169
from liteeth.phy.titanium_lvds_1000basex import EfinixTitaniumLVDS_1000BASEX
170170
_sfp_lpc_ios = [
171-
("sfp_lpc1", 0,
172-
Subsignal("tx_enable", Pins("LPC:LA32_N")),
173-
Subsignal("tx_p", Pins("LPC:LA09_P")),
174-
Subsignal("tx_n", Pins("LPC:LA09_N")),
175-
Subsignal("rx_p", Pins("LPC:LA05_P LPC:LA06_P LPC:LA07_P LPC:LA08_P")),
176-
Subsignal("rx_n", Pins("LPC:LA05_N LPC:LA06_N LPC:LA07_N LPC:LA08_N")),
177-
Subsignal("scl", Pins("LPC:LA30_N")),
178-
Subsignal("sda", Pins("LPC:LA32_P")),
179-
180-
),
181-
182-
("sfp_lpc1", 1,
183-
Subsignal("tx_enable", Pins("LPC:LA16_P")),
184-
Subsignal("tx_p", Pins("LPC:LA01_CC_P")),
185-
Subsignal("tx_n", Pins("LPC:LA01_CC_N")),
186-
Subsignal("rx_p", Pins("LPC:LA00_CC_P LPC:LA02_P LPC:LA03_P LPC:LA04_P")),
187-
Subsignal("rx_n", Pins("LPC:LA00_CC_N LPC:LA02_N LPC:LA03_N LPC:LA04_N")),
188-
Subsignal("scl", Pins("LPC:LA19_P")),
189-
Subsignal("sda", Pins("LPC:LA19_N")),
190-
)
191-
]
171+
# SFP0.
172+
("sfp_lpc1", 0,
173+
Subsignal("tx_enable", Pins("LPC:LA32_N")),
174+
Subsignal("tx_p", Pins("LPC:LA09_P")),
175+
Subsignal("tx_n", Pins("LPC:LA09_N")),
176+
Subsignal("rx_p", Pins("LPC:LA05_P LPC:LA06_P LPC:LA07_P LPC:LA08_P")),
177+
Subsignal("rx_n", Pins("LPC:LA05_N LPC:LA06_N LPC:LA07_N LPC:LA08_N")),
178+
Subsignal("scl", Pins("LPC:LA30_N")),
179+
Subsignal("sda", Pins("LPC:LA32_P")),
180+
181+
),
182+
183+
# SFP1.
184+
("sfp_lpc1", 1,
185+
Subsignal("tx_enable", Pins("LPC:LA16_P")),
186+
Subsignal("tx_p", Pins("LPC:LA01_CC_P")),
187+
Subsignal("tx_n", Pins("LPC:LA01_CC_N")),
188+
Subsignal("rx_p", Pins("LPC:LA00_CC_P LPC:LA02_P LPC:LA03_P LPC:LA04_P")),
189+
Subsignal("rx_n", Pins("LPC:LA00_CC_N LPC:LA02_N LPC:LA03_N LPC:LA04_N")),
190+
Subsignal("scl", Pins("LPC:LA19_P")),
191+
Subsignal("sda", Pins("LPC:LA19_N")),
192+
)
193+
]
192194
platform.add_extension(_sfp_lpc_ios)
193195

196+
# 1000 BaseX PHY.
194197
ethphy_pads = platform.request("sfp_lpc1", int(eth_phy[-1]))
195-
self.comb += ethphy_pads.tx_enable.eq(1)
196-
197198
self.ethphy = EfinixTitaniumLVDS_1000BASEX(
198199
pads = ethphy_pads,
199200
refclk = self.crg.cd_sys.clk,
200201
refclk_freq = sys_clk_freq,
201202
rx_delay = [0, 0, 2, 2], # FIXME: Explain/Adjust.
202203
)
204+
self.comb += ethphy_pads.tx_enable.eq(1)
205+
206+
# Link Up LED for Debug.
207+
self.comb += platform.request("user_led", 0).eq(self.ethphy.link_up)
208+
209+
# # IRQ (if enabled).
203210
if hasattr(self.ethphy, "ev") and self.irq.enabled:
204211
self.irq.add("ethphy", use_loc_if_exists=True)
205-
self.comb += platform.request("user_led", 0).eq(self.ethphy.link_up)
206212

207-
platform.add_false_path_constraints(self.crg.cd_sys.clk, self.ethphy.crg.cd_eth_rx.clk, self.ethphy.crg.cd_eth_tx.clk)
213+
# Timing Constraints.
214+
platform.add_false_path_constraints(
215+
self.crg.cd_sys.clk,
216+
self.ethphy.crg.cd_eth_rx.clk,
217+
self.ethphy.crg.cd_eth_tx.clk,
218+
)
208219

209220
if with_ethernet:
210-
self.add_ethernet(phy=self.ethphy, local_ip=eth_ip, remote_ip=remote_ip, software_debug=False, with_timing_constraints=False)
221+
self.add_ethernet(
222+
phy = self.ethphy,
223+
local_ip = eth_ip,
224+
remote_ip = remote_ip,
225+
software_debug = False,
226+
with_timing_constraints = False,
227+
)
211228
if with_etherbone:
212-
self.add_etherbone(phy=self.ethphy, ip_address=eth_ip, with_timing_constraints=False)
229+
self.add_etherbone(
230+
phy = self.ethphy,
231+
ip_address = eth_ip,
232+
with_timing_constraints = False,
233+
)
213234

214235
# HDMI -------------------------------------------------------------------------------------
215236
if hasattr(self.cpu, "video_clk"):

0 commit comments

Comments
 (0)