[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/5] hw/arm/aspeed: Add fuji machine type
From: |
pdel |
Subject: |
[PATCH 0/5] hw/arm/aspeed: Add fuji machine type |
Date: |
Fri, 27 Aug 2021 14:04:12 -0700 |
From: Peter Delevoryas <pdel@fb.com>
Hello!
This patch series creates an Aspeed machine type for Facebook's OpenBMC
platform "fuji".
The first 2 commits do some refactoring, to allow Aspeed machines to
configure the first serial device. Most board configurations use UART5
for the console, but fuji uses UART1. Neither of these should change the
behavior for any machine types.
The third commit adds the fuji machine type definition, utilizing the
"serial_dev" option from the previous two commits to configure the
console device as UART1 instead of UART5.
After the third commit, you can test booting a fuji image as follows:
# Build a fuji image from Facebook's OpenBMC repository.
git clone https://github.com/facebook/openbmc
cd openbmc
./sync_yocto.sh
source openbmc-init-build-env fuji build-fuji
bitbake fuji-image
dd if=/dev/zero of=/tmp/fuji-image.mtd bs=1M count=128
dd if=./tmp/deploy/images/fuji/flash-fuji of=/tmp/fuji-image.mtd \
bs=1k conv=notrunc
git clone https://github.com/peterdelevoryas/qemu
cd qemu
./configure --target-list=arm-softmmu
make -j $(nproc)
# Attempt to boot the fuji image: you should not see any console
# output.
./build/arm-softmmu/qemu-system-arm -machine fuji \
-drive file=/tmp/fuji-image.mtd,format=raw,if=mtd -serial stdio
You shouldn't see any serial console output, because U-Boot hangs in
clock rate initialization due to a divide-by-zero. The last 2 commits
fixup the clock registers to avoid the divide-by-zero, and fuji boots
successfully after that.
I organized the patch series with the clock rate fixes last because it
was more natural to test the behavior before and after the fix, but I
can understand if you'd like those patches to come first, or to even be
added completely independently from the fuji patch series.
This is my first contribution to QEMU, and I tried to follow the
wiki/etc as best as possible, but I'm sure I probably made some
mistakes, so let me know how best to submit this.
Peter Delevoryas (5):
hw/arm/aspeed: Add get_irq to AspeedSoCClass
hw/arm/aspeed: Select console UART from machine
hw/arm/aspeed: Add fuji machine type
hw/arm/aspeed: Fix AST2600_CLK_SEL3 address
hw/arm/aspeed: Initialize AST2600 clock selection registers
hw/arm/aspeed.c | 20 ++++++++++++++++++++
hw/arm/aspeed_ast2600.c | 6 +-----
hw/arm/aspeed_soc.c | 6 +-----
hw/misc/aspeed_scu.c | 15 +++++++++++++--
include/hw/arm/aspeed.h | 1 +
include/hw/arm/aspeed_soc.h | 1 +
6 files changed, 37 insertions(+), 12 deletions(-)
--
2.30.2
- [PATCH 0/5] hw/arm/aspeed: Add fuji machine type,
pdel <=
[PATCH 2/5] hw/arm/aspeed: Select console UART from machine, pdel, 2021/08/27