[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1] Adding new machine Yosemitev2 in QEMU
From: |
Cédric Le Goater |
Subject: |
Re: [PATCH v1] Adding new machine Yosemitev2 in QEMU |
Date: |
Mon, 13 Feb 2023 09:03:14 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.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 :
20230210122641.837614-1-pkarthikeyan1509@gmail.com/">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,