[PATCH v2 00/17] aspeed: Extend ast2600 I2C model with new mode

Cédric Le Goater posted 17 patches 1 year, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20220613132539.2199772-1-clg@kaod.org
Maintainers: "Cédric Le Goater" <clg@kaod.org>, Peter Maydell <peter.maydell@linaro.org>, Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, Alistair Francis <alistair@alistair23.me>, Cleber Rosa <crosa@redhat.com>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>
include/hw/i2c/aspeed_i2c.h         | 289 +++++++++-
include/hw/registerfields.h         |  70 +++
hw/arm/aspeed.c                     |  17 +-
hw/arm/aspeed_ast10x0.c             |  18 +
hw/i2c/aspeed_i2c.c                 | 820 +++++++++++++++++-----------
hw/i2c/trace-events                 |   2 +-
tests/avocado/boot_linux_console.py |  43 --
tests/avocado/machine_aspeed.py     | 136 +++++
8 files changed, 1030 insertions(+), 365 deletions(-)
[PATCH v2 00/17] aspeed: Extend ast2600 I2C model with new mode
Posted by Cédric Le Goater 1 year, 10 months ago
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)

Klaus made a proposal to add support for multi master in the I2C core
and the Aspeed I2C model. The last patches add the required bits to
let this happen.  

Thanks,

C.

Changes in v2:

 - reworked I2C avocado tests
 - dropped ctrl_global_rsvd property
 - removed support for multiple masters from Klaus. this change should
   come in its own series.
  

Cédric Le Goater (8):
  aspeed: Remove fake RTC device on ast2500-evb
  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 ast2500-evb
  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

Joe Komlodi (6):
  hw/registerfields: Add shared fields macros
  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 (2):
  hw/i2c/aspeed: rework raise interrupt trace event
  hw/i2c/aspeed: add DEV_ADDR in old register mode

Troy Lee (1):
  aspeed: Add I2C buses to AST1030 model

 include/hw/i2c/aspeed_i2c.h         | 289 +++++++++-
 include/hw/registerfields.h         |  70 +++
 hw/arm/aspeed.c                     |  17 +-
 hw/arm/aspeed_ast10x0.c             |  18 +
 hw/i2c/aspeed_i2c.c                 | 820 +++++++++++++++++-----------
 hw/i2c/trace-events                 |   2 +-
 tests/avocado/boot_linux_console.py |  43 --
 tests/avocado/machine_aspeed.py     | 136 +++++
 8 files changed, 1030 insertions(+), 365 deletions(-)

-- 
2.35.3