mirror of https://github.com/YosysHQ/nextpnr.git
nexus: Support for CONFIG_LMMI and CONFIG_CLKRST_CORE
Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
b94217443d
commit
d5f172feed
|
|
@ -553,6 +553,13 @@ X(CONFIG_MULTIBOOT_CORE)
|
|||
X(CIBAUTOREBOOT)
|
||||
X(MSPIADDR)
|
||||
|
||||
X(CONFIG_LMMI)
|
||||
X(CONFIG_LMMI_CORE)
|
||||
X(SMCLK)
|
||||
X(RSTSMCLK)
|
||||
|
||||
X(CONFIG_CLKRST_CORE)
|
||||
|
||||
X(BEL_TYPE)
|
||||
X(BEL_Z)
|
||||
X(CEOUTMUX)
|
||||
|
|
|
|||
|
|
@ -540,6 +540,25 @@ struct NexusFasmWriter
|
|||
ctx->parse_lattice_param_from_cell(cell, id_MSPIADDR, 32, 0).intval, 32);
|
||||
pop();
|
||||
}
|
||||
// Write config for an CONFIG_LMMI_CORE cell
|
||||
void write_lmmi(const CellInfo *cell)
|
||||
{
|
||||
BelId bel = cell->bel;
|
||||
push_bel(bel);
|
||||
write_enum(cell, "LMMI_EN", "DIS");
|
||||
pop();
|
||||
}
|
||||
// Write config for an CONFIG_CLKRST_CORE cell
|
||||
void write_cfg_clkrst(const CellInfo *cell)
|
||||
{
|
||||
BelId bel = cell->bel;
|
||||
push_bel(bel);
|
||||
write_enum(cell, "MCJTAGGSRNDIS", "EN");
|
||||
write_enum(cell, "MCLMMIGSRNDIS", "EN");
|
||||
write_enum(cell, "MCSEDCGSRNDIS", "EN");
|
||||
write_enum(cell, "MCWDTGSRNDIS", "EN");
|
||||
pop();
|
||||
}
|
||||
// Write config for DCC
|
||||
void write_dcc(const CellInfo *cell)
|
||||
{
|
||||
|
|
@ -1107,6 +1126,10 @@ struct NexusFasmWriter
|
|||
write_dcs(ci);
|
||||
else if (ci->type == id_CONFIG_MULTIBOOT_CORE)
|
||||
write_multiboot(ci);
|
||||
else if (ci->type == id_CONFIG_LMMI_CORE)
|
||||
write_lmmi(ci);
|
||||
else if (ci->type == id_CONFIG_CLKRST_CORE)
|
||||
write_cfg_clkrst(ci);
|
||||
blank();
|
||||
}
|
||||
// Handle DCC route-throughs
|
||||
|
|
|
|||
|
|
@ -1081,7 +1081,7 @@ struct NexusPacker
|
|||
{id_PDPSC16K, id_PDPSC16K_MODE}, {id_SP16K, id_SP16K_MODE}, {id_FIFO16K, id_FIFO16K_MODE},
|
||||
{id_SP512K, id_SP512K_MODE}, {id_DPSC512K, id_DPSC512K_MODE}, {id_PDPSC512K, id_PDPSC512K_MODE},
|
||||
{id_PLL, id_PLL_CORE}, {id_DPHY, id_DPHY_CORE},
|
||||
{id_MULTIBOOT, id_CONFIG_MULTIBOOT_CORE},
|
||||
{id_MULTIBOOT, id_CONFIG_MULTIBOOT_CORE}, {id_CONFIG_LMMI, id_CONFIG_LMMI_CORE},
|
||||
};
|
||||
|
||||
// extra prefix needed for this primitive for some reason
|
||||
|
|
|
|||
|
|
@ -245,6 +245,19 @@ static const dict<IdString, Arch::CellPinsData> base_cell_pin_data = {
|
|||
{
|
||||
{{}, PINSTYLE_CIB},
|
||||
}},
|
||||
{id_CONFIG_LMMI_CORE,
|
||||
{
|
||||
{id_LMMICLK, PINSTYLE_DEDI},
|
||||
{id_LMMIRESETN, PINSTYLE_DEDI},
|
||||
{id_RSTSMCLK, PINSTYLE_DEDI},
|
||||
{id_SMCLK, PINSTYLE_DEDI},
|
||||
{{}, PINSTYLE_CIB},
|
||||
}},
|
||||
{id_CONFIG_CLKRST_CORE,
|
||||
{
|
||||
{{}, PINSTYLE_DEDI},
|
||||
}},
|
||||
|
||||
};
|
||||
} // namespace
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue