[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