Annotate Kestrel board control file on the ECP5

This also explicitly sets the CSR stride to avoid breakage
under future LiteX upstream changes.

This change does not alter the generated HDL or bitstream.
parent 91dfa594
...@@ -124,8 +124,18 @@ class BaseSoC(SoCCore): ...@@ -124,8 +124,18 @@ class BaseSoC(SoCCore):
def __init__(self, sys_clk_freq=int(50e6), device="LFE5UM5G", with_ethernet=False, with_etherbone=False, with_openfsi_master=True, with_hostspiflash=True, with_hostlpcslave=True, with_i2c_masters=True, with_simple_rtc=True, eth_ip="192.168.1.50", eth_phy=0, toolchain="trellis", **kwargs): def __init__(self, sys_clk_freq=int(50e6), device="LFE5UM5G", with_ethernet=False, with_etherbone=False, with_openfsi_master=True, with_hostspiflash=True, with_hostlpcslave=True, with_i2c_masters=True, with_simple_rtc=True, eth_ip="192.168.1.50", eth_phy=0, toolchain="trellis", **kwargs):
platform = versa_ecp5.Platform(toolchain=toolchain, device=device) platform = versa_ecp5.Platform(toolchain=toolchain, device=device)
# Reduce resource wastage on ECP5
kwargs["csr_address_width"] = 14 kwargs["csr_address_width"] = 14
kwargs["csr_data_width"] = 8 kwargs["csr_data_width"] = 8
kwargs["csr_paging"] = 0x800
# Disable timer uptime counter
# Microwatt already provides an architecturally-defined timer with interrupt (decrementer),
# so the LiteX one just wastes resources in Kestrel.
# FIXME: The entire timer could be removed if the LiteX BIOS could make use of the POWER decrementer,
# freeing resources for something else.
kwargs["with_timer"] = True
kwargs["timer_uptime"] = False
# FIXME: adapt integrated rom size for Microwatt # FIXME: adapt integrated rom size for Microwatt
if kwargs.get("cpu_type", None) == "microwatt": if kwargs.get("cpu_type", None) == "microwatt":
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment