[PATCH u-boot v2019.04-aspeed-openbmc v2] ARM: dts: aspeed: add Delta AHE-50DC BMC
Zev Weiss
zev at bewilderbeest.net
Thu May 12 18:34:37 AEST 2022
On Wed, May 11, 2022 at 09:54:40PM PDT, Joel Stanley wrote:
> On Thu, 12 May 2022 at 04:40, Joel Stanley <joel at jms.id.au> wrote:
> >
> > On Wed, 11 May 2022 at 22:05, Zev Weiss <zev at bewilderbeest.net> wrote:
> > >
> > > The Delta AHE-50DC Open19 power shelf uses a pair of AST1250 BMCs that
> > > are mostly compatible with the existing ast2400-evb device tree, with
> > > a couple small tweaks for the serial console UART and ethernet MACs.
> > >
> > > Signed-off-by: Zev Weiss <zev at bewilderbeest.net>
> > > ---
> > >
> > > Changes since v1 [0]:
> > > - Disabled spi1, which this system doesn't use [Joel]
> >
> > Thanks, applied.
>
> I have a script I use for testing:
> ```
> #!/bin/bash
>
> set -e
>
> OBJ=ast2400-obj
> CONFIG=evb-ast2400_defconfig
> : ${DTB:=ast2400-evb}
> IMG="$OBJ/test.img"
>
> make -j8 O="$OBJ" -s clean
> make -j8 O="$OBJ" -j8 -s $CONFIG
> CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make -j8 O="$OBJ" -j8
> DEVICE_TREE="$DTB" -s
> size "$OBJ/u-boot"
>
> cp "$OBJ/u-boot.bin" "$OBJ/test.img"
> truncate -s 32M "$OBJ/test.img"
>
> echo "$CONFIG build complete"
> echo "qemu-system-arm -M palmetto-bmc -nographic -drive
> file=$IMG,if=mtd,format=raw"
> ```
>
> DTB=ast2400-ahe-50dc ./build-ast2400.sh
>
> When I boot it in qemu, there's no output:
> qemu-system-arm -M palmetto-bmc -nographic -drive
> file=ast2400-obj/test.img,if=mtd,format=raw
>
> Have I missed something?
>
> ah, when I boot with -d guest_errors,unimp I see an infinite number of:
>
> aspeed_soc.io: unimplemented device read (size 1, offset 0x18e014)
>
> That's UART3, which is your stdout for this board. I guess we can't
> boot test in qemu without some changes.
Ah -- I'd never actually tried booting this one with qemu, but yeah,
that makes sense.
After a little experimentation, with the below hacks to qemu it produces
the expected output -- I expect there's some better way to override the
default uart setting, but a qom-set (even with -S) was too late to take
effect (and apparently too early with --preconfig), and after spending a
few fruitless minutes trying to figure out a way to do it via a
command-line argument I gave up and hard-coded it, just for the sake of
an expedient proof of concept.
Zev
diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index babf405777df..4bad40400007 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -1106,6 +1106,7 @@ static void aspeed_machine_palmetto_class_init(ObjectClass *oc, void *data)
amc->spi_model = "mx25l25635f";
amc->num_cs = 1;
amc->i2c_init = palmetto_bmc_i2c_init;
+ amc->uart_default = ASPEED_DEV_UART3;
mc->default_ram_size = 256 * MiB;
mc->default_cpus = mc->min_cpus = mc->max_cpus =
aspeed_soc_num_cpus(amc->soc_name);
diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c
index 198b6b7effed..6c1f18f7b42c 100644
--- a/hw/arm/aspeed_soc.c
+++ b/hw/arm/aspeed_soc.c
@@ -48,6 +48,7 @@ static const hwaddr aspeed_soc_ast2400_memmap[] = {
[ASPEED_DEV_ETH1] = 0x1E660000,
[ASPEED_DEV_ETH2] = 0x1E680000,
[ASPEED_DEV_UART1] = 0x1E783000,
+ [ASPEED_DEV_UART3] = 0x1E78e000,
[ASPEED_DEV_UART5] = 0x1E784000,
[ASPEED_DEV_VUART] = 0x1E787000,
[ASPEED_DEV_SDRAM] = 0x40000000,
More information about the openbmc
mailing list