Hello, Here is a series aggregating recent changes proposed on the Aspeed ast2600 I2C controller model.
First comes a large set of changes converting the model to use the registerfield interface and adding the I2C new register mode (Joe). Since this is complex to review, extra tests are added to the acceptance test suite to check that I2C devices are still functional in the ast2600-evb machine. These tests use small buildroot images available on GH. The ast1030 and ast2600 SoC share the same I2C logic. This series adds I2C support to the ast1030 now that new register mode is supported. There was a previous proposal from Troy doing the same but Joe's patchset covers the same need (and converts the model to registerfield) Follows a proposal from Klaus adding support for multi master in the I2C core and the Aspeed I2C model, for the old register mode only. The new register mode still needs to be addressed but this shouldn't take too long once old register mode is merged. Last, I have added the I2C echo device and test provided by Klaus. I think it would be interesting to keep them for tests. Please, tell me. Thanks, C. Cédric Le Goater (7): test/avocado/machine_aspeed.py: Move OpenBMC tests test/avocado/machine_aspeed.py: Add tests using buildroot images test/avocado/machine_aspeed.py: Add I2C tests to ast2600-evb test/avocado/machine_aspeed.py: Add an I2C RTC test aspeed/i2c: Add ast1030 controller models aspeed/i2c: Enable SLAVE_ADDR_RX_MATCH always test/avocado/machine_aspeed.py: Add I2C slave tests Joe Komlodi (7): hw/registerfields: Add shared fields macros aspeed: i2c: Add ctrl_global_rsvd property aspeed: i2c: Migrate to registerfields API aspeed: i2c: Use reg array instead of individual vars aspeed: i2c: Add new mode support aspeed: i2c: Add PKT_DONE IRQ to trace aspeed: i2c: Move regs and helpers to header file Klaus Jensen (6): hw/i2c/aspeed: rework raise interrupt trace event hw/i2c/aspeed: add DEV_ADDR in old register mode hw/i2c: support multiple masters hw/i2c: add asynchronous send hw/i2c/aspeed: add slave device in old register mode hw/misc: add a toy i2c echo device [DO NOT PULL] Troy Lee (1): aspeed: Add I2C buses to AST1030 model include/hw/i2c/aspeed_i2c.h | 299 ++++++++- include/hw/i2c/i2c.h | 30 + include/hw/registerfields.h | 70 +++ hw/arm/aspeed.c | 13 + hw/arm/aspeed_ast10x0.c | 18 + hw/arm/aspeed_ast2600.c | 2 + hw/arm/pxa2xx.c | 2 + hw/display/sii9022.c | 2 + hw/display/ssd0303.c | 2 + hw/i2c/aspeed_i2c.c | 901 ++++++++++++++++++---------- hw/i2c/core.c | 70 ++- hw/i2c/smbus_slave.c | 4 + hw/misc/i2c-echo.c | 162 +++++ hw/nvram/eeprom_at24c.c | 2 + hw/sensor/lsm303dlhc_mag.c | 2 + hw/i2c/trace-events | 4 +- hw/misc/meson.build | 2 + tests/avocado/boot_linux_console.py | 43 -- tests/avocado/machine_aspeed.py | 128 ++++ 19 files changed, 1393 insertions(+), 363 deletions(-) create mode 100644 hw/misc/i2c-echo.c -- 2.35.3