Commit 097957b555 for qemu.org
commit 097957b55594bb9c01a57353092687bc8b0192e0
Author: Jamin Lin <jamin_lin@aspeedtech.com>
Date: Wed Nov 12 11:05:46 2025 +0800
hw/arm/aspeed_ast10x0_evb: Add AST1060 EVB machine support
Add a new machine definition ast1060-evb to support the Aspeed AST1060
evaluation board. The new EVB reuses the same MiniBMC framework used by
AST1030, as both SoCs share the same core peripherals and controller
designs.
The AST1060 EVB machine initializes the ast1060-a2 SoC and sets the
FMC and SPI flash models (w25q80bl and w25q02jvm) for simulation.
This enables QEMU to boot and emulate firmware images for AST1060-based
platforms.
Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20251112030553.291734-10-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
diff --git a/hw/arm/aspeed_ast10x0_evb.c b/hw/arm/aspeed_ast10x0_evb.c
index 329578a542..c19563d1f0 100644
--- a/hw/arm/aspeed_ast10x0_evb.c
+++ b/hw/arm/aspeed_ast10x0_evb.c
@@ -96,12 +96,35 @@ static void aspeed_minibmc_machine_ast1030_evb_class_init(ObjectClass *oc,
aspeed_machine_class_init_cpus_defaults(mc);
}
+static void aspeed_minibmc_machine_ast1060_evb_class_init(ObjectClass *oc,
+ const void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+ AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);
+
+ mc->desc = "Aspeed AST1060 Platform Root of Trust (Cortex-M4)";
+ amc->soc_name = "ast1060-a2";
+ amc->hw_strap1 = 0;
+ amc->hw_strap2 = 0;
+ mc->init = aspeed_minibmc_machine_init;
+ amc->fmc_model = "w25q80bl";
+ amc->spi_model = "w25q02jvm";
+ amc->num_cs = 2;
+ amc->macs_mask = 0;
+ aspeed_machine_class_init_cpus_defaults(mc);
+}
+
static const TypeInfo aspeed_ast10x0_evb_types[] = {
{
.name = MACHINE_TYPE_NAME("ast1030-evb"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_minibmc_machine_ast1030_evb_class_init,
.interfaces = arm_machine_interfaces,
+ }, {
+ .name = MACHINE_TYPE_NAME("ast1060-evb"),
+ .parent = TYPE_ASPEED_MACHINE,
+ .class_init = aspeed_minibmc_machine_ast1060_evb_class_init,
+ .interfaces = arm_machine_interfaces,
}
};