[PATCH v2 00/50] Aspeed: I2C device models and the Minerva BMC machine

Emmanuel Blot via qemu development posted 50 patches 1 week, 3 days ago
There is a newer version of this series
docs/system/arm/aspeed.rst                  |   7 +-
hw/arm/Kconfig                              |   2 +
hw/arm/aspeed_ast2400_palmetto.c            |   4 +-
hw/arm/aspeed_ast2400_supermicrox11.c       |   4 +-
hw/arm/aspeed_ast2500_romulus.c             |   4 +-
hw/arm/aspeed_ast2500_supermicro-x11spi.c   |   4 +-
hw/arm/aspeed_ast2500_witherspoon.c         |   4 +-
hw/arm/aspeed_ast2600_bletchley.c           |   3 +-
hw/arm/aspeed_ast2600_catalina.c            |   2 +-
hw/arm/aspeed_ast2600_minerva.c             | 856 ++++++++++++++++++++++++++++
hw/arm/aspeed_ast2600_sanmiguel.c           |   7 +-
hw/arm/meson.build                          |   1 +
hw/arm/realview.c                           |   3 +-
hw/arm/versatilepb.c                        |   3 +-
hw/i2c/i2c_mux_pca954x.c                    |  98 +++-
hw/ppc/e500.c                               |   3 +-
hw/riscv/tt_atlantis.c                      |   3 +-
hw/rtc/ds1338.c                             | 427 +++++++++++---
hw/sensor/Kconfig                           |   8 +
hw/sensor/ina230.c                          | 597 +++++++++++++++++++
hw/sensor/ina238.c                          | 802 ++++++++++++++++++++++++++
hw/sensor/meson.build                       |   2 +
hw/sensor/trace-events                      |  14 +
include/hw/i2c/i2c_mux_pca954x.h            |   1 +
include/hw/rtc/ds1338.h                     |  21 +
include/hw/sensor/ina230.h                  |  14 +
include/hw/sensor/ina238.h                  |  14 +
tests/functional/arm/meson.build            |   2 +
tests/functional/arm/test_aspeed_minerva.py |  30 +
tests/qtest/ds1338-test.c                   | 191 ++++++-
tests/qtest/ds1339-test.c                   | 581 +++++++++++++++++++
tests/qtest/ina230-test.c                   | 602 +++++++++++++++++++
tests/qtest/ina238-test.c                   | 806 ++++++++++++++++++++++++++
tests/qtest/meson.build                     |   4 +
tests/qtest/pca9545-test.c                  | 116 ++++
35 files changed, 5125 insertions(+), 115 deletions(-)
[PATCH v2 00/50] Aspeed: I2C device models and the Minerva BMC machine
Posted by Emmanuel Blot via qemu development 1 week, 3 days ago
Add the minerva-bmc machine and the I2C device models it needs.

