All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/22] Aspeed: TMP421 and TMP1075 sensors, and the Clemente BMC machine
@ 2026-10-15 11:57 ` Emmanuel Blot via qemu development
  0 siblings, 0 replies; 49+ messages in thread
From: Emmanuel Blot via @ 2026-10-15 11:57 UTC (permalink / raw)
  To: qemu-devel
  Cc: Philippe Mathieu-Daudé, Cédric Le Goater, Peter Maydell,
	Steven Lee, Troy Lee, Jamin Lin, Kane Chen, Andrew Jeffery,
	Joel Stanley, qemu-arm, Fabiano Rosas, Laurent Vivier,
	Paolo Bonzini, Pierrick Bouvier, Emmanuel Blot

Add the clemente-bmc machine and the temperature sensors it needs.

The TMP421 variants are now described by a class descriptor instead
of a lookup table. Channel enablement, register write masks, the
one-shot trigger and the per-channel N-factor registers are modelled,
reset follows Resettable API, and the variant type names move to a
header so boards stop open-coding the strings.

The TMP1075 is a TMP105 with a 16-bit Config register and a read-only
device ID.

The new TMP421 state is stored in optional subsections.

The clemente-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 qtest for the TMP421 family, plus TMP105 cases for the TMP1075.
Both check a migration round trip.

Based-on: <20261015-bmc-minerva-v3-0-7d50c8a108e5@free.fr>

Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr>
---
Emmanuel Blot (22):
      hw/sensor: tmp421: do not report a stale errno on a parse failure
      hw/sensor: tmp421: name the parent object field parent_obj
      hw/sensor: tmp421: implement Resettable reset
      hw/sensor: tmp421: model device variants with a class descriptor
      hw/sensor: tmp421: honor per-variant channels and channel enablement
      hw/sensor: tmp421: implement register write masks, one-shot and N-factor
      hw/sensor: tmp421: describe the temperature properties
      hw/sensor: tmp421: keep the measurement across a range change
      hw/sensor: tmp421: migrate the exact measurement
      hw/sensor: tmp421: publish the variant type names
      hw/arm/aspeed: use the TMP421 type-name macros
      tests/qtest: tmp421: cover device IDs and reset defaults
      tests/qtest: tmp421: cover temperature encoding and range
      tests/qtest: tmp421: cover per-variant channels and enablement
      tests/qtest: tmp421: cover software reset and N-factor registers
      tests/qtest: tmp421: cover the register form of the migration stream
      hw/sensor: tmp105: add the TMP1075 variant
      tests/qtest: tmp105: cover the TMP1075 device ID and reset defaults
      tests/qtest: tmp105: cover the TMP1075 config register width
      tests/qtest: tmp105: cover the Config low byte across a migration
      hw/arm: clemente: add Facebook Clemente BMC machine
      hw/arm: clemente: populate the FRU EEPROMs

 docs/system/arm/aspeed.rst                |    1 +
 hw/arm/aspeed_ast2400_palmetto.c          |    3 +-
 hw/arm/aspeed_ast2400_supermicrox11.c     |    3 +-
 hw/arm/aspeed_ast2500_supermicro-x11spi.c |    3 +-
 hw/arm/aspeed_ast2500_tiogapass.c         |   10 +-
 hw/arm/aspeed_ast2500_witherspoon.c       |    7 +-
 hw/arm/aspeed_ast2500_yosemitev2.c        |   10 +-
 hw/arm/aspeed_ast2600_bletchley.c         |    3 +-
 hw/arm/aspeed_ast2600_catalina.c          |    3 +-
 hw/arm/aspeed_ast2600_clemente.c          | 1154 +++++++++++++++++++++++++++++
 hw/arm/aspeed_ast2600_fby35.c             |    2 +-
 hw/arm/aspeed_ast2600_fuji.c              |    3 +-
 hw/arm/aspeed_ast2600_rainier.c           |   13 +-
 hw/arm/meson.build                        |    1 +
 hw/sensor/tmp105.c                        |   85 ++-
 hw/sensor/tmp421.c                        |  429 ++++++++---
 include/hw/sensor/tmp105.h                |    2 +
 include/hw/sensor/tmp105_regs.h           |    5 +
 include/hw/sensor/tmp421.h                |   19 +
 tests/qtest/meson.build                   |    1 +
 tests/qtest/tmp105-test.c                 |  111 +++
 tests/qtest/tmp421-test.c                 |  326 ++++++++
 22 files changed, 2050 insertions(+), 144 deletions(-)
---
base-commit: 615ece3c406b262996e569f29ea6eed0d81c4d8d
change-id: 20260907-bmc-clemente-0056d6676717
prerequisite-message-id: <20261015-bmc-minerva-v3-0-7d50c8a108e5@free.fr>
prerequisite-patch-id: 5aae2c14351eb51fea0cb307bedf21021730debd
prerequisite-patch-id: 4d9a408b21353dda070052227302e799e4c01726
prerequisite-patch-id: 01470b3e3d522778ea23f39f03a3b82a2a0f2d3e
prerequisite-patch-id: 11d0a41b1b3009d95ddf51d9bde960658c924ac1
prerequisite-patch-id: f1072c7d99e462e1c85ecace78eef33bc6e8778a
prerequisite-patch-id: 8897466a7505261a1060243ca01572c3a8874068
prerequisite-patch-id: f35c864317c68dd2b9ca969bec243fafd80497e6
prerequisite-patch-id: 8b05ecb9c1191509e7e4cc76944c88f4f7891ca2
prerequisite-patch-id: 78155b4352683ffc03826038c3d8160b788c29ff
prerequisite-patch-id: e0af745b421c39fd47311ca21576c510bc961526
prerequisite-patch-id: c14af0a372dcb314ef92a04a47e5bedc846281c8
prerequisite-patch-id: 684f5ec9f4ac0640438d1eead20832c529d67508
prerequisite-patch-id: e09c684b2002e30ae14a11bfe409869478d104bd
prerequisite-patch-id: 09afec3682584cbda09b00c0ac87dc60835454d7
prerequisite-patch-id: a89dfec61a795b84c3cf02927fd7c40bc6f694ae
prerequisite-patch-id: 6a23cb3b1362aaf70fe73f554d9d5fcf2e72c3ec
prerequisite-patch-id: 7c11c16803a5b96be5653a05acf8b46a3020e8d9
prerequisite-patch-id: b9251deb99859cc30a9c67b5dba3066124f32033
prerequisite-patch-id: 87291d7798b6bddde6242c651f0e03deb96ab559
prerequisite-patch-id: caac35561ca8b2bdd86101f943e93aa7bcd3a90c
prerequisite-patch-id: 27b0b37242fba900f982f9bcaca36f48c6a115bb
prerequisite-patch-id: 1259c5fbfeb5d2bf1760e7b12df59f182528cee6
prerequisite-patch-id: 2654532e955554fbae6ffcdf6ff3b38bb03fbbd5
prerequisite-patch-id: ff0505a46b3604ba502834d3f5bf17ab85b3c5fa
prerequisite-patch-id: 250958c152f11026aa98d334892132f9ab7467db
prerequisite-patch-id: f3d938264fb2f0c2c292dbb4fb218e5b8d22c3d9
prerequisite-patch-id: 06602fc849e499131998af486ae455497a4245c1
prerequisite-patch-id: d857ee22db2d62a98f4f2054d1966cce7ed39452
prerequisite-patch-id: 7909e49ac93573ebd56424a556d4e4872e9778eb
prerequisite-patch-id: 53cd0411fed556e85f6557cab6fc32056c24bddc
prerequisite-patch-id: 71752a32c10eacd296f62bcc94c09db5d54007c3
prerequisite-patch-id: 7a21b5fabeddff9c08d6b532b2a398737f375a06
prerequisite-patch-id: c6154dd1e7a48decd770f062fb57f32cfb2e1826
prerequisite-patch-id: b94e4e3d83aa013ffd05267e20d48d6813ca2d7c
prerequisite-patch-id: 23716ee3fbb2395d0fc33922433fb6d708081fae
prerequisite-patch-id: 2e57dc2effacfdfb8adb93f5e33bfefdb7c28dc0
prerequisite-patch-id: 2400063e36ca403574b812436fef8c38608e6005
prerequisite-patch-id: 557a2e98bce9c59d1d4513207e021e217d9dcc59
prerequisite-patch-id: db5ca53f9dccded71da127446b4870678640c86f
prerequisite-patch-id: ddf5d85c6eb13a9121342263b6f0ee9902b40d06
prerequisite-patch-id: d9e3e31b88133c8d2ffac7c931d9ab153cf20af7
prerequisite-patch-id: 7ed25d5dc6b899645ef98cdb591344042b77c41f
prerequisite-patch-id: 6c70cb570c5c6bfe0d61cb4c5260e6d8f195f383
prerequisite-patch-id: 3caea8b32b51fa447ee21565594b6465d2e51670
prerequisite-patch-id: 758236b35dcee46e176a7167e703048e11f6e634
prerequisite-patch-id: 0521a46d473cad9f3924b4e0f86473fe237c1982
prerequisite-patch-id: 819077eedcc252ade342c8288af2d57e0c8ece6f
prerequisite-patch-id: 913f8260d8274a1c1706d09915cf75c0dd11061c
prerequisite-patch-id: b0913e3e23d3bd41ffb248a3afecdbfe93b4915d
prerequisite-patch-id: ef2e1478aad5f5722a2d021b424803d7cb2cdc4c

Best regards,
--  
Emmanuel Blot <emmanuel.blot@free.fr>



^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2026-10-16  9:35 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-15 11:57 [PATCH 00/22] Aspeed: TMP421 and TMP1075 sensors, and the Clemente BMC machine Emmanuel Blot via
2026-10-15 11:57 ` Emmanuel Blot via qemu development
2026-10-15 11:57 ` [PATCH 01/22] hw/sensor: tmp421: do not report a stale errno on a parse failure Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 02/22] hw/sensor: tmp421: name the parent object field parent_obj Emmanuel Blot via
2026-10-15 11:57   ` Emmanuel Blot via qemu development
2026-10-15 11:57 ` [PATCH 03/22] hw/sensor: tmp421: implement Resettable reset Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 04/22] hw/sensor: tmp421: model device variants with a class descriptor Emmanuel Blot via
2026-10-15 11:57   ` Emmanuel Blot via qemu development
2026-10-15 11:57 ` [PATCH 05/22] hw/sensor: tmp421: honor per-variant channels and channel enablement Emmanuel Blot via
2026-10-15 11:57   ` Emmanuel Blot via qemu development
2026-10-15 11:57 ` [PATCH 06/22] hw/sensor: tmp421: implement register write masks, one-shot and N-factor Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 07/22] hw/sensor: tmp421: describe the temperature properties Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 08/22] hw/sensor: tmp421: keep the measurement across a range change Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 09/22] hw/sensor: tmp421: migrate the exact measurement Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 10/22] hw/sensor: tmp421: publish the variant type names Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 11/22] hw/arm/aspeed: use the TMP421 type-name macros Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-16  5:19   ` 林建明
2026-10-15 11:57 ` [PATCH 12/22] tests/qtest: tmp421: cover device IDs and reset defaults Emmanuel Blot via
2026-10-15 11:57   ` Emmanuel Blot via qemu development
2026-10-15 11:57 ` [PATCH 13/22] tests/qtest: tmp421: cover temperature encoding and range Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 14/22] tests/qtest: tmp421: cover per-variant channels and enablement Emmanuel Blot via
2026-10-15 11:57   ` Emmanuel Blot via qemu development
2026-10-15 11:57 ` [PATCH 15/22] tests/qtest: tmp421: cover software reset and N-factor registers Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 16/22] tests/qtest: tmp421: cover the register form of the migration stream Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 17/22] hw/sensor: tmp105: add the TMP1075 variant Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 18/22] tests/qtest: tmp105: cover the TMP1075 device ID and reset defaults Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 19/22] tests/qtest: tmp105: cover the TMP1075 config register width Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 20/22] tests/qtest: tmp105: cover the Config low byte across a migration Emmanuel Blot via qemu development
2026-10-15 11:57   ` Emmanuel Blot via
2026-10-15 11:57 ` [PATCH 21/22] hw/arm: clemente: add Facebook Clemente BMC machine Emmanuel Blot via
2026-10-15 11:57   ` Emmanuel Blot via qemu development
2026-10-16  9:34   ` Jamin Lin
2026-10-15 11:58 ` [PATCH 22/22] hw/arm: clemente: populate the FRU EEPROMs Emmanuel Blot via qemu development
2026-10-15 11:58   ` Emmanuel Blot via
2026-10-16  9:34   ` Jamin Lin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.