Skip to content

Commit 78eb0cf

Browse files
Merge pull request #768 from litex-hub/efinix-target-cleanup
targets/efinix: clean up defaults and board integrations
2 parents 09d12b7 + 38b85f0 commit 78eb0cf

18 files changed

Lines changed: 138 additions & 239 deletions

litex_boards/platforms/adiuvo_forgix.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,6 @@ def __init__(self, toolchain="efinity"):
9090

9191
def do_finalize(self, fragment):
9292
EfinixPlatform.do_finalize(self, fragment)
93-
self.add_period_constraint(self.lookup_request("clk32", loose=True), 1e9/32e6)
93+
self.add_period_constraint(
94+
self.lookup_request(self.default_clk_name, loose=True),
95+
self.default_clk_period)

litex_boards/platforms/efinix_t120_f576_dev_kit.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,15 @@ def usb_pmod_io(pmod):
170170
),
171171
]
172172

173+
def i2c_pmod_io(pmod):
174+
return [
175+
("i2c", 0,
176+
Subsignal("sda", Pins(f"{pmod}:0")),
177+
Subsignal("scl", Pins(f"{pmod}:1")),
178+
IOStandard("3.3_V_LVTTL_/_LVCMOS"),
179+
),
180+
]
181+
173182
# Platform -----------------------------------------------------------------------------------------
174183

175184
class Platform(EfinixPlatform):
@@ -185,4 +194,6 @@ def create_programmer(self):
185194

186195
def do_finalize(self, fragment):
187196
EfinixPlatform.do_finalize(self, fragment)
188-
self.add_period_constraint(self.lookup_request("clk40", loose=True), 1e9/40e6)
197+
self.add_period_constraint(
198+
self.lookup_request(self.default_clk_name, loose=True),
199+
self.default_clk_period)

litex_boards/platforms/efinix_t20_f256_dev_kit.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,6 @@ def create_programmer(self):
124124

125125
def do_finalize(self, fragment):
126126
EfinixPlatform.do_finalize(self, fragment)
127-
self.add_period_constraint(self.lookup_request("clk50", loose=True), 1e9/50e6)
127+
self.add_period_constraint(
128+
self.lookup_request(self.default_clk_name, loose=True),
129+
self.default_clk_period)

litex_boards/platforms/efinix_t20_mipi_dev_kit.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,6 @@ def create_programmer(self):
108108

109109
def do_finalize(self, fragment):
110110
EfinixPlatform.do_finalize(self, fragment)
111-
self.add_period_constraint(self.lookup_request("clk50", loose=True), 1e9/50e6)
111+
self.add_period_constraint(
112+
self.lookup_request(self.default_clk_name, loose=True),
113+
self.default_clk_period)

litex_boards/platforms/efinix_t8_f81_dev_kit.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
# Platform -----------------------------------------------------------------------------------------
5151

5252
class Platform(EfinixPlatform):
53-
default_clk_name = "clk33"
54-
default_clk_freq = 33.333e6
53+
default_clk_name = "clk33"
54+
default_clk_freq = 33.333e6
5555
default_clk_period = 1e9/33.333e6
5656

5757
def __init__(self, toolchain="efinity"):
@@ -62,4 +62,6 @@ def create_programmer(self):
6262

6363
def do_finalize(self, fragment):
6464
EfinixPlatform.do_finalize(self, fragment)
65-
self.add_period_constraint(self.lookup_request("clk33", loose=True), 1e9/33.333e6)
65+
self.add_period_constraint(
66+
self.lookup_request(self.default_clk_name, loose=True),
67+
self.default_clk_period)

litex_boards/platforms/efinix_ti375_c529_dev_kit.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,4 +312,6 @@ def create_programmer(self):
312312

313313
def do_finalize(self, fragment):
314314
EfinixPlatform.do_finalize(self, fragment)
315-
self.add_period_constraint(self.lookup_request("clk100", loose=True), 1e9/100e6)
315+
self.add_period_constraint(
316+
self.lookup_request(self.default_clk_name, loose=True),
317+
self.default_clk_period)

litex_boards/platforms/efinix_ti60_f225_dev_kit.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,4 +194,6 @@ def create_programmer(self):
194194

195195
def do_finalize(self, fragment):
196196
EfinixPlatform.do_finalize(self, fragment)
197-
self.add_period_constraint(self.lookup_request("clk25", loose=True), 1e9/25e6)
197+
self.add_period_constraint(
198+
self.lookup_request(self.default_clk_name, loose=True),
199+
self.default_clk_period)

litex_boards/platforms/efinix_tz170_j484_dev_kit.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,20 @@
206206
),
207207
]
208208

209+
# DDR Configuration --------------------------------------------------------------------------------
210+
211+
ddr_config = {
212+
"memory_type" : "LPDDR4",
213+
"memory_density" : "8G",
214+
"clkin_sel" : "CLKIN 2",
215+
"location" : "DDR_0",
216+
"dq_width" : 32,
217+
"physical_rank" : 1,
218+
"data_width" : 512,
219+
"address_width" : 33,
220+
"id_width" : 8,
221+
}
222+
209223
# Platform -----------------------------------------------------------------------------------------
210224

211225
class Platform(EfinixPlatform):
@@ -215,10 +229,14 @@ class Platform(EfinixPlatform):
215229

216230
def __init__(self, toolchain="efinity"):
217231
EfinixPlatform.__init__(self, "Tz170J484I3", _io, _connectors, iobank_info=_bank_info, toolchain=toolchain, spi_width="4")
232+
self.ddr_config = ddr_config
233+
self.ddr_size = 0x4000_0000 # 1GB.
218234

219235
def create_programmer(self):
220236
return EfinixProgrammer(family=self.family)
221237

222238
def do_finalize(self, fragment):
223239
EfinixPlatform.do_finalize(self, fragment)
224-
self.add_period_constraint(self.lookup_request(self.default_clk_name, loose=True), self.default_clk_period)
240+
self.add_period_constraint(
241+
self.lookup_request(self.default_clk_name, loose=True),
242+
self.default_clk_period)

litex_boards/platforms/efinix_xyloni_dev_kit.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@
7070
# Platform -----------------------------------------------------------------------------------------
7171

7272
class Platform(EfinixPlatform):
73-
default_clk_name = "clk33"
74-
default_clk_freq = 33.333e6
73+
default_clk_name = "clk33"
74+
default_clk_freq = 33.333e6
7575
default_clk_period = 1e9/33.333e6
7676

7777
def __init__(self, toolchain="efinity"):
@@ -82,4 +82,6 @@ def create_programmer(self):
8282

8383
def do_finalize(self, fragment):
8484
EfinixPlatform.do_finalize(self, fragment)
85-
self.add_period_constraint(self.lookup_request("clk33", loose=True), 1e9/33.333e6)
85+
self.add_period_constraint(
86+
self.lookup_request(self.default_clk_name, loose=True),
87+
self.default_clk_period)

litex_boards/platforms/jungle_electronics_fireant.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,6 @@ def create_programmer(self):
6060

6161
def do_finalize(self, fragment):
6262
EfinixPlatform.do_finalize(self, fragment)
63-
self.add_period_constraint(self.lookup_request("clk33", loose=True), 1e9/33.33e6)
63+
self.add_period_constraint(
64+
self.lookup_request(self.default_clk_name, loose=True),
65+
self.default_clk_period)

0 commit comments

Comments
 (0)