hw/arm/aspeed.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
This patch support Yosemitev2 in QEMU environment.
Signed-off-by: Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
---
hw/arm/aspeed.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 27dda58338..74dc07190d 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -536,6 +536,14 @@ static void create_pca9552(AspeedSoCState *soc, int bus_id, int addr)
TYPE_PCA9552, addr);
}
+static void fb_bmc_i2c_init(AspeedMachineState *bmc)
+{
+ AspeedSoCState *soc = &bmc->soc;
+
+ /* The FB board AST2500 compatible with ds1338 */
+ i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "ds1338", 0x32);
+}
+
static void sonorapass_bmc_i2c_init(AspeedMachineState *bmc)
{
AspeedSoCState *soc = &bmc->soc;
@@ -1191,6 +1199,24 @@ static void aspeed_machine_romulus_class_init(ObjectClass *oc, void *data)
aspeed_soc_num_cpus(amc->soc_name);
};
+static void aspeed_machine_fbyv2_class_init(ObjectClass *oc, void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+ AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc);
+
+ mc->desc = "Facebook YosemiteV2 BMC (ARM1176)";
+ amc->soc_name = "ast2500-a1";
+ amc->hw_strap1 = AST2500_EVB_HW_STRAP1;
+ amc->hw_strap2 = 0;
+ amc->fmc_model = "n25q256a";
+ amc->spi_model = "mx25l25635e";
+ amc->num_cs = 2;
+ amc->i2c_init = fb_bmc_i2c_init;
+ mc->default_ram_size = 512 * MiB;
+ mc->default_cpus = mc->min_cpus = mc->max_cpus =
+ aspeed_soc_num_cpus(amc->soc_name);
+};
+
static void aspeed_machine_sonorapass_class_init(ObjectClass *oc, void *data)
{
MachineClass *mc = MACHINE_CLASS(oc);
@@ -1554,6 +1580,10 @@ static const TypeInfo aspeed_machine_types[] = {
.name = MACHINE_TYPE_NAME("sonorapass-bmc"),
.parent = TYPE_ASPEED_MACHINE,
.class_init = aspeed_machine_sonorapass_class_init,
+ }, {
+ .name = MACHINE_TYPE_NAME("fbyv2-bmc"),
+ .parent = TYPE_ASPEED_MACHINE,
+ .class_init = aspeed_machine_fbyv2_class_init,
}, {
.name = MACHINE_TYPE_NAME("witherspoon-bmc"),
.parent = TYPE_ASPEED_MACHINE,
--
2.25.1
Hello, On 2/10/23 13:50, Karthikeyan Pasupathi wrote: > This patch support Yosemitev2 in QEMU environment. It looks OK apart from the naming. Could we call it "yosemite2-bmc" instead ? Thanks, C. > Signed-off-by: Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com> > --- > hw/arm/aspeed.c | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c > index 27dda58338..74dc07190d 100644 > --- a/hw/arm/aspeed.c > +++ b/hw/arm/aspeed.c > @@ -536,6 +536,14 @@ static void create_pca9552(AspeedSoCState *soc, int bus_id, int addr) > TYPE_PCA9552, addr); > } > > +static void fb_bmc_i2c_init(AspeedMachineState *bmc) The same routine name is proposed in the tiogapass patch : https://lore.kernel.org/qemu-devel/20230210122641.837614-1-pkarthikeyan1509@gmail.com/ Do you have plans to populate the I2C buses differently ? > +{ > + AspeedSoCState *soc = &bmc->soc; > + > + /* The FB board AST2500 compatible with ds1338 */ > + i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 11), "ds1338", 0x32); > +} > + > static void sonorapass_bmc_i2c_init(AspeedMachineState *bmc) > { > AspeedSoCState *soc = &bmc->soc; > @@ -1191,6 +1199,24 @@ static void aspeed_machine_romulus_class_init(ObjectClass *oc, void *data) > aspeed_soc_num_cpus(amc->soc_name); > }; > > +static void aspeed_machine_fbyv2_class_init(ObjectClass *oc, void *data) > +{ > + MachineClass *mc = MACHINE_CLASS(oc); > + AspeedMachineClass *amc = ASPEED_MACHINE_CLASS(oc); > + > + mc->desc = "Facebook YosemiteV2 BMC (ARM1176)"; > + amc->soc_name = "ast2500-a1"; > + amc->hw_strap1 = AST2500_EVB_HW_STRAP1; > + amc->hw_strap2 = 0; > + amc->fmc_model = "n25q256a"; > + amc->spi_model = "mx25l25635e"; same as tiogapass ? > + amc->num_cs = 2; > + amc->i2c_init = fb_bmc_i2c_init; > + mc->default_ram_size = 512 * MiB; The RAM size is the only difference with the tiogapass and one could use the -m machine option instead. Thanks, C. > + mc->default_cpus = mc->min_cpus = mc->max_cpus = > + aspeed_soc_num_cpus(amc->soc_name); > +}; > + > static void aspeed_machine_sonorapass_class_init(ObjectClass *oc, void *data) > { > MachineClass *mc = MACHINE_CLASS(oc); > @@ -1554,6 +1580,10 @@ static const TypeInfo aspeed_machine_types[] = { > .name = MACHINE_TYPE_NAME("sonorapass-bmc"), > .parent = TYPE_ASPEED_MACHINE, > .class_init = aspeed_machine_sonorapass_class_init, > + }, { > + .name = MACHINE_TYPE_NAME("fbyv2-bmc"), > + .parent = TYPE_ASPEED_MACHINE, > + .class_init = aspeed_machine_fbyv2_class_init, > }, { > .name = MACHINE_TYPE_NAME("witherspoon-bmc"), > .parent = TYPE_ASPEED_MACHINE,
© 2016 - 2024 Red Hat, Inc.