Based on master, at:
  615ece3c40 ("Merge tag 'for-upstream' of
  https://gitlab.com/bonzini/qemu into staging")

New models:

  INA230   TI 36V current-shunt and power monitor
  INA238   TI 85V current-shunt, power and temperature monitor
  DS1339   RTC, a DS1338 variant
  PCA9545  4-channel I2C mux with per-channel interrupt inputs

The INA devices derive current and power from the shunt voltage and
their calibration registers. ALERT output is supported. Measurements
come in through QOM properties; however, conversion delay is not
modelled.

Introduce a device class to manage different variants of the DS1338
register map, such as the DS1339. Improve the DS1338 implementation
with a Resettable reset, support for the clock-halt bit, and a
"persist-on-reset" property keeping the registers across a reset.

The minerva-bmc machine is derived from the platform device tree and
instantiates every device that is supported in QEMU. FRU EEPROMs are
sanitised images taken from real hardware.

New qtests for the DS1339, INA230, INA238 and PCA9545, plus DS1338
cases for the register map, and a functional test booting OpenBMC on
minerva-bmc.

The docs now mention the previously missing catalina-bmc and
sanmiguel-bmc machines, and the title has been simplified.

One thing worth a second opinion: the PCA954x muxes now have a
VMStateDescription, which changes the migration stream for the
existing PCA9546 and PCA9548. The DS1338 vmstate also goes from
version 2 to 3, but older streams still load fine.

Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr>
---
Changes in v2:
- Rebase onto master, which now contains the v1 base.
- minerva: drop ASPEED_RAM_SIZE, removed upstream.
- No other changes; v1 received no review comments.
- Link to v1: https://lore.kernel.org/qemu-devel/20260907-bmc-minerva-v1-0-0d83ad610c3b@free.fr

---
Emmanuel Blot (50):
      docs/system/arm/aspeed: add the catalina-bmc machine
      docs/system/arm/aspeed: add the sanmiguel-bmc machine
      hw/arm: sanmiguel: remove the second SPI flash controller
      hw/i2c: pca954x: drop unused header inclusions
      hw/i2c: pca954x: add PCA9545 4-channel mux model
      hw/i2c: pca954x: migrate mux state
      tests/qtest: pca9545: add mux test
      hw/rtc: ds1338: move TYPE_DS1338 to a public header
      hw: ds1338: use the TYPE_DS1338 constant instead of the "ds1338" string
      hw/rtc: ds1338: implement Resettable reset
      hw/rtc: ds1338: prefix the file-local helpers with ds1338_
      hw/rtc: ds1338: parameterise the register map via a device class
      hw/rtc: ds1338: program the clock from the time registers
      hw/rtc: ds1338: implement the DS1338 clock-halt bit
      hw/rtc: ds1338: refresh the user registers on a read rollover only
      hw/rtc: ds1338: add a persist-on-reset property
      tests/qtest: ds1338: cover the DS1338-specific register map
      tests/qtest: ds1338: cover the power-on register defaults
      tests/qtest: ds1338: cover the clock-halt bit
      tests/qtest: ds1338: cover persist-on-reset
      tests/qtest: ds1338: cover the reserved bits of the time registers
      hw/rtc: ds1338: add DS1339 variant
      tests/qtest: ds1339: add RTC test
      tests/qtest: ds1339: cover power-on defaults and reserved-bit masking
      tests/qtest: ds1339: cover oscillator stop/restart and time programming
      tests/qtest: ds1339: cover the Century bit
      tests/qtest: ds1339: cover the end-of-month rollover
      tests/qtest: ds1339: cover the 12-hour format
      tests/qtest: ds1339: cover the day-of-week counter
      tests/qtest: ds1339: cover persist-on-reset
      tests/qtest: ds1339: cover the migration round trip
      hw/sensor: ina230: add current/voltage/power monitor
      tests/qtest: ina230: add current/voltage/power monitor test
      tests/qtest: ina230: cover voltage injection and power derivation
      tests/qtest: ina230: cover the ALERT limit functions and CVRF
      tests/qtest: ina230: cover the injection-property limits
      tests/qtest: ina230: cover operating modes and triggered conversions
      tests/qtest: ina230: cover ALERT latch persistence
      tests/qtest: ina230: cover a cleared calibration per channel
      hw/sensor: ina238: add current/voltage/power monitor
      tests/qtest: ina238: add current/voltage/power monitor test
      tests/qtest: ina238: cover voltage/temperature injection and derivation
      tests/qtest: ina238: cover the ALERT path and conversion-ready flag
      tests/qtest: ina238: cover the injection-property limits
      tests/qtest: ina238: cover the operating modes
      tests/qtest: ina238: cover conversion-ready and alert-latch semantics
      tests/qtest: ina238: cover a cleared calibration per channel
      hw/arm: minerva: add Facebook BMC machine
      hw/arm: minerva: populate EEPROM data
      tests/functional/arm: minerva: add BMC boot test

 docs/system/arm/aspeed.rst                  |   7 +-
 hw/arm/Kconfig                              |   2 +
 hw/arm/aspeed_ast2400_palmetto.c            |   4 +-
 hw/arm/aspeed_ast2400_supermicrox11.c       |   4 +-
 hw/arm/aspeed_ast2500_romulus.c             |   4 +-
 hw/arm/aspeed_ast2500_supermicro-x11spi.c   |   4 +-
 hw/arm/aspeed_ast2500_witherspoon.c         |   4 +-
 hw/arm/aspeed_ast2600_bletchley.c           |   3 +-
 hw/arm/aspeed_ast2600_catalina.c            |   2 +-
 hw/arm/aspeed_ast2600_minerva.c             | 856 ++++++++++++++++++++++++++++
 hw/arm/aspeed_ast2600_sanmiguel.c           |   7 +-
 hw/arm/meson.build                          |   1 +
 hw/arm/realview.c                           |   3 +-
 hw/arm/versatilepb.c                        |   3 +-
 hw/i2c/i2c_mux_pca954x.c                    |  98 +++-
 hw/ppc/e500.c                               |   3 +-
 hw/riscv/tt_atlantis.c                      |   3 +-
 hw/rtc/ds1338.c                             | 427 +++++++++++---
 hw/sensor/Kconfig                           |   8 +
 hw/sensor/ina230.c                          | 597 +++++++++++++++++++
 hw/sensor/ina238.c                          | 802 ++++++++++++++++++++++++++
 hw/sensor/meson.build                       |   2 +
 hw/sensor/trace-events                      |  14 +
 include/hw/i2c/i2c_mux_pca954x.h            |   1 +
 include/hw/rtc/ds1338.h                     |  21 +
 include/hw/sensor/ina230.h                  |  14 +
 include/hw/sensor/ina238.h                  |  14 +
 tests/functional/arm/meson.build            |   2 +
 tests/functional/arm/test_aspeed_minerva.py |  30 +
 tests/qtest/ds1338-test.c                   | 191 ++++++-
 tests/qtest/ds1339-test.c                   | 581 +++++++++++++++++++
 tests/qtest/ina230-test.c                   | 602 +++++++++++++++++++
 tests/qtest/ina238-test.c                   | 806 ++++++++++++++++++++++++++
 tests/qtest/meson.build                     |   4 +
 tests/qtest/pca9545-test.c                  | 116 ++++
 35 files changed, 5125 insertions(+), 115 deletions(-)
---
base-commit: 615ece3c406b262996e569f29ea6eed0d81c4d8d
change-id: 20260907-bmc-minerva-cd13a718c90b

Best regards,
--  
Emmanuel Blot <emmanuel.blot@free.fr>
Re: [PATCH v2 00/50] Aspeed: I2C device models and the Minerva BMC machine
Posted by Cédric Le Goater 1 week, 2 days ago
Jamin, Glenn,

Could you please help reviewing some patches of this series ?

Thanks,

C.



On 10/12/26 16:31, Emmanuel Blot wrote:
> Add the minerva-bmc machine and the I2C device models it needs.
> 
> Based on master, at:
>    615ece3c40 ("Merge tag 'for-upstream' of
>    https://gitlab.com/bonzini/qemu into staging")
> 
> New models:
> 
>    INA230   TI 36V current-shunt and power monitor
>    INA238   TI 85V current-shunt, power and temperature monitor
>    DS1339   RTC, a DS1338 variant
>    PCA9545  4-channel I2C mux with per-channel interrupt inputs
> 
> The INA devices derive current and power from the shunt voltage and
> their calibration registers. ALERT output is supported. Measurements
> come in through QOM properties; however, conversion delay is not
> modelled.
> 
> Introduce a device class to manage different variants of the DS1338
> register map, such as the DS1339. Improve the DS1338 implementation
> with a Resettable reset, support for the clock-halt bit, and a
> "persist-on-reset" property keeping the registers across a reset.
> 
> The minerva-bmc machine is derived from the platform device tree and
> instantiates every device that is supported in QEMU. FRU EEPROMs are
> sanitised images taken from real hardware.
> 
> New qtests for the DS1339, INA230, INA238 and PCA9545, plus DS1338
> cases for the register map, and a functional test booting OpenBMC on
> minerva-bmc.
> 
> The docs now mention the previously missing catalina-bmc and
> sanmiguel-bmc machines, and the title has been simplified.
> 
> One thing worth a second opinion: the PCA954x muxes now have a
> VMStateDescription, which changes the migration stream for the
> existing PCA9546 and PCA9548. The DS1338 vmstate also goes from
> version 2 to 3, but older streams still load fine.
> 
> Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr>
> ---
> Changes in v2:
> - Rebase onto master, which now contains the v1 base.
> - minerva: drop ASPEED_RAM_SIZE, removed upstream.
> - No other changes; v1 received no review comments.
> - Link to v1: https://lore.kernel.org/qemu-devel/20260907-bmc-minerva-v1-0-0d83ad610c3b@free.fr
> 
> ---
> Emmanuel Blot (50):
>        docs/system/arm/aspeed: add the catalina-bmc machine
>        docs/system/arm/aspeed: add the sanmiguel-bmc machine
>        hw/arm: sanmiguel: remove the second SPI flash controller
>        hw/i2c: pca954x: drop unused header inclusions
>        hw/i2c: pca954x: add PCA9545 4-channel mux model
>        hw/i2c: pca954x: migrate mux state
>        tests/qtest: pca9545: add mux test
>        hw/rtc: ds1338: move TYPE_DS1338 to a public header
>        hw: ds1338: use the TYPE_DS1338 constant instead of the "ds1338" string
>        hw/rtc: ds1338: implement Resettable reset
>        hw/rtc: ds1338: prefix the file-local helpers with ds1338_
>        hw/rtc: ds1338: parameterise the register map via a device class
>        hw/rtc: ds1338: program the clock from the time registers
>        hw/rtc: ds1338: implement the DS1338 clock-halt bit
>        hw/rtc: ds1338: refresh the user registers on a read rollover only
>        hw/rtc: ds1338: add a persist-on-reset property
>        tests/qtest: ds1338: cover the DS1338-specific register map
>        tests/qtest: ds1338: cover the power-on register defaults
>        tests/qtest: ds1338: cover the clock-halt bit
>        tests/qtest: ds1338: cover persist-on-reset
>        tests/qtest: ds1338: cover the reserved bits of the time registers
>        hw/rtc: ds1338: add DS1339 variant
>        tests/qtest: ds1339: add RTC test
>        tests/qtest: ds1339: cover power-on defaults and reserved-bit masking
>        tests/qtest: ds1339: cover oscillator stop/restart and time programming
>        tests/qtest: ds1339: cover the Century bit
>        tests/qtest: ds1339: cover the end-of-month rollover
>        tests/qtest: ds1339: cover the 12-hour format
>        tests/qtest: ds1339: cover the day-of-week counter
>        tests/qtest: ds1339: cover persist-on-reset
>        tests/qtest: ds1339: cover the migration round trip
>        hw/sensor: ina230: add current/voltage/power monitor
>        tests/qtest: ina230: add current/voltage/power monitor test
>        tests/qtest: ina230: cover voltage injection and power derivation
>        tests/qtest: ina230: cover the ALERT limit functions and CVRF
>        tests/qtest: ina230: cover the injection-property limits
>        tests/qtest: ina230: cover operating modes and triggered conversions
>        tests/qtest: ina230: cover ALERT latch persistence
>        tests/qtest: ina230: cover a cleared calibration per channel
>        hw/sensor: ina238: add current/voltage/power monitor
>        tests/qtest: ina238: add current/voltage/power monitor test
>        tests/qtest: ina238: cover voltage/temperature injection and derivation
>        tests/qtest: ina238: cover the ALERT path and conversion-ready flag
>        tests/qtest: ina238: cover the injection-property limits
>        tests/qtest: ina238: cover the operating modes
>        tests/qtest: ina238: cover conversion-ready and alert-latch semantics
>        tests/qtest: ina238: cover a cleared calibration per channel
>        hw/arm: minerva: add Facebook BMC machine
>        hw/arm: minerva: populate EEPROM data
>        tests/functional/arm: minerva: add BMC boot test
> 
>   docs/system/arm/aspeed.rst                  |   7 +-
>   hw/arm/Kconfig                              |   2 +
>   hw/arm/aspeed_ast2400_palmetto.c            |   4 +-
>   hw/arm/aspeed_ast2400_supermicrox11.c       |   4 +-
>   hw/arm/aspeed_ast2500_romulus.c             |   4 +-
>   hw/arm/aspeed_ast2500_supermicro-x11spi.c   |   4 +-
>   hw/arm/aspeed_ast2500_witherspoon.c         |   4 +-
>   hw/arm/aspeed_ast2600_bletchley.c           |   3 +-
>   hw/arm/aspeed_ast2600_catalina.c            |   2 +-
>   hw/arm/aspeed_ast2600_minerva.c             | 856 ++++++++++++++++++++++++++++
>   hw/arm/aspeed_ast2600_sanmiguel.c           |   7 +-
>   hw/arm/meson.build                          |   1 +
>   hw/arm/realview.c                           |   3 +-
>   hw/arm/versatilepb.c                        |   3 +-
>   hw/i2c/i2c_mux_pca954x.c                    |  98 +++-
>   hw/ppc/e500.c                               |   3 +-
>   hw/riscv/tt_atlantis.c                      |   3 +-
>   hw/rtc/ds1338.c                             | 427 +++++++++++---
>   hw/sensor/Kconfig                           |   8 +
>   hw/sensor/ina230.c                          | 597 +++++++++++++++++++
>   hw/sensor/ina238.c                          | 802 ++++++++++++++++++++++++++
>   hw/sensor/meson.build                       |   2 +
>   hw/sensor/trace-events                      |  14 +
>   include/hw/i2c/i2c_mux_pca954x.h            |   1 +
>   include/hw/rtc/ds1338.h                     |  21 +
>   include/hw/sensor/ina230.h                  |  14 +
>   include/hw/sensor/ina238.h                  |  14 +
>   tests/functional/arm/meson.build            |   2 +
>   tests/functional/arm/test_aspeed_minerva.py |  30 +
>   tests/qtest/ds1338-test.c                   | 191 ++++++-
>   tests/qtest/ds1339-test.c                   | 581 +++++++++++++++++++
>   tests/qtest/ina230-test.c                   | 602 +++++++++++++++++++
>   tests/qtest/ina238-test.c                   | 806 ++++++++++++++++++++++++++
>   tests/qtest/meson.build                     |   4 +
>   tests/qtest/pca9545-test.c                  | 116 ++++
>   35 files changed, 5125 insertions(+), 115 deletions(-)
> ---
> base-commit: 615ece3c406b262996e569f29ea6eed0d81c4d8d
> change-id: 20260907-bmc-minerva-cd13a718c90b
> 
> Best regards,
> --
> Emmanuel Blot <emmanuel.blot@free.fr>
RE: [PATCH v2 00/50] Aspeed: I2C device models and the Minerva BMC machine
Posted by Jamin Lin 1 week, 2 days ago
Hi Cédric, Emmanuel

Due to an issue with the ASPEED mail server, we cannot receive patches distributed through the QEMU mailing list. We can only receive emails sent directly to our ASPEED addresses, 
for example, by including --to jamin_lin@aspeedtech.com, --cc jamin_lin@aspeedtech.com or --to-cmd "./scripts/get_maintainer.pl *.patch" in the git send-email command. 
I will use my personal GMAIL to reply this patch series.
jaminlin1207@gmail.com

Sorry for you inconvenience

Jamin

> -----Original Message-----
> From: Cédric Le Goater <clg@kaod.org>
> Sent: Tuesday, October 13, 2026 2:24 PM
> To: Emmanuel Blot <emmanuel.blot@free.fr>; qemu-devel@nongnu.org
> Cc: Peter Maydell <peter.maydell@linaro.org>; Steven Lee
> <steven_lee@aspeedtech.com>; Troy Lee <leetroy@gmail.com>; Jamin Lin
> <jamin_lin@aspeedtech.com>; Kane Chen <kane_chen@aspeedtech.com>;
> Andrew Jeffery <andrew@codeconstruct.com.au>; Joel Stanley
> <joel@jms.id.au>; Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>;
> qemu-arm@nongnu.org; Patrick Leis <venture@google.com>; Fabiano Rosas
> <farosas@suse.de>; Laurent Vivier <lvivier@redhat.com>; Paolo Bonzini
> <pbonzini@redhat.com>; qemu-ppc@nongnu.org; qemu-riscv@nongnu.org;
> Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>; Glenn Miles
> <milesg@linux.ibm.com>
> Subject: Re: [PATCH v2 00/50] Aspeed: I2C device models and the Minerva
> BMC machine
> 
> Jamin, Glenn,
> 
> Could you please help reviewing some patches of this series ?
> 
> Thanks,
> 
> C.
> 
> 
> 
> On 10/12/26 16:31, Emmanuel Blot wrote:
> > Add the minerva-bmc machine and the I2C device models it needs.
> >
> > Based on master, at:
> >    615ece3c40 ("Merge tag 'for-upstream' of
> >    https://gitlab.com/bonzini/qemu into staging")
> >
> > New models:
> >
> >    INA230   TI 36V current-shunt and power monitor
> >    INA238   TI 85V current-shunt, power and temperature monitor
> >    DS1339   RTC, a DS1338 variant
> >    PCA9545  4-channel I2C mux with per-channel interrupt inputs
> >
> > The INA devices derive current and power from the shunt voltage and
> > their calibration registers. ALERT output is supported. Measurements
> > come in through QOM properties; however, conversion delay is not
> > modelled.
> >
> > Introduce a device class to manage different variants of the DS1338
> > register map, such as the DS1339. Improve the DS1338 implementation
> > with a Resettable reset, support for the clock-halt bit, and a
> > "persist-on-reset" property keeping the registers across a reset.
> >
> > The minerva-bmc machine is derived from the platform device tree and
> > instantiates every device that is supported in QEMU. FRU EEPROMs are
> > sanitised images taken from real hardware.
> >
> > New qtests for the DS1339, INA230, INA238 and PCA9545, plus DS1338
> > cases for the register map, and a functional test booting OpenBMC on
> > minerva-bmc.
> >
> > The docs now mention the previously missing catalina-bmc and
> > sanmiguel-bmc machines, and the title has been simplified.
> >
> > One thing worth a second opinion: the PCA954x muxes now have a
> > VMStateDescription, which changes the migration stream for the
> > existing PCA9546 and PCA9548. The DS1338 vmstate also goes from
> > version 2 to 3, but older streams still load fine.
> >
> > Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr>
> > ---
> > Changes in v2:
> > - Rebase onto master, which now contains the v1 base.
> > - minerva: drop ASPEED_RAM_SIZE, removed upstream.
> > - No other changes; v1 received no review comments.
> > - Link to v1:
> > https://lore.kernel.org/qemu-devel/20260907-bmc-minerva-v1-0-0d83ad610
> > c3b@free.fr
> >
> > ---
> > Emmanuel Blot (50):
> >        docs/system/arm/aspeed: add the catalina-bmc machine
> >        docs/system/arm/aspeed: add the sanmiguel-bmc machine
> >        hw/arm: sanmiguel: remove the second SPI flash controller
> >        hw/i2c: pca954x: drop unused header inclusions
> >        hw/i2c: pca954x: add PCA9545 4-channel mux model
> >        hw/i2c: pca954x: migrate mux state
> >        tests/qtest: pca9545: add mux test
> >        hw/rtc: ds1338: move TYPE_DS1338 to a public header
> >        hw: ds1338: use the TYPE_DS1338 constant instead of the "ds1338"
> string
> >        hw/rtc: ds1338: implement Resettable reset
> >        hw/rtc: ds1338: prefix the file-local helpers with ds1338_
> >        hw/rtc: ds1338: parameterise the register map via a device class
> >        hw/rtc: ds1338: program the clock from the time registers
> >        hw/rtc: ds1338: implement the DS1338 clock-halt bit
> >        hw/rtc: ds1338: refresh the user registers on a read rollover only
> >        hw/rtc: ds1338: add a persist-on-reset property
> >        tests/qtest: ds1338: cover the DS1338-specific register map
> >        tests/qtest: ds1338: cover the power-on register defaults
> >        tests/qtest: ds1338: cover the clock-halt bit
> >        tests/qtest: ds1338: cover persist-on-reset
> >        tests/qtest: ds1338: cover the reserved bits of the time registers
> >        hw/rtc: ds1338: add DS1339 variant
> >        tests/qtest: ds1339: add RTC test
> >        tests/qtest: ds1339: cover power-on defaults and reserved-bit
> masking
> >        tests/qtest: ds1339: cover oscillator stop/restart and time
> programming
> >        tests/qtest: ds1339: cover the Century bit
> >        tests/qtest: ds1339: cover the end-of-month rollover
> >        tests/qtest: ds1339: cover the 12-hour format
> >        tests/qtest: ds1339: cover the day-of-week counter
> >        tests/qtest: ds1339: cover persist-on-reset
> >        tests/qtest: ds1339: cover the migration round trip
> >        hw/sensor: ina230: add current/voltage/power monitor
> >        tests/qtest: ina230: add current/voltage/power monitor test
> >        tests/qtest: ina230: cover voltage injection and power derivation
> >        tests/qtest: ina230: cover the ALERT limit functions and CVRF
> >        tests/qtest: ina230: cover the injection-property limits
> >        tests/qtest: ina230: cover operating modes and triggered
> conversions
> >        tests/qtest: ina230: cover ALERT latch persistence
> >        tests/qtest: ina230: cover a cleared calibration per channel
> >        hw/sensor: ina238: add current/voltage/power monitor
> >        tests/qtest: ina238: add current/voltage/power monitor test
> >        tests/qtest: ina238: cover voltage/temperature injection and
> derivation
> >        tests/qtest: ina238: cover the ALERT path and conversion-ready flag
> >        tests/qtest: ina238: cover the injection-property limits
> >        tests/qtest: ina238: cover the operating modes
> >        tests/qtest: ina238: cover conversion-ready and alert-latch
> semantics
> >        tests/qtest: ina238: cover a cleared calibration per channel
> >        hw/arm: minerva: add Facebook BMC machine
> >        hw/arm: minerva: populate EEPROM data
> >        tests/functional/arm: minerva: add BMC boot test
> >
> >   docs/system/arm/aspeed.rst                  |   7 +-
> >   hw/arm/Kconfig                              |   2 +
> >   hw/arm/aspeed_ast2400_palmetto.c            |   4 +-
> >   hw/arm/aspeed_ast2400_supermicrox11.c       |   4 +-
> >   hw/arm/aspeed_ast2500_romulus.c             |   4 +-
> >   hw/arm/aspeed_ast2500_supermicro-x11spi.c   |   4 +-
> >   hw/arm/aspeed_ast2500_witherspoon.c         |   4 +-
> >   hw/arm/aspeed_ast2600_bletchley.c           |   3 +-
> >   hw/arm/aspeed_ast2600_catalina.c            |   2 +-
> >   hw/arm/aspeed_ast2600_minerva.c             | 856
> ++++++++++++++++++++++++++++
> >   hw/arm/aspeed_ast2600_sanmiguel.c           |   7 +-
> >   hw/arm/meson.build                          |   1 +
> >   hw/arm/realview.c                           |   3 +-
> >   hw/arm/versatilepb.c                        |   3 +-
> >   hw/i2c/i2c_mux_pca954x.c                    |  98 +++-
> >   hw/ppc/e500.c                               |   3 +-
> >   hw/riscv/tt_atlantis.c                      |   3 +-
> >   hw/rtc/ds1338.c                             | 427 +++++++++++---
> >   hw/sensor/Kconfig                           |   8 +
> >   hw/sensor/ina230.c                          | 597
> +++++++++++++++++++
> >   hw/sensor/ina238.c                          | 802
> ++++++++++++++++++++++++++
> >   hw/sensor/meson.build                       |   2 +
> >   hw/sensor/trace-events                      |  14 +
> >   include/hw/i2c/i2c_mux_pca954x.h            |   1 +
> >   include/hw/rtc/ds1338.h                     |  21 +
> >   include/hw/sensor/ina230.h                  |  14 +
> >   include/hw/sensor/ina238.h                  |  14 +
> >   tests/functional/arm/meson.build            |   2 +
> >   tests/functional/arm/test_aspeed_minerva.py |  30 +
> >   tests/qtest/ds1338-test.c                   | 191 ++++++-
> >   tests/qtest/ds1339-test.c                   | 581
> +++++++++++++++++++
> >   tests/qtest/ina230-test.c                   | 602
> +++++++++++++++++++
> >   tests/qtest/ina238-test.c                   | 806
> ++++++++++++++++++++++++++
> >   tests/qtest/meson.build                     |   4 +
> >   tests/qtest/pca9545-test.c                  | 116 ++++
> >   35 files changed, 5125 insertions(+), 115 deletions(-)
> > ---
> > base-commit: 615ece3c406b262996e569f29ea6eed0d81c4d8d
> > change-id: 20260907-bmc-minerva-cd13a718c90b
> >
> > Best regards,
> > --
> > Emmanuel Blot <emmanuel.blot@free.fr>

Re: [PATCH v2 00/50] Aspeed: I2C device models and the Minerva BMC machine
Posted by Cédric Le Goater 1 week, 2 days ago
On 10/13/26 08:32, Jamin Lin wrote:
> Hi Cédric, Emmanuel
> 
> Due to an issue with the ASPEED mail server, we cannot receive patches distributed through the QEMU mailing list. We can only receive emails sent directly to our ASPEED addresses,

Take a look at lei :

   https://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started

It's a very useful tool to collect mailing list discussions.

> for example, by including --to jamin_lin@aspeedtech.com, --cc jamin_lin@aspeedtech.com or --to-cmd "./scripts/get_maintainer.pl *.patch" in the git send-email command.
> I will use my personal GMAIL to reply this patch series.
> jaminlin1207@gmail.com

Thanks a lot,

C.

RE: [PATCH v2 00/50] Aspeed: I2C device models and the Minerva BMC machine
Posted by Jamin Lin 6 days, 9 hours ago
Hi Cédric

> Subject: Re: [PATCH v2 00/50] Aspeed: I2C device models and the Minerva
> BMC machine
> 
> On 10/13/26 08:32, Jamin Lin wrote:
> > Hi Cédric, Emmanuel
> >
> > Due to an issue with the ASPEED mail server, we cannot receive patches
> distributed through the QEMU mailing list. We can only receive emails sent
> directly to our ASPEED addresses,
> 
> Take a look at lei :
> 
>    https://people.kernel.org/monsieuricon/lore-lei-part-1-getting-started
> 
> It's a very useful tool to collect mailing list discussions.
> 
Thanks for your suggestions and help.

I noticed that my personal Gmail account sometimes misses emails from the QEMU mailing list.
I can now use lei to retrieve QEMU patches related to ASPEED in my local VM and mutt with my personal Gmail account to reply to patch reviews.

Thanks again, Jamin

> > for example, by including --to jamin_lin@aspeedtech.com, --cc
> jamin_lin@aspeedtech.com or --to-cmd "./scripts/get_maintainer.pl *.patch"
> in the git send-email command.
> > I will use my personal GMAIL to reply this patch series.
> > jaminlin1207@gmail.com
> 
> Thanks a lot,
> 
> C.