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: <[email protected]> Signed-off-by: Emmanuel Blot <[email protected]> --- 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: <[email protected]> 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 <[email protected]>
