From: Peter Delevoryas <peter@pjd.dev>
Cc: "Peter Delevoryas" <peter@pjd.dev>,
"Cédric Le Goater" <clg@kaod.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Andrew Jeffery" <andrew@aj.id.au>,
"Joel Stanley" <joel@jms.id.au>,
qemu-arm@nongnu.org, qemu-devel@nongnu.org
Subject: [PATCH v2 8/9] aspeed: Add AST1030 (BIC) to fby35
Date: Tue, 5 Jul 2022 12:13:59 -0700 [thread overview]
Message-ID: <20220705191400.41632-9-peter@pjd.dev> (raw)
In-Reply-To: <20220705191400.41632-1-peter@pjd.dev>
With the BIC, the easiest way to run everything is to create two pty's
for each SoC and reserve stdin/stdout for the monitor:
wget https://github.com/facebook/openbmc/releases/download/openbmc-e2294ff5d31d/fby35.mtd
wget https://github.com/peterdelevoryas/OpenBIC/releases/download/oby35-cl-2022.13.01/Y35BCL.elf
qemu-system-arm -machine fby35 \
-drive file=fby35.mtd,format=raw,if=mtd \
-device loader,file=fby35.mtd,addr=0,cpu-num=0 \
-serial pty -serial pty -serial mon:stdio -display none -S
screen /dev/ttys0
screen /dev/ttys1
(qemu) c
This commit only adds the the first server board's Bridge IC, but in the
future we'll try to include the other three server board Bridge IC's
too.
Signed-off-by: Peter Delevoryas <peter@pjd.dev>
---
hw/arm/fby35.c | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/hw/arm/fby35.c b/hw/arm/fby35.c
index d3edfa3b10..031602800f 100644
--- a/hw/arm/fby35.c
+++ b/hw/arm/fby35.c
@@ -11,7 +11,9 @@
#include "sysemu/sysemu.h"
#include "sysemu/block-backend.h"
#include "hw/boards.h"
+#include "hw/qdev-clock.h"
#include "hw/arm/aspeed_soc.h"
+#include "hw/arm/boot.h"
#define TYPE_FBY35 MACHINE_TYPE_NAME("fby35")
OBJECT_DECLARE_SIMPLE_TYPE(Fby35State, FBY35);
@@ -22,8 +24,11 @@ struct Fby35State {
MemoryRegion bmc_memory;
MemoryRegion bmc_dram;
MemoryRegion bmc_boot_rom;
+ MemoryRegion bic_memory;
+ Clock *bic_sysclk;
AspeedSoCState bmc;
+ AspeedSoCState bic;
bool mmio_exec;
};
@@ -110,11 +115,31 @@ static void fby35_bmc_init(Fby35State *s)
}
}
+static void fby35_bic_init(Fby35State *s)
+{
+ s->bic_sysclk = clock_new(OBJECT(s), "SYSCLK");
+ clock_set_hz(s->bic_sysclk, 200000000ULL);
+
+ memory_region_init(&s->bic_memory, OBJECT(s), "bic-memory", UINT64_MAX);
+
+ object_initialize_child(OBJECT(s), "bic", &s->bic, "ast1030-a1");
+ qdev_connect_clock_in(DEVICE(&s->bic), "sysclk", s->bic_sysclk);
+ object_property_set_link(OBJECT(&s->bic), "memory", OBJECT(&s->bic_memory),
+ &error_abort);
+ aspeed_soc_uart_set_chr(&s->bic, ASPEED_DEV_UART5, serial_hd(1));
+ qdev_realize(DEVICE(&s->bic), NULL, &error_abort);
+
+ aspeed_board_init_flashes(&s->bic.fmc, "sst25vf032b", 2, 2);
+ aspeed_board_init_flashes(&s->bic.spi[0], "sst25vf032b", 2, 4);
+ aspeed_board_init_flashes(&s->bic.spi[1], "sst25vf032b", 2, 6);
+}
+
static void fby35_init(MachineState *machine)
{
Fby35State *s = FBY35(machine);
fby35_bmc_init(s);
+ fby35_bic_init(s);
}
@@ -141,7 +166,7 @@ static void fby35_class_init(ObjectClass *oc, void *data)
mc->init = fby35_init;
mc->no_floppy = 1;
mc->no_cdrom = 1;
- mc->min_cpus = mc->max_cpus = mc->default_cpus = 2;
+ mc->min_cpus = mc->max_cpus = mc->default_cpus = 3;
object_class_property_add_bool(oc, "execute-in-place",
fby35_get_mmio_exec,
--
2.37.0
next prev parent reply other threads:[~2022-07-05 19:23 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20220705191400.41632-1-peter@pjd.dev>
2022-07-05 19:13 ` [PATCH v2 1/9] hw/i2c/pca954x: Add method to get channels Peter Delevoryas
2022-07-05 20:06 ` Corey Minyard
2022-07-05 21:40 ` Peter Delevoryas
2022-07-05 21:44 ` Peter Delevoryas
2022-07-06 6:06 ` Cédric Le Goater
2022-07-06 7:56 ` Peter Delevoryas
2022-07-05 19:13 ` [PATCH v2 2/9] aspeed: Create SRAM name from first CPU index Peter Delevoryas
2022-07-05 19:13 ` [PATCH v2 3/9] aspeed: Refactor UART init for multi-SoC machines Peter Delevoryas
2022-07-05 19:13 ` [PATCH v2 4/9] aspeed: Make aspeed_board_init_flashes public Peter Delevoryas
2022-07-05 19:13 ` [PATCH v2 5/9] aspeed: Add fby35 skeleton Peter Delevoryas
2022-07-05 19:13 ` [PATCH v2 6/9] aspeed: Add AST2600 (BMC) to fby35 Peter Delevoryas
2022-07-27 10:05 ` Cédric Le Goater
2022-07-27 18:09 ` Peter Delevoryas
2022-07-05 19:13 ` [PATCH v2 7/9] aspeed: fby35: Add a bootrom for the BMC Peter Delevoryas
2022-07-05 19:13 ` Peter Delevoryas [this message]
2022-07-05 19:14 ` [PATCH v2 9/9] docs: aspeed: Add fby35 multi-SoC machine section Peter Delevoryas
2022-07-06 5:58 ` Cédric Le Goater
2022-07-06 7:54 ` Peter Delevoryas
2022-07-06 8:21 ` Joel Stanley
2022-07-06 16:50 ` Peter Delevoryas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220705191400.41632-9-peter@pjd.dev \
--to=peter@pjd.dev \
--cc=andrew@aj.id.au \
--cc=clg@kaod.org \
--cc=joel@jms.id.au \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.