Skip to content

Commit 8aff6a3

Browse files
committed
terasic_atum_a3_nano: Add Agilex 3 HPS (agilex_hps) CPU support.
Allow building with --cpu-type=agilex_hps (Agilex 3 HPS as the SoC's CPU, CSRs via the LW bridge). The board has no LPDDR4/HPS-EMIF pins wired yet, so the fabric SDR SDRAM is skipped and v1 exposes CSR access only; add cpu.add_emif() once the board's HPS DRAM configuration is known.
1 parent a2cd099 commit 8aff6a3

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

litex_boards/targets/terasic_atum_a3_nano.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,12 @@ def __init__(self, sys_clk_freq=50e6,
9999

100100
with_hdmi = with_video_colorbars or with_video_terminal or with_video_framebuffer
101101
with_eth = with_ethernet or with_etherbone
102+
with_hps = (kwargs.get("cpu_type", None) == "agilex_hps")
103+
if with_hps:
104+
# The Agilex 3 HPS is the SoC's CPU: console on HPS UART0, no fabric SRAM.
105+
kwargs["cpu_variant"] = kwargs.get("cpu_variant") or "agilex3"
106+
kwargs["with_uart"] = False
107+
kwargs["integrated_sram_size"] = 0
102108

103109
# CRG --------------------------------------------------------------------------------------
104110
self.crg = _CRG(platform, sys_clk_freq, sdram_rate=sdram_rate, with_hdmi=with_hdmi, with_eth=with_eth)
@@ -135,7 +141,10 @@ def __init__(self, sys_clk_freq=50e6,
135141
self.add_video_framebuffer(phy=self.videophy, timings="800x600@75Hz", clock_domain="init")
136142

137143
# SDR SDRAM --------------------------------------------------------------------------------
138-
if not self.integrated_main_ram_size:
144+
# Note: with the Agilex 3 HPS, the fabric SDR SDRAM is skipped; the HPS DDR (LPDDR4 via an
145+
# HPS-EMIF) is not wired on this board yet, so v1 exposes CSR access through the LW bridge
146+
# only. Add cpu.add_emif(...) here once the board's HPS DRAM pins/config are known.
147+
if not with_hps and not self.integrated_main_ram_size:
139148
sdrphy_cls = HalfRateGENSDRPHY if sdram_rate == "1:2" else GENSDRPHY
140149
self.sdrphy = sdrphy_cls(platform.request("sdram"), sys_clk_freq)
141150
self.add_sdram("sdram",

0 commit comments

Comments
 (0)