Hello Joe,

On 3/31/22 06:32, Joe Komlodi wrote:
Hi all,

This series migrates the Aspeed I2C controller to use the register API,

I like the idea but it's an earthquake in the I2C model and they are other
patchsets on the way. Let's wait a bit before changing it all.

and then adds new mode support.

New mode has some behavior changes and a register layout change compared
to old mode.

Troy sent a similar proposal. Did you have a look ?

  http://patchwork.ozlabs.org/project/qemu-devel/list/?series=291804

Thanks,

C.


The series starts by adding "shared field" macros to help simplify logic
when adding new mode.
Generally, the macros are to be used in cases where register locations
change depending on what mode a peripheral is operating in, but
the fields in those registers have the same offsets.
Specifically, this happens very frequently with new and old I2C modes on
Aspeed I2C.

After that we migrate over to the register API and then add new mode
support.

Thanks!
Joe

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

  hw/arm/aspeed_ast2600.c     |   2 +
  hw/i2c/aspeed_i2c.c         | 792 ++++++++++++++++++++++--------------
  hw/i2c/trace-events         |   2 +-
  include/hw/i2c/aspeed_i2c.h | 282 ++++++++++++-
  include/hw/registerfields.h |  70 ++++
  5 files changed, 828 insertions(+), 320 deletions(-)



Reply via email to