Re: [PATCH v2 4/4] ast2600: yosemite4 initial support
Hello, On 5/12/26 12:39, Alexander Hansen wrote: Hi Cedric, thanks for your ongoing review :) yeah. It takes a few respins. I sent v5, summary of changes: I see a v3. What's below would have been great in a cover letter ;) - I CCd you and Titus on all the patches now. - removed the backticks (markdown syntax) from my patches. I was used to this workflow since some other projects use commit linters which get tripped up by log outputs. - restructured the series as you suggested (board, then functional test, then sensors) - removed some unused includes on the machine file - removed some unnecessary variables from the machine file - linked to your github tree for the fw image for the functional test, since the image is now available there - added new section for each sensor to the functional test with some command sequences and expected outputs - added new entries in MAINTAINERS file for Titus for the individual sensors. Your maintenance of the fby4 seems to already be covered by existing regex. Let me know in case there is extra tests i should write for the sensors other than the functional test. I saw the tests/qtest/tmp105-test.c , would that be helpful for the new sensors as well to write a test like that? It is always useful to have, especially for covering corner cases in the model that are harder to exercise when running a full OS image. Some MMIO sequences are much easier to test in qtest than by building custom firmware for them. It really depends on the complexity and criticality of the model. Thanks, C.
Re: [PATCH v2 4/4] ast2600: yosemite4 initial support
Hi Cedric, thanks for your ongoing review :) I sent v5, summary of changes: - I CCd you and Titus on all the patches now. - removed the backticks (markdown syntax) from my patches. I was used to this workflow since some other projects use commit linters which get tripped up by log outputs. - restructured the series as you suggested (board, then functional test, then sensors) - removed some unused includes on the machine file - removed some unnecessary variables from the machine file - linked to your github tree for the fw image for the functional test, since the image is now available there - added new section for each sensor to the functional test with some command sequences and expected outputs - added new entries in MAINTAINERS file for Titus for the individual sensors. Your maintenance of the fby4 seems to already be covered by existing regex. Let me know in case there is extra tests i should write for the sensors other than the functional test. I saw the tests/qtest/tmp105-test.c , would that be helpful for the new sensors as well to write a test like that? Thanks, Alexander On 5/9/26 18:39, Cédric Le Goater wrote: Hello Alexander, Could you please cc: me on the whole series ? I'd like to see what the rest is about. However, I am not the sensor maintainer, Titus is. On 5/5/26 17:42, Alexander Hansen wrote: Initial patch based on [1] to support yosemite v4 bmc emulation. The goal of this machine support is to support OpenBMC development. Reference linux devicetree from openbmc linux is [2]. Status: - Enclosure FRU: showing up - Management Board FRU: showing up - Blade Board FRU: showing up - Blade Board sensors: not implemented - Blade Chassis FRU: showing up - Fan Board FRU: both showing up - Fan Board sensors: supported Overall the emulation is incomplete but already helpful in development and testing. The focus of this initial support is on the FRU eeproms and fanboard sensors. Tested: booted an OpenBMC image for yosemite4 target. Tested: functional test (see [5] for the image) passed. ``` Please remove the markdown annotations. This is a git commit log. export QEMU_TEST_QEMU_BINARY=qemu-system-arm ./build/run tests/functional/arm/test_aspeed_fby4.py TAP version 13 ok 1 test_aspeed_fby4.YosemiteV4Machine.test_arm_ast2600_yosemitev4_openbmc 1..1 ``` References: [1] https://github.com/9elements/qemu/commit/32139f913c2bd0ebe4bd26c46765861f6f9f2d49 [2] arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts [3] https://github.com/legoater/qemu-aspeed-boot/pull/5 Cc: "Cédric Le Goater" (maintainer:ASPEED BMCs) Cc: Peter Maydell (maintainer:ASPEED BMCs) Cc: Steven Lee (reviewer:ASPEED BMCs) Cc: Troy Lee (reviewer:ASPEED BMCs) Cc: Jamin Lin (reviewer:ASPEED BMCs) Cc: Kane Chen (reviewer:ASPEED BMCs) Cc: Andrew Jeffery (reviewer:ASPEED BMCs) Cc: Joel Stanley (reviewer:ASPEED BMCs) Cc: [email protected] (open list:ASPEED BMCs) Cc: [email protected] (open list:All patches CC here) Signed-off-by: Alexander Hansen --- hw/arm/aspeed_ast2600_fby4.c | 289 +++ hw/arm/meson.build | 1 + tests/functional/arm/meson.build | 2 + tests/functional/arm/test_aspeed_fby4.py | 44 I would prefer the functional test to be proposed in its own patch. The machine looks good. Just a few minor comments. 4 files changed, 336 insertions(+) create mode 100644 hw/arm/aspeed_ast2600_fby4.c create mode 100755 tests/functional/arm/test_aspeed_fby4.py diff --git a/hw/arm/aspeed_ast2600_fby4.c b/hw/arm/aspeed_ast2600_fby4.c new file mode 100644 index 00..284f64e3f3 --- /dev/null +++ b/hw/arm/aspeed_ast2600_fby4.c @@ -0,0 +1,289 @@ +/* + * Yosemite V4 + * + * Copyright 2026 9elements. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "hw/arm/machines-qom.h" +#include "hw/arm/aspeed.h" +#include "hw/arm/aspeed_soc.h" +#include "hw/nvram/eeprom_at24c.h" +#include "hw/sensor/tmp105.h" +#include "hw/sensor/max31790.h" +#include "hw/sensor/max11615.h" +#include "hw/sensor/adc128d818.h" +#include "hw/i2c/i2c_mux_pca954x.h" +#include "hw/gpio/pca9552.h" +#include "system/reset.h" I don't think this include is needed. + +#define FBY4_BMC_RAM_SIZE ASPEED_RAM_SIZE(2 * GiB) + +/* START OF EEPROM CONTENTS */ + +/* + *./frugen -s board.mfg="Wiwynn" \ + * --set board.pname="Fan Board FSC-MAX ADC-TI LED-NXP EFUSE-MAX" \ + * --set text:board.pn="BRD-PN-345" \ + * --board-date "10/1/2017 12:58:00" \ + * --set board.serial="123456" \ + * --set product.pname="Yosemite V4" \ + * --set product.mfg="Wiwynn" \ + * --set product.ver="v1.1" \ + * --set product.serial="123456" \ + * --set product.atag="PLACEHOLDER" \ + * --set product.custom="Fanboard Custom1" \ + * --set product.custom.1="Fanboard Custom2" \ + * --set text:product.pn="PN-345" \ + * fru-yv4-fanboard.bin + */ +/* EM Config: yosemite4_fanboa
Re: [PATCH v2 4/4] ast2600: yosemite4 initial support
Hello Alexander, Could you please cc: me on the whole series ? I'd like to see what the rest is about. However, I am not the sensor maintainer, Titus is. On 5/5/26 17:42, Alexander Hansen wrote: Initial patch based on [1] to support yosemite v4 bmc emulation. The goal of this machine support is to support OpenBMC development. Reference linux devicetree from openbmc linux is [2]. Status: - Enclosure FRU: showing up - Management Board FRU: showing up - Blade Board FRU: showing up - Blade Board sensors: not implemented - Blade Chassis FRU: showing up - Fan Board FRU: both showing up - Fan Board sensors: supported Overall the emulation is incomplete but already helpful in development and testing. The focus of this initial support is on the FRU eeproms and fanboard sensors. Tested: booted an OpenBMC image for yosemite4 target. Tested: functional test (see [5] for the image) passed. ``` Please remove the markdown annotations. This is a git commit log. export QEMU_TEST_QEMU_BINARY=qemu-system-arm ./build/run tests/functional/arm/test_aspeed_fby4.py TAP version 13 ok 1 test_aspeed_fby4.YosemiteV4Machine.test_arm_ast2600_yosemitev4_openbmc 1..1 ``` References: [1] https://github.com/9elements/qemu/commit/32139f913c2bd0ebe4bd26c46765861f6f9f2d49 [2] arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-yosemite4.dts [3] https://github.com/legoater/qemu-aspeed-boot/pull/5 Cc: "Cédric Le Goater" (maintainer:ASPEED BMCs) Cc: Peter Maydell (maintainer:ASPEED BMCs) Cc: Steven Lee (reviewer:ASPEED BMCs) Cc: Troy Lee (reviewer:ASPEED BMCs) Cc: Jamin Lin (reviewer:ASPEED BMCs) Cc: Kane Chen (reviewer:ASPEED BMCs) Cc: Andrew Jeffery (reviewer:ASPEED BMCs) Cc: Joel Stanley (reviewer:ASPEED BMCs) Cc: [email protected] (open list:ASPEED BMCs) Cc: [email protected] (open list:All patches CC here) Signed-off-by: Alexander Hansen --- hw/arm/aspeed_ast2600_fby4.c | 289 +++ hw/arm/meson.build | 1 + tests/functional/arm/meson.build | 2 + tests/functional/arm/test_aspeed_fby4.py | 44 I would prefer the functional test to be proposed in its own patch. The machine looks good. Just a few minor comments. 4 files changed, 336 insertions(+) create mode 100644 hw/arm/aspeed_ast2600_fby4.c create mode 100755 tests/functional/arm/test_aspeed_fby4.py diff --git a/hw/arm/aspeed_ast2600_fby4.c b/hw/arm/aspeed_ast2600_fby4.c new file mode 100644 index 00..284f64e3f3 --- /dev/null +++ b/hw/arm/aspeed_ast2600_fby4.c @@ -0,0 +1,289 @@ +/* + * Yosemite V4 + * + * Copyright 2026 9elements. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "hw/arm/machines-qom.h" +#include "hw/arm/aspeed.h" +#include "hw/arm/aspeed_soc.h" +#include "hw/nvram/eeprom_at24c.h" +#include "hw/sensor/tmp105.h" +#include "hw/sensor/max31790.h" +#include "hw/sensor/max11615.h" +#include "hw/sensor/adc128d818.h" +#include "hw/i2c/i2c_mux_pca954x.h" +#include "hw/gpio/pca9552.h" +#include "system/reset.h" I don't think this include is needed. + +#define FBY4_BMC_RAM_SIZE ASPEED_RAM_SIZE(2 * GiB) + +/* START OF EEPROM CONTENTS */ + +/* + *./frugen -s board.mfg="Wiwynn" \ + * --set board.pname="Fan Board FSC-MAX ADC-TI LED-NXP EFUSE-MAX" \ + * --set text:board.pn="BRD-PN-345" \ + * --board-date "10/1/2017 12:58:00" \ + * --set board.serial="123456" \ + * --set product.pname="Yosemite V4" \ + * --set product.mfg="Wiwynn" \ + * --set product.ver="v1.1" \ + * --set product.serial="123456" \ + * --set product.atag="PLACEHOLDER" \ + * --set product.custom="Fanboard Custom1" \ + * --set product.custom.1="Fanboard Custom2" \ + * --set text:product.pn="PN-345" \ + * fru-yv4-fanboard.bin + */ +/* EM Config: yosemite4_fanboard_fsc_max_adc_ti_led_nxp_ons_efuse_max.json */ +/* Yosemite4 fan board */ +static const uint8_t fru_yv4_fanboard_bin[] = { + 0x01, 0x00, 0x00, 0x01, 0x0b, 0x00, 0x00, 0xf3, 0x01, 0x0a, 0x19, 0xce, + 0xc2, 0xa8, 0xc6, 0x57, 0x69, 0x77, 0x79, 0x6e, 0x6e, 0xea, 0x46, 0x61, + 0x6e, 0x20, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x20, 0x46, 0x53, 0x43, 0x2d, + 0x4d, 0x41, 0x58, 0x20, 0x41, 0x44, 0x43, 0x2d, 0x54, 0x49, 0x20, 0x4c, + 0x45, 0x44, 0x2d, 0x4e, 0x58, 0x50, 0x20, 0x45, 0x46, 0x55, 0x53, 0x45, + 0x2d, 0x4d, 0x41, 0x58, 0x85, 0x91, 0x34, 0x51, 0x95, 0x05, 0xca, 0x42, + 0x52, 0x44, 0x2d, 0x50, 0x4e, 0x2d, 0x33, 0x34, 0x35, 0xc0, 0xc1, 0x00, + 0x00, 0x00, 0x00, 0xdb, 0x01, 0x09, 0x19, 0xc6, 0x57, 0x69, 0x77, 0x79, + 0x6e, 0x6e, 0xcb, 0x59, 0x6f, 0x73, 0x65, 0x6d, 0x69, 0x74, 0x65, 0x20, + 0x56, 0x34, 0xc6, 0x50, 0x4e, 0x2d, 0x33, 0x34, 0x35, 0xc4, 0x76, 0x31, + 0x2e, 0x31, 0x85, 0x91, 0x34, 0x51, 0x95, 0x05, 0x89, 0x30, 0x1b, 0x8e, + 0x25, 0xfa, 0xb2, 0x64, 0x29, 0x03, 0xc0, 0xd0, 0x46, 0x61, 0x6e, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x20, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x32, + 0xc1, 0x00, 0x00, 0x9d +}; +static const size_t fru_yv4_fanboa
